diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index d29a4c2d96ea..46492e19abe6 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -30,7 +30,7 @@ jobs: run_linters: name: Run Linters needs: start_gate - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 steps: @@ -75,6 +75,7 @@ jobs: bash tools/ci/install_node.sh bash tools/ci/install/install_spaceman_dmm.sh dreamchecker bash tools/ci/install_ripgrep.sh + sudo apt install -y python3-pip tools/bootstrap/python -c '' - name: Give Linters A Go id: linter-setup @@ -140,19 +141,25 @@ jobs: options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - uses: actions/checkout@v4 + - name: Restore Flyway + uses: actions/cache@v4 + with: + path: ~/flyway + key: ${{ runner.os }}-flyway-${{ hashFiles('dependencies.sh') }} - name: Restore BYOND cache uses: actions/cache@v4 with: path: ~/BYOND key: ${{ runner.os }}-byond-${{ hashFiles('dependencies.sh') }} + - name: Install flyway + run: | + bash tools/ci/install/install_flyway.sh - name: Setup database run: | sudo systemctl start mysql - mysql -u root -proot -e 'CREATE DATABASE ss13_ci;' - mysql -u root -proot ss13_ci < SQL/database_schema_prefixed.sql - mysql -u root -proot ss13_ci < SQL/unified_schema.sql - # mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' - # mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql + mysql -u root -proot -e 'CREATE DATABASE ss13;' + source dependencies.sh + ~/flyway/flyway-$FLYWAY_VERSION/flyway -user=root -password=root -url=jdbc:mariadb://localhost:3306/ss13 -locations="filesystem:sql/migrations" migrate - name: Install rust-g run: | bash tools/ci/install/install_rust_g.sh diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 87869168fcf6..44df201905e9 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,6 +8,7 @@ "donkie.vscode-tgstation-test-adapter", "anturk.dmi-editor", "aaron-bond.better-comments", - "ss13.opendream" + "ss13.opendream", + "tamasfe.even-better-toml" ] } diff --git a/README.md b/README.md index b0228569fead..a957b846c105 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,12 @@ On **May 9, 2022** we have changed the way to compile the codebase. ## SQL Setup The SQL backend for the library and stats tracking requires a MariaDB server. -Your server details go in /config/legacy/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql. -More detailed setup instructions arecoming soon, for now ask in our Discord. +Your server details go in /config/legacy/dbconfig.txt. + +Flyway is used for setup and migration. Run the migrations in `sql/migrations` against your database, and everything should just work. +We do not use table prefixes. + +More detailed setup instructions are coming soon, for now ask in our Discord. todo: update this section @@ -62,6 +66,7 @@ These are also the folders you are likely going to encounter while managing the - /players: player data, like saves and characters get dumped in here - /tmp: server scratch space - /assets - for asset generation + - /config - used as scratch space for config You only need to make the top level folders (e.g. config, data) static folders in TGS4. diff --git a/SQL/database_changelog.md b/SQL/database_changelog.md deleted file mode 100644 index 12b3f4cbad87..000000000000 --- a/SQL/database_changelog.md +++ /dev/null @@ -1,29 +0,0 @@ -# Changelog - -This covers the **game** database. The unified database has no unified schema + changelog yet. - -## Schema Versioning - -Any time you make a change to the schema files, remember to increment the database schema version. Generally increment the minor number, major should be reserved for significant changes to the schema. Both values go up to 255. - -The latest database version is 5.12; The query to update the schema revision table is: - -INSERT INTO `schema_revision` (`major`, `minor`) VALUES (5, 12); -or -INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (5, 12); - -In any query remember to add a prefix to the table names if you use one. - -## Changelog - -### 6/16/22 - 1.1 - silicons - -Database migrated to DBCore. Schema will start at MAJOR 1, MINOR 1. - -### 11/21/22 - 1.2 - silicons - -`persist_keyed_strings` added. - -### 2/4/23 - 1.3 - silicons - -`character` table added. diff --git a/SQL/database_schema.sql b/SQL/database_schema.sql deleted file mode 100644 index f1b50df6fd40..000000000000 --- a/SQL/database_schema.sql +++ /dev/null @@ -1,439 +0,0 @@ -/** - * make sure to bump schema version and mark changes in database_changelog.md! - * - * default prefix is rp_ - * find replace case sensitive %_PREFIX_% - * PRESERVE ANY vr_'s! We need to replace those tables and features at some point, that's how we konw. - **/ - --- core -- - --- --- Table structure for table `schema_revision` --- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%schema_revision` ( - `major` TINYINT(3) unsigned NOT NULL, - `minor` TINYINT(3) unsigned NOT NULL, - `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`major`, `minor`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- persistence -- - --- SSpersistence modules/bulk_entity -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_bulk_entity` ( - `id` INT(24) NOT NULL AUTO_INCREMENT, - `generation` INT(11) NOT NULL, - `persistence_key` VARCHAR(64) NOT NULL, - `level_id` VARCHAR(64) NOT NULL, - `data` MEDIUMTEXT, - `round_id` INT(11) NOT NULL, - PRIMARY KEY (`id`), - INDEX(`level_id`, `generation`, `persistence_key`), - INDEX(`level_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- SSpersistence modules/level_objects -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_static_level_objects` ( - `generation` INT(11) NOT NULL, - `object_id` VARCHAR(64) NOT NULL, - `level_id` VARCHAR(64) NOT NULL, - `data` MEDIUMTEXT NOT NULL, - PRIMARY KEY(`generation`, `object_id`, `level_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- SSpersistence modules/level_objects -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_static_map_objects` ( - `generation` INT(11) NOT NULL, - `object_id` VARCHAR(64) NOT NULL, - `map_id` VARCHAR(64) NOT NULL, - `data` MEDIUMTEXT NOT NULL, - PRIMARY KEY(`generation`, `object_id`, `map_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- SSpersistence modules/level_objects -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_static_global_objects` ( - `generation` INT(11) NOT NULL, - `object_id` VARCHAR(64) NOT NULL, - `data` MEDIUMTEXT NOT NULL, - PRIMARY KEY(`generation`, `object_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- SSpersistence modules/level_objects -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_dynamic_objects` ( - `generation` INT(11) NOT NULL, - `object_id` INT(24) NOT NULL AUTO_INCREMENT, - `level_id` VARCHAR(64) NOT NULL, - `prototype_id` VARCHAR(256) NOT NULL, - `status` INT(24) NOT NULL DEFAULT 0, - `data` MEDIUMTEXT NOT NULL, - `x` INT(8) NOT NULL, - `y` INT(8) NoT NULL, - PRIMARY KEY(`object_id`, `generation`), - INDEX(`object_id`), - INDEX(`level_id`, `generation`), - INDEX(`prototype_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- SSpersistence modules/spatial_metadata -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_level_metadata` ( - `created` DATETIME NOT NULL DEFAULT Now(), - `saved` DATETIME NOT NULL, - `saved_round_id` INT(11) NOT NULL, - `level_id` VARCHAR(64) NOT NULL, - `data` MEDIUMTEXT NOT NULL, - `generation` INT(11) NOT NULL, - PRIMARY KEY(`level_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- SSpersistence modules/string_kv -CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_string_kv` ( - `created` DATETIME NOT NULL DEFAULT Now(), - `modified` DATETIME NOT NULL, - `key` VARCHAR(64) NOT NULL, - `value` MEDIUMTEXT NULL, - `group` VARCHAR(64) NOT NULL, - `revision` INT(11) NOT NULL, - PRIMARY KEY(`key`, `group`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- photography -- - --- picture table -- --- used to store data about pictures -- --- hash is in sha1 format. -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%pictures` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `hash` char(40) NOT NULL, - `created` datetime NOT NULL DEFAULT Now(), - `width` int NOT NULL, - `height` int NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `hash` (`hash`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- photograph table -- --- used to store data about photographs -- --- picture is picture hash in picture table -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%photographs` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `picture` char(40) NOT NULL, - `created` datetime NOT NULL DEFAULT Now(), - `scene` MEDIUMTEXT null, - `desc` MEDIUMTEXT null, - CONSTRAINT `linked_picture` FOREIGN KEY (`picture`) - REFERENCES `%_PREFIX_%pictures` (`hash`) - ON DELETE CASCADE - ON UPDATE CASCADE, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- Players -- - --- Player lookup table -- --- Used to look up player ID from ckey, as well as -- --- store last computerid/ip for a ckey. -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%player_lookup` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `firstseen` datetime NOT NULL, - `lastseen` datetime NOT NULL, - `ip` varchar(18) NOT NULL, - `computerid` varchar(32) NOT NULL, - `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', - `playerid` int(11), - PRIMARY KEY (`id`), - UNIQUE KEY `ckey` (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- Primary player table -- --- Allows for one-to-many player-ckey association. -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%player` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `flags` int(24) NOT NULL DEFAULT 0, - `firstseen` datetime NOT NULL DEFAULT Now(), - `lastseen` datetime NOT NULL, - `misc` MEDIUMTEXT NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- Playtime / JEXP -- - --- Role Time Table - Master -- --- Stores total role time. -- - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%playtime` ( - `player` INT(11) NOT NULL, - `roleid` VARCHAR(64) NOT NULL, - `minutes` INT UNSIGNED NOT NULL, - PRIMARY KEY(`player`, `roleid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- Role Time - Logging -- --- Stores changes in role time -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%playtime_log` ( - `player` INT(11), - `id` BIGINT(20) NOT NULL AUTO_INCREMENT, - `roleid` VARCHAR(64) NOT NULL, - `delta` INT(11) NOT NULL, - `datetime` TIMESTAMP NOT NULL DEFAULT NOW() ON UPDATE NOW(), - PRIMARY KEY (`id`), - KEY `player` (`player`), - KEY `roleid` (`roleid`), - KEY `datetime` (`datetime`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -DELIMITER $$ -CREATE TRIGGER `playtimeTlogupdate` AFTER UPDATE ON `%_PREFIX_%playtime` FOR EACH ROW BEGIN INSERT into `%_PREFIX_%playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes-OLD.minutes); -END -$$ -CREATE TRIGGER `playtimeTloginsert` AFTER INSERT ON `%_PREFIX_%playtime` FOR EACH ROW BEGIN INSERT into `%_PREFIX_%playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes); -END -$$ -CREATE TRIGGER `playtimeTlogdelete` AFTER DELETE ON `%_PREFIX_%playtime` FOR EACH ROW BEGIN INSERT into `%_PREFIX_%playtime_log` (player, roleid, delta) VALUES (OLD.player, OLD.roleid, 0-OLD.minutes); -END -$$ -DELIMITER ; - - --- Preferences -- - --- Stores game preferences -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%game_preferences` ( - `player` INT(11) NOT NULL, - `entries` MEDIUMTEXT NOT NULL, - `misc` MEDIUMTEXT NOT NULL, - `keybinds` MEDIUMTEXT NOT NULL, - `toggles` MEDIUMTEXT NOT NULL, - `modified` DATETIME NOT NULL, - `version` INT(11) NOT NULL, - PRIMARY KEY (`player`), - CONSTRAINT `linked_player` FOREIGN KEY (`player`) - REFERENCES `%_PREFIX_%player` (`id`) - ON DELETE CASCADE - ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- Security - Ipintel -- - --- Ipintel Cache Table -- --- Stores cache entries for IPIntel -- --- IP is in INET_ATON. -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%ipintel` ( - `ip` INT(10) unsigned NOT NULL, - `date` TIMESTAMP NOT NULL DEFAULT NOW() ON UPDATE NOW(), - `intel` double NOT NULL DEFAULT '0', - PRIMARY KEY (`ip`), - KEY `idx_ipintel` (`ip`, `intel`, `date`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- --- Table structure for table `round` --- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%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, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- Connection log -- --- Logs all connections to the server. -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%connection_log` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `serverip` varchar(45) NOT NULL, - `ckey` varchar(32) NOT NULL, - `ip` varchar(45) NOT NULL, - `computerid` varchar(32) NOT NULL, - PRIMARY KEY(`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - --- /datum/character - Character Table -- -CREATE TABLE IF NOT EXISTS `%_PREFIX_%character` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `created` DATETIME NOT NULL DEFAULT Now(), - `last_played` DATETIME NULL, - `last_persisted` DATETIME NULL, - `playerid` INT(11) NOT NULL, - `canonical_name` VARCHAR(128) NOT NULL, - `persist_data` MEDIUMTEXT NULL, - `character_type` VARCHAR(64) NOT NULL, - PRIMARY KEY(`id`), - CONSTRAINT `character_has_player` FOREIGN KEY (`playerid`) - REFERENCES `%_PREFIX_%player` (`id`) - ON DELETE CASCADE - ON UPDATE CASCADE, - UNIQUE (`playerid`, `canonical_name`, `character_type`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%admin` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `rank` varchar(32) NOT NULL DEFAULT 'Administrator', - `level` int(2) NOT NULL DEFAULT '0', - `flags` int(16) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%admin_log` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `adminckey` varchar(32) NOT NULL, - `adminip` varchar(18) NOT NULL, - `log` text NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%ban` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `bantime` datetime NOT NULL, - `serverip` varchar(32) NOT NULL, - `bantype` varchar(32) NOT NULL, - `reason` text NOT NULL, - `job` varchar(32) DEFAULT NULL, - `duration` int(11) NOT NULL, - `rounds` int(11) DEFAULT NULL, - `expiration_time` datetime NOT NULL, - `ckey` varchar(32) NOT NULL, - `computerid` varchar(32) NOT NULL, - `ip` varchar(32) NOT NULL, - `a_ckey` varchar(32) NOT NULL, - `a_computerid` varchar(32) NOT NULL, - `a_ip` varchar(32) NOT NULL, - `who` text NOT NULL, - `adminwho` text NOT NULL, - `edits` text, - `unbanned` tinyint(1) DEFAULT NULL, - `unbanned_datetime` datetime DEFAULT NULL, - `unbanned_ckey` varchar(32) DEFAULT NULL, - `unbanned_computerid` varchar(32) DEFAULT NULL, - `unbanned_ip` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%feedback` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `time` datetime NOT NULL, - `round_id` int(8) NOT NULL, - `var_name` varchar(32) NOT NULL, - `var_value` int(16) DEFAULT NULL, - `details` text, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%poll_option` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `pollid` int(11) NOT NULL, - `text` varchar(255) NOT NULL, - `percentagecalc` tinyint(1) NOT NULL DEFAULT '1', - `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, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%poll_question` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `polltype` varchar(16) NOT NULL DEFAULT 'OPTION', - `starttime` datetime NOT NULL, - `endtime` datetime NOT NULL, - `question` varchar(255) NOT NULL, - `adminonly` tinyint(1) DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%poll_textreply` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `pollid` int(11) NOT NULL, - `ckey` varchar(32) NOT NULL, - `ip` varchar(18) NOT NULL, - `replytext` text NOT NULL, - `adminrank` varchar(32) NOT NULL DEFAULT 'Player', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%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(255) NOT NULL, - `ip` varchar(16) NOT NULL, - `adminrank` varchar(32) NOT NULL, - `rating` int(2) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%privacy` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `ckey` varchar(32) NOT NULL, - `option` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%death` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `pod` TEXT NOT NULL COMMENT 'Place of death' , - `coord` TEXT NOT NULL COMMENT 'X, Y, Z POD' , - `tod` DATETIME NOT NULL COMMENT 'Time of death' , - `job` TEXT NOT NULL , - `special` TEXT NOT NULL , - `name` TEXT NOT NULL , - `byondkey` TEXT NOT NULL , - `laname` TEXT NOT NULL COMMENT 'Last attacker name' , - `lakey` TEXT NOT NULL COMMENT 'Last attacker key' , - `gender` TEXT NOT NULL , - `bruteloss` INT(11) NOT NULL , - `brainloss` INT(11) NOT NULL , - `fireloss` INT(11) NOT NULL , - `oxyloss` INT(11) NOT NULL , - PRIMARY KEY (`id`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%karma` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `spendername` TEXT NOT NULL , - `spenderkey` TEXT NOT NULL , - `receivername` TEXT NOT NULL , - `receiverkey` TEXT NOT NULL , - `receiverrole` TEXT NOT NULL , - `receiverspecial` TEXT NOT NULL , - `isnegative` TINYINT(1) NOT NULL , - `spenderip` TEXT NOT NULL , - `time` DATETIME NOT NULL , - PRIMARY KEY (`id`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%karmatotals` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `byondkey` TEXT NOT NULL , - `karma` INT(11) NOT NULL , - PRIMARY KEY (`id`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%library` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `author` TEXT NOT NULL , - `title` TEXT NOT NULL , - `content` TEXT NOT NULL , - `category` TEXT NOT NULL , - PRIMARY KEY (`id`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - -CREATE TABLE IF NOT EXISTS `%_PREFIX_%population` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `playercount` INT(11) NULL DEFAULT NULL , - `admincount` INT(11) NULL DEFAULT NULL , - `time` DATETIME NOT NULL , - PRIMARY KEY (`id`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; diff --git a/SQL/unified_schema.sql b/SQL/unified_schema.sql deleted file mode 100644 index 32441c5e22e6..000000000000 --- a/SQL/unified_schema.sql +++ /dev/null @@ -1,17 +0,0 @@ -/** - * make sure to bump schema version and mark changes in database_changelog.md! - * - * you MUST use unified_ as a prefix. - * - * unified schema for citadel, **sync changes to both servers.** - **/ - --- --- Table structure for table `schema_revision` --- -CREATE TABLE IF NOT EXISTS `unified_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=utf8mb4 COLLATE=utf8mb4_general_ci; diff --git a/citadel.dme b/citadel.dme index d5f040c1d312..b40ea5e5b4a5 100644 --- a/citadel.dme +++ b/citadel.dme @@ -52,6 +52,7 @@ #include "code\__DEFINES\fonts.dm" #include "code\__DEFINES\frames.dm" #include "code\__DEFINES\gamemode.dm" +#include "code\__DEFINES\gradient.dm" #include "code\__DEFINES\holidays.dm" #include "code\__DEFINES\holomap.dm" #include "code\__DEFINES\icon_smoothing.dm" @@ -147,7 +148,6 @@ #include "code\__DEFINES\client\player_flags.dm" #include "code\__DEFINES\client\playtime.dm" #include "code\__DEFINES\color\color.dm" -#include "code\__DEFINES\color\colour_priority.dm" #include "code\__DEFINES\color\lights.dm" #include "code\__DEFINES\color\lum.dm" #include "code\__DEFINES\combat\armor.dm" @@ -206,6 +206,7 @@ #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movement.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_radiation.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_x_act.dm" +#include "code\__DEFINES\dcs\signals\signals_atom\signals_movable-update_icon.dm" #include "code\__DEFINES\dcs\signals\signals_item\signals_item-clickchain.dm" #include "code\__DEFINES\dcs\signals\signals_item\signals_item-interaction.dm" #include "code\__DEFINES\dcs\signals\signals_item\signals_item_economy.dm" @@ -434,7 +435,6 @@ #include "code\__HELPERS\game\turfs\offsets.dm" #include "code\__HELPERS\graphs\astar.dm" #include "code\__HELPERS\icons\alpha.dm" -#include "code\__HELPERS\icons\color.dm" #include "code\__HELPERS\icons\download.dm" #include "code\__HELPERS\icons\flatten.dm" #include "code\__HELPERS\icons\hologram.dm" @@ -547,7 +547,6 @@ #include "code\controllers\configuration\entries\skills.dm" #include "code\controllers\configuration\entries\urls.dm" #include "code\controllers\configuration_old\configuration.dm" -#include "code\controllers\configuration_old\configuration_vr.dm" #include "code\controllers\observer_listener\atom\observer.dm" #include "code\controllers\repository\designs.dm" #include "code\controllers\repository\flooring.dm" @@ -584,7 +583,6 @@ #include "code\controllers\subsystem\grids.dm" #include "code\controllers\subsystem\holomaps.dm" #include "code\controllers\subsystem\icon_smooth.dm" -#include "code\controllers\subsystem\inactivity.dm" #include "code\controllers\subsystem\input.dm" #include "code\controllers\subsystem\ipintel.dm" #include "code\controllers\subsystem\legacy_atc.dm" @@ -693,6 +691,12 @@ #include "code\controllers\subsystem\sound\_sound.dm" #include "code\controllers\subsystem\sound\channel_manager.dm" #include "code\controllers\subsystem\sound\soundbyte_manager.dm" +#include "code\controllers\toml_config\toml_config_entry.dm" +#include "code\controllers\toml_config\toml_configuration.dm" +#include "code\controllers\toml_config\entries\backend-logging-toggles.dm" +#include "code\controllers\toml_config\entries\backend-logging.dm" +#include "code\controllers\toml_config\entries\backend-repository.dm" +#include "code\controllers\toml_config\entries\backend.dm" #include "code\datums\ability.dm" #include "code\datums\ability_handler.dm" #include "code\datums\access.dm" @@ -814,6 +818,9 @@ #include "code\datums\components\items\passive_parry.dm" #include "code\datums\components\items\wielding.dm" #include "code\datums\components\mobs\block_frame.dm" +#include "code\datums\components\mobs\mob_feign_impairment.dm" +#include "code\datums\components\mobs\mob_self_horizontal_inversion.dm" +#include "code\datums\components\mobs\mob_self_vertical_inversion.dm" #include "code\datums\components\mobs\parry_frame.dm" #include "code\datums\components\movable\aquarium.dm" #include "code\datums\components\movable\spatial_grid.dm" @@ -1064,7 +1071,7 @@ #include "code\game\atoms\atom-defense.dm" #include "code\game\atoms\atom-examine.dm" #include "code\game\atoms\atom-logging.dm" -#include "code\game\atoms\atom_vv.dm" +#include "code\game\atoms\atom-vv.dm" #include "code\game\atoms\atoms_initializing_EXPENSIVE.dm" #include "code\game\atoms\buckling.dm" #include "code\game\atoms\defense_old.dm" @@ -1076,6 +1083,7 @@ #include "code\game\atoms\movable\movable-logging.dm" #include "code\game\atoms\movable\movable-movement.dm" #include "code\game\atoms\movable\movable-throw.dm" +#include "code\game\atoms\movable\movable-update_icon.dm" #include "code\game\atoms\movable\movable.dm" #include "code\game\atoms\movable\pulling.dm" #include "code\game\atoms\movable\vv.dm" @@ -1785,6 +1793,7 @@ #include "code\game\objects\items\storage\wallets.dm" #include "code\game\objects\items\storage\medical\firstaid.dm" #include "code\game\objects\items\storage\medical\hypokit.dm" +#include "code\game\objects\items\storage\misc\survival.dm" #include "code\game\objects\items\storage\misc_legacy\bible.dm" #include "code\game\objects\items\storage\misc_legacy\fancy.dm" #include "code\game\objects\items\storage\misc_legacy\laundry_basket.dm" @@ -2028,6 +2037,10 @@ #include "code\game\objects\structures\tables\update_triggers.dm" #include "code\game\objects\systems\_system.dm" #include "code\game\objects\systems\cell_slot.dm" +#include "code\game\objects\systems\storage\storage-filters.dm" +#include "code\game\objects\systems\storage\storage-indirection.dm" +#include "code\game\objects\systems\storage\storage-indirection_holder.dm" +#include "code\game\objects\systems\storage\storage-limits.dm" #include "code\game\objects\systems\storage\storage-screen_object.dm" #include "code\game\objects\systems\storage\storage-ui.dm" #include "code\game\objects\systems\storage\storage.dm" @@ -2254,11 +2267,13 @@ #include "code\modules\admin\verbs\debug\fucky_wucky.dm" #include "code\modules\admin\verbs\debug\profiling.dm" #include "code\modules\admin\verbs\debug\reestablish_db_connection.dm" +#include "code\modules\admin\verbs\debug\reload_configuration.dm" #include "code\modules\admin\verbs\debug\spawn.dm" #include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" #include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" #include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm" #include "code\modules\admin\verbs\SDQL2\wrappers\map.dm" +#include "code\modules\admin\verbs\SDQL2\wrappers\math.dm" #include "code\modules\admin\verbs\server\admin_reboot.dm" #include "code\modules\admin\view_variables\admin_delete.dm" #include "code\modules\admin\view_variables\color_matrix_editor.dm" @@ -2471,10 +2486,10 @@ #include "code\modules\atmospherics\machinery\portable\powered.dm" #include "code\modules\atmospherics\machinery\portable\pump.dm" #include "code\modules\atmospherics\machinery\portable\scrubber.dm" -#include "code\modules\automata\__automata.dm" -#include "code\modules\automata\_wave.dm" -#include "code\modules\automata\explosion.dm" -#include "code\modules\automata\sonar.dm" +#include "code\modules\automata\automata.dm" +#include "code\modules\automata\types\explosion.dm" +#include "code\modules\automata\types\sonar.dm" +#include "code\modules\automata\types\wave.dm" #include "code\modules\awaymissions\bluespaceartillery.dm" #include "code\modules\awaymissions\corpse.dm" #include "code\modules\awaymissions\exile.dm" @@ -2662,6 +2677,7 @@ #include "code\modules\clothing\suits\aliens\vox.dm" #include "code\modules\clothing\under\_under.dm" #include "code\modules\clothing\under\color.dm" +#include "code\modules\clothing\under\gear_harness.dm" #include "code\modules\clothing\under\imperial_vr.dm" #include "code\modules\clothing\under\misc.dm" #include "code\modules\clothing\under\miscellaneous.dm" @@ -3142,6 +3158,7 @@ #include "code\modules\jobs\job_types\station\civillian\internals_affairs_agent.dm" #include "code\modules\jobs\job_types\station\civillian\librarian.dm" #include "code\modules\jobs\job_types\station\civillian\mime.dm" +#include "code\modules\jobs\job_types\station\civillian\outsider.dm" #include "code\modules\jobs\job_types\station\civillian\pilot.dm" #include "code\modules\jobs\job_types\station\command\blueshield.dm" #include "code\modules\jobs\job_types\station\command\captain.dm" @@ -3555,7 +3572,6 @@ #include "code\modules\mining\drilling\drill.dm" #include "code\modules\mining\drilling\scanner.dm" #include "code\modules\mining\excavation\mine_outcrops.dm" -#include "code\modules\mining\excavation\mineral_effect.dm" #include "code\modules\mining\machinery\machine_input_output_plates.dm" #include "code\modules\mining\machinery\machine_processing.dm" #include "code\modules\mining\machinery\machine_stacking.dm" @@ -3607,6 +3623,7 @@ #include "code\modules\mob\mob-keybind-triggers.dm" #include "code\modules\mob\mob-login.dm" #include "code\modules\mob\mob-logout.dm" +#include "code\modules\mob\mob-status_procs.dm" #include "code\modules\mob\mob.dm" #include "code\modules\mob\mob_defines.dm" #include "code\modules\mob\mob_helpers.dm" @@ -4138,6 +4155,9 @@ #include "code\modules\mob\observer\dead\orbit.dm" #include "code\modules\mob\observer\dead\perspective.dm" #include "code\modules\mob\observer\dead\say.dm" +#include "code\modules\mob\verbs\feign_impairment.dm" +#include "code\modules\mob\verbs\horizontal_invert_self.dm" +#include "code\modules\mob\verbs\vertical_invert_self.dm" #include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\modular_computer\core.dm" #include "code\modules\modular_computers\computers\modular_computer\damage.dm" @@ -4202,12 +4222,14 @@ #include "code\modules\movespeed\movespeed_modifier.dm" #include "code\modules\movespeed\modifiers\misc.dm" #include "code\modules\movespeed\modifiers\mob.dm" -#include "code\modules\multiz\atoms.dm" +#include "code\modules\multiz\atom-z_fall.dm" +#include "code\modules\multiz\atom-z_move.dm" #include "code\modules\multiz\basic_legacy.dm" #include "code\modules\multiz\core.dm" -#include "code\modules\multiz\falling.dm" #include "code\modules\multiz\movement.dm" -#include "code\modules\multiz\turf.dm" +#include "code\modules\multiz\turf-multiz_misc.dm" +#include "code\modules\multiz\turf-z_fall.dm" +#include "code\modules\multiz\turf-z_move.dm" #include "code\modules\multiz\structures\hoist.dm" #include "code\modules\multiz\structures\ladder.dm" #include "code\modules\multiz\structures\pipes.dm" @@ -4357,6 +4379,7 @@ #include "code\modules\paperwork\faxmachine_vr.dm" #include "code\modules\paperwork\filingcabinet.dm" #include "code\modules\paperwork\folders.dm" +#include "code\modules\paperwork\folders_premade.dm" #include "code\modules\paperwork\handlabeler.dm" #include "code\modules\paperwork\paper_bundle.dm" #include "code\modules\paperwork\paperbin.dm" @@ -5386,6 +5409,7 @@ #include "interface\menus\main.dm" #include "maps\endeavour\endeavour-areas.dm" #include "maps\endeavour\endeavour-overmap.dm" +#include "maps\endeavour\endeavour-papers.dm" #include "maps\endeavour\endeavour-sectors.dm" #include "maps\endeavour\endeavour-shuttle-landmarks.dm" #include "maps\endeavour\endeavour-turbolifts.dm" @@ -5415,6 +5439,9 @@ #include "maps\rift\telecomms.dm" #include "maps\rift\titlescreens.dm" #include "maps\sectors\debrisfield_192\debrisfield_192.dm" +#include "maps\sectors\delerict_casino\delerict_casino-areas.dm" +#include "maps\sectors\delerict_casino\delerict_casino-misc.dm" +#include "maps\sectors\delerict_casino\delerict_casino.dm" #include "maps\sectors\desert_192\desert_192.dm" #include "maps\sectors\frozen_192\frozen_192.dm" #include "maps\sectors\gaia_192\gaia_192.dm" diff --git a/code/__DEFINES/_cooldowns.dm b/code/__DEFINES/_cooldowns.dm index 2355b1005b8d..a066d0e543eb 100644 --- a/code/__DEFINES/_cooldowns.dm +++ b/code/__DEFINES/_cooldowns.dm @@ -90,3 +90,6 @@ // admin verb cooldowns #define CD_INTERNET_SOUND "internet_sound" + +//* /mob +#define CD_INDEX_MOB_VERB_INVERT_SELF "mob-verb-invert-self" diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm index 16b87969854f..715203e7e45b 100644 --- a/code/__DEFINES/access.dm +++ b/code/__DEFINES/access.dm @@ -411,6 +411,35 @@ STANDARD_ACCESS_DATUM(ACCESS_FACTION_PIRATE, faction/pirate, "Pirate") #define ACCESS_FACTION_TRADER 160//General Beruang Trader Access STANDARD_ACCESS_DATUM(ACCESS_FACTION_TRADER, faction/trader, "Trader") +//? Motel + +#define ACCESS_FACTION_MOTEL1 161//Motel-Inn-Room1 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL1, faction/motelroom1, "Nebula-Room-1") + +#define ACCESS_FACTION_MOTEL2 162//Motel-Inn-Room2 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL2, faction/motelroom2, "Nebula-Room-2") + +#define ACCESS_FACTION_MOTEL3 163//Motel-Inn-Room3 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL3, faction/motelroom3, "Nebula-Room-3") + +#define ACCESS_FACTION_MOTEL4 164//Motel-Inn-Room4 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL4, faction/motelroom4, "Nebula-Room-4") + +#define ACCESS_FACTION_MOTEL5 165//Motel-Inn-Room5 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL5, faction/motelroom5, "Nebula-Room-5") + +#define ACCESS_FACTION_MOTEL6 166//Motel-Inn-Room6 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL6, faction/motelroom6, "Nebula-Room-6") + +#define ACCESS_FACTION_MOTEL7 167//Motel-Inn-Room7 +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL7, faction/motelroom7, "Nebula-Room-7") + +#define ACCESS_FACTION_MOTEL8 169//Motel-Inn-Room8 168 is taken by Pirate +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL8, faction/motelroom8, "Nebula-Room-8") + +#define ACCESS_FACTION_MOTEL_VIP 170//Motel-Inn-VIP +STANDARD_ACCESS_DATUM(ACCESS_FACTION_MOTEL_VIP, faction/motelroomvip, "Nebula-Room-VIP") + //? Gaia Station #define ACCESS_GAIA_GUEST 250//Gaia Station Basic Access @@ -449,3 +478,14 @@ STANDARD_ACCESS_DATUM(ACCESS_SPECIAL_SILICONS, special/silicons, "Synthetic") #define ACCESS_NETWORK 404 STANDARD_ACCESS_DATUM(ACCESS_NETWORK, misc/network, "Network") + +// POI + +#define ACCESS_CASINO_1 410 //Used for the Casino POI +STANDARD_ACCESS_DATUM(ACCESS_CASINO_1, misc/casinoPOI1, "Casino 1") + +#define ACCESS_CASINO_2 411 //Used for the Casino POI +STANDARD_ACCESS_DATUM(ACCESS_CASINO_2, misc/casinoPOI2, "Casino 2") + +#define ACCESS_CASINO_3 412 //Used for the Casino POI +STANDARD_ACCESS_DATUM(ACCESS_CASINO_3, misc/casinoPOI3, "Casino 3") diff --git a/code/__DEFINES/color/colour_priority.dm b/code/__DEFINES/color/colour_priority.dm deleted file mode 100644 index e88784987f89..000000000000 --- a/code/__DEFINES/color/colour_priority.dm +++ /dev/null @@ -1,11 +0,0 @@ -//different types of atom colorations -///only used by rare effects like greentext coloring mobs and when admins varedit color -#define ADMIN_COLOUR_PRIORITY 1 -///e.g. purple effect of the revenant on a mob, black effect when mob electrocuted -#define TEMPORARY_COLOUR_PRIORITY 2 -///color splashed onto an atom (e.g. paint on turf) -#define WASHABLE_COLOUR_PRIORITY 3 -///color inherent to the atom (e.g. blob color) -#define FIXED_COLOUR_PRIORITY 4 -///how many priority levels there are. -#define COLOUR_PRIORITY_AMOUNT 4 diff --git a/code/__DEFINES/controllers/_repository.dm b/code/__DEFINES/controllers/_repository.dm index b2f5702f7524..9f08048dc8d8 100644 --- a/code/__DEFINES/controllers/_repository.dm +++ b/code/__DEFINES/controllers/_repository.dm @@ -7,6 +7,9 @@ //* This is here in [code/__DEFINES/controllers/_repositories.dm] for compile order reasons. *// /datum/controller/subsystem/repository/proc/__init_repositories() +//* This is here in [code/__DEFINES/controllers/_repositories.dm] for compile order reasons. *// +/datum/controller/subsystem/repository/proc/__get_all_repositories() + // todo: redo recover logic; maybe /datum/controller as a whole should be brushed up #define REPOSITORY_DEF(what) \ GLOBAL_REAL(RS##what, /datum/controller/repository/##what); \ @@ -27,4 +30,12 @@ GLOBAL_REAL(RS##what, /datum/controller/repository/##what); \ ..(); \ RS##what.Initialize(); \ } \ +/datum/controller/subsystem/repository/__get_all_repositories() { \ + . = ..(); \ + . += RS##what; \ +} \ /datum/controller/repository/##what + +/// Returned from /datum/controller/repository's fetch_or_defer() if we don't have something +/// on hand, but also don't know that it doesn't exist. +#define REPOSITORY_FETCH_DEFER "defer" diff --git a/code/__DEFINES/controllers/dbcore.dm b/code/__DEFINES/controllers/dbcore.dm index afc6709805cc..19df14d5588f 100644 --- a/code/__DEFINES/controllers/dbcore.dm +++ b/code/__DEFINES/controllers/dbcore.dm @@ -17,6 +17,11 @@ */ #define DB_MINOR_VERSION 3 +//* Tables *// + +/// Prefixes are currently disabled. +#define DB_PREFIX_TABLE_NAME(TABLE) TABLE + //* Misc *// /// pass this into duplicate_key on mass_insert() to overwrite old values diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_movable-update_icon.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_movable-update_icon.dm new file mode 100644 index 000000000000..216daf08a302 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_movable-update_icon.dm @@ -0,0 +1,10 @@ +/** + * Anything relating to update icon/rendering + */ + +/// Called at the base of base_transform with the matrix that's being generated. +/// * Signature: (matrix/applying) +#define COMSIG_MOVABLE_BASE_TRANSFORM "movable-base_transform" +/// Called at the base of update_transform with the matrix that's being generated. +/// * Signature: (matrix/old_matrix, matrix/new_matrix) +#define COMSIG_MOVABLE_ON_UPDATE_TRANSFORM "movable-on_update_transform" diff --git a/code/__DEFINES/gradient.dm b/code/__DEFINES/gradient.dm new file mode 100644 index 000000000000..573a339880b9 --- /dev/null +++ b/code/__DEFINES/gradient.dm @@ -0,0 +1,4 @@ +// spacemandmm doesn't really implement gradient() right, so let's just handle that here yeah? +#define rgb_gradient(index, args...) UNLINT(gradient(args, index)) +#define hsl_gradient(index, args...) UNLINT(gradient(args, space = COLORSPACE_HSL, index)) +#define hsv_gradient(index, args...) UNLINT(gradient(args, space = COLORSPACE_HSV, index)) diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm index 69c30a577fb1..559c60888efc 100644 --- a/code/__DEFINES/icon_smoothing.dm +++ b/code/__DEFINES/icon_smoothing.dm @@ -26,7 +26,6 @@ DEFINE_BITFIELD(smoothing_flags, list( #define QUEUE_SMOOTH(thing_to_queue) if(IS_SMOOTH(thing_to_queue)) {SSicon_smooth.add_to_queue(thing_to_queue)} #define QUEUE_SMOOTH_NEIGHBORS(thing_to_queue) for(var/neighbor in orange(1, thing_to_queue)) {var/atom/atom_neighbor = neighbor; QUEUE_SMOOTH(atom_neighbor)} - //! Smoothing Internals #define NORTH_JUNCTION (1<<0) // NORTH diff --git a/code/__DEFINES/jobs/jobs.dm b/code/__DEFINES/jobs/jobs.dm index 2a31a90d9aaf..1d54713e0fcd 100644 --- a/code/__DEFINES/jobs/jobs.dm +++ b/code/__DEFINES/jobs/jobs.dm @@ -47,6 +47,7 @@ #define JOB_ID_LIBRARIAN "librarian" #define JOB_ID_LAWYER "lawyer" // IAA #define JOB_ID_ASSISTANT "assistant" +#define JOB_ID_OUTSIDER "traveler" #define JOB_ID_CLOWN "clown" #define JOB_ID_MIME "mime" diff --git a/code/__DEFINES/mapping/multiz.dm b/code/__DEFINES/mapping/multiz.dm index b43bdd839d77..51636b09d27f 100644 --- a/code/__DEFINES/mapping/multiz.dm +++ b/code/__DEFINES/mapping/multiz.dm @@ -1,4 +1,8 @@ -// fall_flags +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +//* fall_Flags *// + /// Falling should ignore anchored status #define FALL_IGNORE_ANCHORED (1<<0) /// this fall shouldn't incur any sort of self-damage for hitting the ground @@ -20,17 +24,25 @@ #define FALL_FLAGS_STOP (FALL_BLOCKED | FALL_RECOVERED | FALL_TERMINATED) /// there's a level above +/// * This works as long as SSmapping has its rebuild proc called after a load; given this is enforced +/// by SSmapping most of the time, this is usually fine. #define Z_HAS_ABOVE(z) (!isnull(SSmapping.cached_level_up[z])) /// there's a level below +/// * This works as long as SSmapping has its rebuild proc called after a load; given this is enforced +/// by SSmapping most of the time, this is usually fine. #define Z_HAS_BELOW(z) (!isnull(SSmapping.cached_level_down[z])) /// get turf below this turf, if any -/// we are at the mercy of zmimic when we do this. do not use in critical maploader code. +/// * this is a guesstimation +/// * we are at the mercy of zmimic when we do this. do not use in critical maploader code. #define TURF_BELOW_ISH(T) (T.below || T.below()) /// get turf above this turf, if any -/// we are at the mercy of zmimic when we do this. do not use in critical maploader code. +/// * this is a guesstimation +/// * we are at the mercy of zmimic when we do this. do not use in critical maploader code. #define TURF_ABOVE_ISH(T) (T.above || T.above()) -/// we should use get virtual step due to our x/y being border -/// we do not get step this, so use it on something **on** game world. (aka turf or on turf). +/// Checks if we're right next to the map transition border. +/// * Only valid for something on a turf. +/// +/// todo: support multi-tile objects #define AT_MAP_BORDER(A) (A.x == 2 || A.y == 2 || A.x == world.maxx - 1 || A.y == world.maxy - 1) diff --git a/code/__DEFINES/materials/helpers.dm b/code/__DEFINES/materials/helpers.dm index 70eafe784e50..793a43a26c31 100644 --- a/code/__DEFINES/materials/helpers.dm +++ b/code/__DEFINES/materials/helpers.dm @@ -1,14 +1,45 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2023 Citadel Station developers. *// -//* object checks +//* /datum/prototype/material declaration helpers *// + +#define DECLARE_MATERIAL(PATH_FRAGMENT) \ +/datum/prototype/material##PATH_FRAGMENT + +/** + * Generates material stacks for a material. + * + * The material must have: + * + * * a defined `display_name` + * * a defined `sheet_singular_name` + * * a defined `sheet_plural_name` + * * a defined `icon` + * * a defined `icon_stack_count` + */ +#define GENERATE_MATERIAL_STACKS(PATH_FRAGMENT) \ +/obj/item/stack/material##PATH_FRAGMENT { \ + name = /datum/prototype/material##PATH_FRAGMENT::name + " " + /datum/prototype/material##PATH_FRAGMENT::sheet_singular_name; \ + icon = /datum/prototype/material##PATH_FRAGMENT::icon; \ + icon_state = "stack-1"; \ + material = /datum/prototype/material##PATH_FRAGMENT; \ + no_variants = TRUE; \ + amount = 1; \ +} \ +/obj/item/stack/material##PATH_FRAGMENT/full_stack { \ + name = /datum/prototype/material##PATH_FRAGMENT::name + " " + /datum/prototype/material##PATH_FRAGMENT::sheet_plural_name; \ + icon_state = "stack"; \ + amount = 50; \ +} + +//* Material Traits - Checks *// /// We are ticking materials. #define IS_TICKING_MATERIALS(A) (A.atom_flags & ATOM_MATERIALS_TICKING) #define START_TICKING_MATERIALS(A) SSmaterials.add_ticked_object(src) #define STOP_TICKING_MATERIALS(A) SSmaterials.remove_ticked_object(src) -//* /atom level invocation of traits +//* Material Traits - /atom invocation *// /// Invocation of material traits /// A - the atom diff --git a/code/__DEFINES/mobs/iff.dm b/code/__DEFINES/mobs/iff.dm index 4edc9d365aa2..d28293dda514 100644 --- a/code/__DEFINES/mobs/iff.dm +++ b/code/__DEFINES/mobs/iff.dm @@ -60,6 +60,7 @@ #define MOB_IFF_FACTION_HIVEBOT "ai-hivebot" #define MOB_IFF_FACTION_SWARMER "ai-swarmer" +#define MOB_IFF_FACTION_CASINO "ai-casino" //? Alien factions diff --git a/code/__DEFINES/mobs/life.dm b/code/__DEFINES/mobs/life.dm index 8339578956fa..12ae1f8dd52b 100644 --- a/code/__DEFINES/mobs/life.dm +++ b/code/__DEFINES/mobs/life.dm @@ -55,3 +55,10 @@ #define ORGAN_DECAY_PER_SECOND_BRAIN (60 / (60 * 10)) // brain decays entirely over 10 minutes, or to lethal degrees in 5 +//? Health - General +/** Store the default minimum health, crit health, soft crit health + * These are currently only respected by carbons +*/ +#define MOB_MINIMUM_HEALTH -100 +#define MOB_CRITICAL_HEALTH -50 +#define MOB_SOFT_CRITICAL_HEALTH 0 diff --git a/code/__DEFINES/objects/objects.dm b/code/__DEFINES/objects/objects.dm index 65cdac7abb35..92cb1c25f747 100644 --- a/code/__DEFINES/objects/objects.dm +++ b/code/__DEFINES/objects/objects.dm @@ -1,16 +1,23 @@ //* This file is explicitly licensed under the MIT license. *// -//* Copyright (c) 2024 silicons *// +//* Copyright (c) 2024 Citadel Station Developers *// //* /obj/var/hides_underfloor /// do not change these willy-nilly, these are strings for the map editor. /// just Don't -#define OBJ_UNDERFLOOR_DISABLED "disabled" +/// * this is different from 'NEVER' +#define OBJ_UNDERFLOOR_UNSUPPORTED "unsupported" /// never underfloor, even if floor isn't plating #define OBJ_UNDERFLOOR_NEVER "never" -/// always underfloor, as long as floor isn't plating -#define OBJ_UNDERFLOOR_ALWAYS "always" +/// Should be underfloor, and is not currently underfloor. +/// * Setting to this at runtime is equal to setting to [OBJ_UNDERFLOOR_ACTIVE]. +/// The atom will automatically hide under the floor if the floor is covered. +#define OBJ_UNDERFLOOR_INACTIVE "inactive" +/// Should be underfloor, and is currently underfloor. +/// * Setting to this at runtime is equal to setting to [OBJ_UNDERFLOOR_INACTIVE]. +/// The atom will automatically hide under the floor if the floor is covered. +#define OBJ_UNDERFLOOR_ACTIVE "active" /// automatic /// /// * gets set to UNDERFLOOR_NEVER if we were made while the floor is intact @@ -18,6 +25,7 @@ #define OBJ_UNDERFLOOR_IF_CREATED_UNCOVERED "initially-covered" /// automatic /// +/// * This is what you usually want. /// * IF_CREATED_UNCOVERED, but always underfloor if made in mapload #define OBJ_UNDERFLOOR_UNLESS_PLACED_ONTOP "initially-underfloor" @@ -26,9 +34,10 @@ DEFINE_ENUM("obj_hides_underfloor", list( "hides_underfloor", ), ), list( - "Disabled" = OBJ_UNDERFLOOR_DISABLED, - "Never" = OBJ_UNDERFLOOR_NEVER, - "Always" = OBJ_UNDERFLOOR_ALWAYS, + "Unsupported" = OBJ_UNDERFLOOR_UNSUPPORTED, + "No" = OBJ_UNDERFLOOR_NEVER, + "Yes (Currently Uncovered)" = OBJ_UNDERFLOOR_INACTIVE, + "Yes (Currently Covered)" = OBJ_UNDERFLOOR_ACTIVE, "If Created Uncovered (Init Only)" = OBJ_UNDERFLOOR_IF_CREATED_UNCOVERED, "If Created Uncovered Or In Mapload (Init Only)" = OBJ_UNDERFLOOR_UNLESS_PLACED_ONTOP, )) diff --git a/code/__DEFINES/rust_g.dm b/code/__DEFINES/rust_g.dm index 36b814968752..cfb41fa39325 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -15,25 +15,36 @@ // On Windows, looks in the standard places for `rust_g.dll`. // On Linux, looks in `.`, `$LD_LIBRARY_PATH`, and `~/.byond/bin` for either of // `librust_g.so` (preferred) or `rust_g` (old). +// On OpenDream, `rust_g64.dll` / `librust_g64.so` are used instead. /* This comment bypasses grep checks */ /var/__rust_g +#ifndef OPENDREAM +#define RUST_G_BASE "rust_g" +#else +#define RUST_G_BASE "rust_g64" +#endif + /proc/__detect_rust_g() if (world.system_type == UNIX) - if (fexists("./librust_g.so")) + if (fexists("./lib[RUST_G_BASE].so")) // No need for LD_LIBRARY_PATH badness. - return __rust_g = "./librust_g.so" - else if (fexists("./rust_g")) + return __rust_g = "./lib[RUST_G_BASE].so" +#ifndef OPENDREAM + else if (fexists("./[RUST_G_BASE]")) // Old dumb filename. - return __rust_g = "./rust_g" - else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/rust_g")) + return __rust_g = "./[RUST_G_BASE]" + else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/[RUST_G_BASE]")) // Old dumb filename in `~/.byond/bin`. - return __rust_g = "rust_g" + return __rust_g = RUST_G_BASE +#endif else // It's not in the current directory, so try others - return __rust_g = "librust_g.so" + return __rust_g = "lib[RUST_G_BASE].so" else - return __rust_g = "rust_g" + return __rust_g = RUST_G_BASE + +#undef RUST_G_BASE #define RUST_G (__rust_g || __detect_rust_g()) #endif @@ -135,7 +146,7 @@ #define rustg_dmi_icon_states(fname) RUSTG_CALL(RUST_G, "dmi_icon_states")(fname) #define rustg_file_read(fname) RUSTG_CALL(RUST_G, "file_read")(fname) -#define rustg_file_exists(fname) RUSTG_CALL(RUST_G, "file_exists")(fname) +#define rustg_file_exists(fname) (RUSTG_CALL(RUST_G, "file_exists")(fname) == "true") #define rustg_file_write(text, fname) RUSTG_CALL(RUST_G, "file_write")(text, fname) #define rustg_file_append(text, fname) RUSTG_CALL(RUST_G, "file_append")(text, fname) #define rustg_file_get_line_count(fname) text2num(RUSTG_CALL(RUST_G, "file_get_line_count")(fname)) @@ -146,35 +157,15 @@ #define text2file(text, fname) rustg_file_append(text, "[fname]") #endif -/** - * Please see code/datums/math/vec2.dm. - */ -#define rustg_geometry_delaunay_triangulate_to_graph(point_json) RUSTG_CALL(RUST_G, "geometry_delaunay_triangulate_to_graph")(point_json) +/// Returns the git hash of the given revision, ex. "HEAD". +#define rustg_git_revparse(rev) RUSTG_CALL(RUST_G, "rg_git_revparse")(rev) /** - * Please see code/datums/math/vec2.dm. + * Returns the date of the given revision in the format YYYY-MM-DD. + * Returns null if the revision is invalid. */ -#define rustg_geometry_delaunay_voronoi_graph(packed) RUSTG_CALL(RUST_G, "geometry_delaunay_voronoi_graph")(packed) - -#define rustg_git_revparse(rev) RUSTG_CALL(RUST_G, "rg_git_revparse")(rev) #define rustg_git_commit_date(rev) RUSTG_CALL(RUST_G, "rg_git_commit_date")(rev) -#define rustg_hash_string(algorithm, text) RUSTG_CALL(RUST_G, "hash_string")(algorithm, text) -#define rustg_hash_file(algorithm, fname) RUSTG_CALL(RUST_G, "hash_file")(algorithm, fname) -#define rustg_hash_generate_totp(seed) RUSTG_CALL(RUST_G, "generate_totp")(seed) -#define rustg_hash_generate_totp_tolerance(seed, tolerance) RUSTG_CALL(RUST_G, "generate_totp_tolerance")(seed, tolerance) - -#define RUSTG_HASH_MD5 "md5" -#define RUSTG_HASH_SHA1 "sha1" -#define RUSTG_HASH_SHA256 "sha256" -#define RUSTG_HASH_SHA512 "sha512" -#define RUSTG_HASH_XXH64 "xxh64" -#define RUSTG_HASH_BASE64 "base64" - -#ifdef RUSTG_OVERRIDE_BUILTINS - #define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing)) -#endif - #define RUSTG_HTTP_METHOD_GET "get" #define RUSTG_HTTP_METHOD_PUT "put" #define RUSTG_HTTP_METHOD_DELETE "delete" @@ -196,6 +187,74 @@ #define rustg_noise_get_at_coordinates(seed, x, y) RUSTG_CALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) +#define rustg_sql_connect_pool(options) RUSTG_CALL(RUST_G, "sql_connect_pool")(options) +#define rustg_sql_query_async(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_async")(handle, query, params) +#define rustg_sql_query_blocking(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_blocking")(handle, query, params) +#define rustg_sql_connected(handle) RUSTG_CALL(RUST_G, "sql_connected")(handle) +#define rustg_sql_disconnect_pool(handle) RUSTG_CALL(RUST_G, "sql_disconnect_pool")(handle) +#define rustg_sql_check_query(job_id) RUSTG_CALL(RUST_G, "sql_check_query")("[job_id]") + +#define rustg_time_microseconds(id) text2num(RUSTG_CALL(RUST_G, "time_microseconds")(id)) +#define rustg_time_milliseconds(id) text2num(RUSTG_CALL(RUST_G, "time_milliseconds")(id)) +#define rustg_time_reset(id) RUSTG_CALL(RUST_G, "time_reset")(id) + +/// Returns the timestamp as a string +/proc/rustg_unix_timestamp() + return RUSTG_CALL(RUST_G, "unix_timestamp")() + +#define rustg_raw_read_toml_file(path) json_decode(RUSTG_CALL(RUST_G, "toml_file_to_json")(path) || "null") + +/proc/rustg_read_toml_file(path) + var/list/output = rustg_raw_read_toml_file(path) + if (output["success"]) + return json_decode(output["content"]) + else + CRASH(output["content"]) + +#define rustg_raw_toml_encode(value) json_decode(RUSTG_CALL(RUST_G, "toml_encode")(json_encode(value))) + +/proc/rustg_toml_encode(value) + var/list/output = rustg_raw_toml_encode(value) + if (output["success"]) + return output["content"] + else + CRASH(output["content"]) + +#define rustg_url_encode(text) RUSTG_CALL(RUST_G, "url_encode")("[text]") +#define rustg_url_decode(text) RUSTG_CALL(RUST_G, "url_decode")(text) + +#ifdef RUSTG_OVERRIDE_BUILTINS + #define url_encode(text) rustg_url_encode(text) + #define url_decode(text) rustg_url_decode(text) +#endif + +//! Citadel rust-g addons +/** + * Please see code/datums/math/vec2.dm. + */ +#define rustg_geometry_delaunay_triangulate_to_graph(point_json) RUSTG_CALL(RUST_G, "geometry_delaunay_triangulate_to_graph")(point_json) + +/** + * Please see code/datums/math/vec2.dm. + */ +#define rustg_geometry_delaunay_voronoi_graph(packed) RUSTG_CALL(RUST_G, "geometry_delaunay_voronoi_graph")(packed) + +#define rustg_hash_string(algorithm, text) RUSTG_CALL(RUST_G, "hash_string")(algorithm, text) +#define rustg_hash_file(algorithm, fname) RUSTG_CALL(RUST_G, "hash_file")(algorithm, fname) +#define rustg_hash_generate_totp(seed) RUSTG_CALL(RUST_G, "generate_totp")(seed) +#define rustg_hash_generate_totp_tolerance(seed, tolerance) RUSTG_CALL(RUST_G, "generate_totp_tolerance")(seed, tolerance) + +#define RUSTG_HASH_MD5 "md5" +#define RUSTG_HASH_SHA1 "sha1" +#define RUSTG_HASH_SHA256 "sha256" +#define RUSTG_HASH_SHA512 "sha512" +#define RUSTG_HASH_XXH64 "xxh64" +#define RUSTG_HASH_BASE64 "base64" + +#ifdef RUSTG_OVERRIDE_BUILTINS + #define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing)) +#endif + /** * Register a list of nodes into a rust library. This list of nodes must have been serialized in a json. * Node {// Index of this node in the list of nodes @@ -275,65 +334,3 @@ * Note: `count` was added in Redis version 6.2.0 */ #define rustg_redis_lpop(key, count) RUSTG_CALL(RUST_G, "redis_lpop")(key, count) - -#define rustg_sql_connect_pool(options) RUSTG_CALL(RUST_G, "sql_connect_pool")(options) -#define rustg_sql_query_async(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_async")(handle, query, params) -#define rustg_sql_query_blocking(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_blocking")(handle, query, params) -#define rustg_sql_connected(handle) RUSTG_CALL(RUST_G, "sql_connected")(handle) -#define rustg_sql_disconnect_pool(handle) RUSTG_CALL(RUST_G, "sql_disconnect_pool")(handle) -#define rustg_sql_check_query(job_id) RUSTG_CALL(RUST_G, "sql_check_query")("[job_id]") - -#define rustg_time_microseconds(id) text2num(RUSTG_CALL(RUST_G, "time_microseconds")(id)) -#define rustg_time_milliseconds(id) text2num(RUSTG_CALL(RUST_G, "time_milliseconds")(id)) -#define rustg_time_reset(id) RUSTG_CALL(RUST_G, "time_reset")(id) - -/// Returns the timestamp as a string -/proc/rustg_unix_timestamp() - return RUSTG_CALL(RUST_G, "unix_timestamp")() - -#define rustg_raw_read_toml_file(path) json_decode(RUSTG_CALL(RUST_G, "toml_file_to_json")(path) || "null") - -/proc/rustg_read_toml_file(path) - var/list/output = rustg_raw_read_toml_file(path) - if (output["success"]) - return json_decode(output["content"]) - else - CRASH(output["content"]) - -#define rustg_raw_toml_encode(value) json_decode(RUSTG_CALL(RUST_G, "toml_encode")(json_encode(value))) - -/proc/rustg_toml_encode(value) - var/list/output = rustg_raw_toml_encode(value) - if (output["success"]) - return output["content"] - else - CRASH(output["content"]) - -#define rustg_unzip_download_async(url, unzip_directory) RUSTG_CALL(RUST_G, "unzip_download_async")(url, unzip_directory) -#define rustg_unzip_check(job_id) RUSTG_CALL(RUST_G, "unzip_check")("[job_id]") - -#define rustg_url_encode(text) RUSTG_CALL(RUST_G, "url_encode")("[text]") -#define rustg_url_decode(text) RUSTG_CALL(RUST_G, "url_decode")(text) - -#ifdef RUSTG_OVERRIDE_BUILTINS - #define url_encode(text) rustg_url_encode(text) - #define url_decode(text) rustg_url_decode(text) -#endif - -/** - * This proc generates a noise grid using worley noise algorithm - * - * Returns a single string that goes row by row, with values of 1 representing an alive cell, and a value of 0 representing a dead cell. - * - * Arguments: - * * region_size: The size of regions - * * threshold: the value that determines wether a cell is dead or alive - * * node_per_region_chance: chance of a node existiing in a region - * * size: size of the returned grid - * * node_min: minimum amount of nodes in a region (after the node_per_region_chance is applied) - * * node_max: maximum amount of nodes in a region - */ -#define rustg_worley_generate(region_size, threshold, node_per_region_chance, size, node_min, node_max) \ - RUSTG_CALL(RUST_G, "worley_generate")(region_size, threshold, node_per_region_chance, size, node_min, node_max) - - diff --git a/code/__DEFINES/traits/mob.dm b/code/__DEFINES/traits/mob.dm index bde5e1fddfd7..d2aa31413462 100644 --- a/code/__DEFINES/traits/mob.dm +++ b/code/__DEFINES/traits/mob.dm @@ -87,3 +87,6 @@ DATUM_TRAIT(/mob, TRAIT_DEAF) #define TRAIT_BLINDNESS_STATUS_EFF "Status Effect: Blindness" #define TRAIT_BLINDNESS_NEGATIV "Negative custom trait" +// This mob can breathe water +#define TRAIT_MOB_WATER_BREATHER "mob_water_breather" +DATUM_TRAIT(/mob, TRAIT_MOB_WATER_BREATHER) diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index 708300c3ca42..43e9292672c0 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -87,3 +87,5 @@ /// rad_insulation #define TRAIT_SOURCE_COMPONENT_RAD_INSULATION "c_rad_insulation" + +#define LOADOUT_TRAIT "loadout" diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 02374d8d8083..7b605c7b742c 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -80,39 +80,39 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) */ /proc/log_admin(text) admin_log.Add(text) - if (config_legacy.log_admin) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/admin)) WRITE_LOG(GLOB.world_game_log, "ADMIN: [text]") /proc/log_admin_private(text) admin_log.Add(text) - if (config_legacy.log_admin) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/admin)) WRITE_LOG(GLOB.world_game_log, "ADMINPRIVATE: [text]") /proc/log_adminsay(text, mob/speaker) - if (config_legacy.log_adminchat) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/adminchat)) if(speaker) WRITE_LOG(GLOB.world_game_log, "ADMINPRIVATE: ASAY: [speaker.simple_info_line()]: [text]") else WRITE_LOG(GLOB.world_game_log, "ADMINPRIVATE: ASAY: [text]") /proc/log_modsay(text, mob/speaker) - if (config_legacy.log_adminchat) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/adminchat)) WRITE_LOG(GLOB.world_game_log, "MODSAY: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_eventsay(text, mob/speaker) - if (config_legacy.log_adminchat) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/adminchat)) WRITE_LOG(GLOB.world_game_log, "EVENTSAY: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_adminpm(text, client/source, client/dest) admin_log.Add(text) - if (config_legacy.log_admin) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/admin)) WRITE_LOG(GLOB.world_game_log, "ADMINPM: [key_name(source)]->[key_name(dest)]: [html_decode(text)]") /** * All other items are public. */ /proc/log_game(text) - if (config_legacy.log_game) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/game)) WRITE_LOG(GLOB.world_game_log, "GAME: [text]") /proc/log_asset(text) @@ -123,22 +123,22 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) /// /proc/log_access_in(client/new_client) - if (config_legacy.log_access) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/access)) var/message = "[key_name(new_client)] - IP:[new_client.address] - CID:[new_client.computer_id] - BYOND v[new_client.byond_version]" WRITE_LOG(GLOB.world_game_log, "ACCESS IN: [message]") /proc/log_access_out(mob/last_mob) - if (config_legacy.log_access) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/access)) var/message = "[key_name(last_mob)] - IP:[last_mob.lastKnownIP] - CID:Logged Out - BYOND Logged Out" WRITE_LOG(GLOB.world_game_log, "ACCESS OUT: [message]") /// /proc/log_attack(attacker, defender, message) - if (config_legacy.log_attack) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/attack)) WRITE_LOG(GLOB.world_attack_log, "ATTACK: [attacker] against [defender]: [message]") /proc/log_say(text, mob/speaker) - if (config_legacy.log_say) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/say)) WRITE_LOG(GLOB.world_game_log, "SAY: [speaker.simple_info_line()]: [html_decode(text)]") //Log the message to in-game dialogue logs, as well. @@ -147,13 +147,13 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) SAY: - [text]" /proc/log_ooc(text, client/user) - if (config_legacy.log_ooc) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/ooc)) WRITE_LOG(GLOB.world_game_log, "OOC: [user.simple_info_line()]: [html_decode(text)]") GLOB.round_text_log += "([time_stamp()]) ([user]) OOC: - [text]" /proc/log_whisper(text, mob/speaker) - if (config_legacy.log_whisper) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/whisper)) WRITE_LOG(GLOB.world_game_log, "WHISPER: [speaker.simple_info_line()]: [html_decode(text)]") if(speaker.client) @@ -161,7 +161,7 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) SAY: - [text]" /proc/log_emote(text, mob/speaker) - if (config_legacy.log_emote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/emote)) WRITE_LOG(GLOB.world_game_log, "EMOTE: [speaker.simple_info_line()]: [html_decode(text)]") if(speaker.client) @@ -169,25 +169,25 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) EMOTE: - [text]" /proc/log_subtle(text, mob/speaker) - if (config_legacy.log_emote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/emote)) WRITE_LOG(GLOB.world_game_log, "SUBTLE: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_subtle_anti_ghost(text, mob/speaker) - if (config_legacy.log_emote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/emote)) WRITE_LOG(GLOB.world_game_log, "SUBTLER: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_subtle_vore(text, mob/speaker) - if (config_legacy.log_emote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/emote)) WRITE_LOG(GLOB.world_game_log, "SUBTLE_VORE: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_aooc(text, client/user) - if (config_legacy.log_ooc) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/ooc)) WRITE_LOG(GLOB.world_game_log, "AOOC: [user.simple_info_line()]: [html_decode(text)]") GLOB.round_text_log += "([time_stamp()]) ([user]) AOOC: - [text]" /proc/log_looc(text, client/user) - if (config_legacy.log_ooc) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/ooc)) WRITE_LOG(GLOB.world_game_log, "LOOC: [user.simple_info_line()]: [html_decode(text)]") GLOB.round_text_log += "([time_stamp()]) ([user]) LOOC: - [text]" @@ -196,7 +196,7 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) WRITE_LOG(GLOB.world_runtime_log, "IPINTEL: [text]") /proc/log_vote(text) - if (config_legacy.log_vote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/vote)) WRITE_LOG(GLOB.world_game_log, "VOTE: [text]") /proc/log_topic(text) @@ -418,7 +418,7 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) /// VSTATION SPECIFIC LOGGING. /// /proc/log_debug(text) - if (config_legacy.log_debug) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/debug)) WRITE_LOG(GLOB.world_runtime_log, "DEBUG: [text]") // for(var/client/C in GLOB.admins) @@ -430,22 +430,22 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) // ) /proc/log_ghostsay(text, mob/speaker) - if (config_legacy.log_say) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/say)) WRITE_LOG(GLOB.world_game_log, "DEADCHAT: [speaker.simple_info_line()]: [html_decode(text)]") speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) DEADSAY: - [text]" GLOB.round_text_log += "([time_stamp()]) ([speaker]/[speaker.client]) DEADSAY: - [text]" /proc/log_ghostemote(text, mob/speaker) - if (config_legacy.log_emote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/emote)) WRITE_LOG(GLOB.world_game_log, "DEADEMOTE: [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_adminwarn(text) - if (config_legacy.log_adminwarn) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/adminwarn)) WRITE_LOG(GLOB.world_game_log, "ADMINWARN: [html_decode(text)]") /proc/log_pda(text, mob/speaker) - if (config_legacy.log_pda) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/pda)) WRITE_LOG(GLOB.world_game_log, "PDA: [speaker.simple_info_line()]: [html_decode(text)]") speaker.dialogue_log += "([time_stamp()]) ([speaker]/[speaker.client]) MSG: - [text]" @@ -470,11 +470,11 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) log_world(progress_message) /proc/log_nsay(text, inside, mob/speaker) - if (config_legacy.log_say) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/say)) WRITE_LOG(GLOB.world_game_log, "NSAY (NIF:[inside]): [speaker.simple_info_line()]: [html_decode(text)]") /proc/log_nme(text, inside, mob/speaker) - if (config_legacy.log_emote) + if (Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/emote)) WRITE_LOG(GLOB.world_game_log, "NME (NIF:[inside]): [speaker.simple_info_line()]: [html_decode(text)]") diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 2110b7cd224d..44c21c2b069d 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -18,98 +18,88 @@ remember you first need to setup an /icon var like so: GLOBAL_DATUM_INIT(my_icon, /icon, new('iconfile.dmi')) icon/ChangeOpacity(amount = 1) - A very common operation in DM is to try to make an icon more or less transparent. Making an icon more - transparent is usually much easier than making it less so, however. This proc basically is a frontend - for MapColors() which can change opacity any way you like, in much the same way that SetIntensity() - can make an icon lighter or darker. If amount is 0.5, the opacity of the icon will be cut in half. - If amount is 2, opacity is doubled and anything more than half-opaque will become fully opaque. + A very common operation in DM is to try to make an icon more or less transparent. Making an icon more + transparent is usually much easier than making it less so, however. This proc basically is a frontend + for MapColors() which can change opacity any way you like, in much the same way that SetIntensity() + can make an icon lighter or darker. If amount is 0.5, the opacity of the icon will be cut in half. + If amount is 2, opacity is doubled and anything more than half-opaque will become fully opaque. +icon/GrayScale() + Converts the icon to grayscale instead of a fully colored icon. Alpha values are left intact. icon/ColorTone(tone) - Similar to GrayScale(), this proc converts the icon to a range of black -> tone -> white, where tone is an - RGB color (its alpha is ignored). This can be used to create a sepia tone or similar effect. - See also the global ColorTone() proc. + Similar to GrayScale(), this proc converts the icon to a range of black -> tone -> white, where tone is an + RGB color (its alpha is ignored). This can be used to create a sepia tone or similar effect. + See also the global ColorTone() proc. icon/MinColors(icon) - The icon is blended with a second icon where the minimum of each RGB pixel is the result. - Transparency may increase, as if the icons were blended with ICON_ADD. You may supply a color in place of an icon. + The icon is blended with a second icon where the minimum of each RGB pixel is the result. + Transparency may increase, as if the icons were blended with ICON_ADD. You may supply a color in place of an icon. icon/MaxColors(icon) - The icon is blended with a second icon where the maximum of each RGB pixel is the result. - Opacity may increase, as if the icons were blended with ICON_OR. You may supply a color in place of an icon. -icon/Opaque(background = "#000000") - All alpha values are set to 255 throughout the icon. Transparent pixels become black, or whatever background color you specify. + The icon is blended with a second icon where the maximum of each RGB pixel is the result. + Opacity may increase, as if the icons were blended with ICON_OR. You may supply a color in place of an icon. +icon/Opaque(background = COLOR_BLACK) + All alpha values are set to 255 throughout the icon. Transparent pixels become black, or whatever background color you specify. icon/BecomeAlphaMask() - You can convert a simple grayscale icon into an alpha mask to use with other icons very easily with this proc. - The black parts become transparent, the white parts stay white, and anything in between becomes a translucent shade of white. + You can convert a simple grayscale icon into an alpha mask to use with other icons very easily with this proc. + The black parts become transparent, the white parts stay white, and anything in between becomes a translucent shade of white. icon/AddAlphaMask(mask) - The alpha values of the mask icon will be blended with the current icon. Anywhere the mask is opaque, - the current icon is untouched. Anywhere the mask is transparent, the current icon becomes transparent. - Where the mask is translucent, the current icon becomes more transparent. + The alpha values of the mask icon will be blended with the current icon. Anywhere the mask is opaque, + the current icon is untouched. Anywhere the mask is transparent, the current icon becomes transparent. + Where the mask is translucent, the current icon becomes more transparent. icon/UseAlphaMask(mask, mode) - Sometimes you may want to take the alpha values from one icon and use them on a different icon. - This proc will do that. Just supply the icon whose alpha mask you want to use, and src will change - so it has the same colors as before but uses the mask for opacity. + Sometimes you may want to take the alpha values from one icon and use them on a different icon. + This proc will do that. Just supply the icon whose alpha mask you want to use, and src will change + so it has the same colors as before but uses the mask for opacity. COLOR MANAGEMENT AND HSV RGB isn't the only way to represent color. Sometimes it's more useful to work with a model called HSV, which stands for hue, saturation, and value. - * The hue of a color describes where it is along the color wheel. It goes from red to yellow to green to - cyan to blue to magenta and back to red. - * The saturation of a color is how much color is in it. A color with low saturation will be more gray, - and with no saturation at all it is a shade of gray. - * The value of a color determines how bright it is. A high-value color is vivid, moderate value is dark, - and no value at all is black. + * The hue of a color describes where it is along the color wheel. It goes from red to yellow to green to + cyan to blue to magenta and back to red. + * The saturation of a color is how much color is in it. A color with low saturation will be more gray, + and with no saturation at all it is a shade of gray. + * The value of a color determines how bright it is. A high-value color is vivid, moderate value is dark, + and no value at all is black. -Just as BYOND uses "#rrggbb" to represent RGB values, a similar format is used for HSV: "#hhhssvv". The hue is three -hex digits because it ranges from 0 to 0x5FF. +While rgb is typically stored in the #rrggbb" format (with optional "aa" on the end), HSV never needs to be displayed. +Most procs that work in HSV "space" will simply accept RGB inputs and convert them in place using rgb2num(color, space = COLORSPACE_HSV). - * 0 to 0xFF - red to yellow - * 0x100 to 0x1FF - yellow to green - * 0x200 to 0x2FF - green to cyan - * 0x300 to 0x3FF - cyan to blue - * 0x400 to 0x4FF - blue to magenta - * 0x500 to 0x5FF - magenta to red +That said, if you want to manually modify these values rgb2hsv() will hand you back a list in the format list(hue, saturation, value, alpha). +Converting back is simple, just a hsv2rgb(hsv) call -Knowing this, you can figure out that red is "#000ffff" in HSV format, which is hue 0 (red), saturation 255 (as colorful as possible), -value 255 (as bright as possible). Green is "#200ffff" and blue is "#400ffff". +Hue ranges from 0 to 360 (it's in degrees of a color wheel) +Saturation ranges from 0 to 100 +Value ranges from 0 to 100 -More than one HSV color can match the same RGB color. +Knowing this, you can figure out that red is list(0, 100, 100) in HSV format, which is hue 0 (red), saturation 100 (as colorful as possible), +value 255 (as bright as possible). Green is list(120, 100, 100) and blue is list(240, 100, 100). + +It is worth noting that while we do not have helpers for them currently, these same ideas apply to all of byond's color spaces +HSV (hue saturation value), HSL (hue satriation luminosity) and HCY (hue chroma luminosity) Here are some procs you can use for color management: -ReadRGB(rgb) - Takes an RGB string like "#ffaa55" and converts it to a list such as list(255,170,85). If an RGBA format is used - that includes alpha, the list will have a fourth item for the alpha value. -hsv(hue, sat, val, apha) - Counterpart to rgb(), this takes the values you input and converts them to a string in "#hhhssvv" or "#hhhssvvaa" - format. Alpha is not included in the result if null. -ReadHSV(rgb) - Takes an HSV string like "#100FF80" and converts it to a list such as list(256,255,128). If an HSVA format is used that - includes alpha, the list will have a fourth item for the alpha value. -RGBtoHSV(rgb) - Takes an RGB or RGBA string like "#ffaa55" and converts it into an HSV or HSVA color such as "#080aaff". -HSVtoRGB(hsv) - Takes an HSV or HSVA string like "#080aaff" and converts it into an RGB or RGBA color such as "#ff55aa". BlendRGB(rgb1, rgb2, amount) - Blends between two RGB or RGBA colors using regular RGB blending. If amount is 0, the first color is the result; - if 1, the second color is the result. 0.5 produces an average of the two. Values outside the 0 to 1 range are allowed as well. - The returned value is an RGB or RGBA color. -BlendHSV(hsv1, hsv2, amount) - Blends between two HSV or HSVA colors using HSV blending, which tends to produce nicer results than regular RGB - blending because the brightness of the color is left intact. If amount is 0, the first color is the result; if 1, - the second color is the result. 0.5 produces an average of the two. Values outside the 0 to 1 range are allowed as well. - The returned value is an HSV or HSVA color. -BlendRGBasHSV(rgb1, rgb2, amount) - Like BlendHSV(), but the colors used and the return value are RGB or RGBA colors. The blending is done in HSV form. + Blends between two RGB or RGBA colors using regular RGB blending. If amount is 0, the first color is the result; + if 1, the second color is the result. 0.5 produces an average of the two. Values outside the 0 to 1 range are allowed as well. + Returns an RGB or RGBA string +BlendHSV(rgb1, rgb2, amount) + Blends between two RGB or RGBA colors using HSV blending, which tends to produce nicer results than regular RGB + blending because the brightness of the color is left intact. If amount is 0, the first color is the result; if 1, + the second color is the result. 0.5 produces an average of the two. Values outside the 0 to 1 range are allowed as well. + Returns an RGB or RGBA string HueToAngle(hue) - Converts a hue to an angle range of 0 to 360. Angle 0 is red, 120 is green, and 240 is blue. + Converts a hue to an angle range of 0 to 360. Angle 0 is red, 120 is green, and 240 is blue. AngleToHue(hue) - Converts an angle to a hue in the valid range. -RotateHue(hsv, angle) - Takes an HSV or HSVA value and rotates the hue forward through red, green, and blue by an angle from 0 to 360. - (Rotating red by 60° produces yellow.) The result is another HSV or HSVA color with the same saturation and value - as the original, but a different hue. + Converts an angle to a hue in the valid range. +RotateHue(rgb, angle) + Takes an RGB or RGBA value and rotates the hue forward through red, green, and blue by an angle from 0 to 360. + (Rotating red by 60° produces yellow.) + Returns an RGB or RGBA string +GrayScale(rgb) + Takes an RGB or RGBA color and converts it to grayscale. Returns an RGB or RGBA string. ColorTone(rgb, tone) - Similar to GrayScale(), this proc converts an RGB or RGBA color to a range of black -> tone -> white instead of - using strict shades of gray. The tone value is an RGB color; any alpha value is ignored. + Similar to GrayScale(), this proc converts an RGB or RGBA color to a range of black -> tone -> white instead of + using strict shades of gray. The tone value is an RGB color; any alpha value is ignored. */ #define TO_HEX_DIGIT(n) ascii2text((n&15) + ((n&15)<10 ? 48 : 87)) @@ -124,14 +114,18 @@ ColorTone(rgb, tone) Shift(SOUTH,6) Shift(EAST,1) - // Multiply all alpha values by this float +// Multiply all alpha values by this float /icon/proc/ChangeOpacity(opacity = 1) MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,opacity, 0,0,0,0) +// Convert to grayscale +/icon/proc/GrayScale() + MapColors(0.3,0.3,0.3, 0.59,0.59,0.59, 0.11,0.11,0.11, 0,0,0) + /icon/proc/ColorTone(tone) - greyscale() + GrayScale() - var/list/TONE = ReadRGB(tone) + var/list/TONE = rgb2num(tone) var/gray = round(TONE[1]*0.3 + TONE[2]*0.59 + TONE[3]*0.11, 1) var/icon/upper = (255-gray) ? new(src) : null @@ -147,36 +141,36 @@ ColorTone(rgb, tone) // Take the minimum color of two icons; combine transparency as if blending with ICON_ADD /icon/proc/MinColors(icon) - var/icon/I = new(src) - I.Opaque() - I.Blend(icon, ICON_SUBTRACT) - Blend(I, ICON_SUBTRACT) + var/icon/new_icon = new(src) + new_icon.Opaque() + new_icon.Blend(icon, ICON_SUBTRACT) + Blend(new_icon, ICON_SUBTRACT) // Take the maximum color of two icons; combine opacity as if blending with ICON_OR /icon/proc/MaxColors(icon) - var/icon/I + var/icon/new_icon if(isicon(icon)) - I = new(icon) + new_icon = new(icon) else // solid color - I = new(src) - I.Blend("#000000", ICON_OVERLAY) - I.SwapColor("#000000", null) - I.Blend(icon, ICON_OVERLAY) - var/icon/J = new(src) - J.Opaque() - I.Blend(J, ICON_SUBTRACT) - Blend(I, ICON_OR) + new_icon = new(src) + new_icon.Blend(COLOR_BLACK, ICON_OVERLAY) + new_icon.SwapColor(COLOR_BLACK, null) + new_icon.Blend(icon, ICON_OVERLAY) + var/icon/blend_icon = new(src) + blend_icon.Opaque() + new_icon.Blend(blend_icon, ICON_SUBTRACT) + Blend(new_icon, ICON_OR) // make this icon fully opaque--transparent pixels become black -/icon/proc/Opaque(background = "#000000") +/icon/proc/Opaque(background = COLOR_BLACK) SwapColor(null, background) MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,1) // Change a grayscale icon into a white icon where the original color becomes the alpha // I.e., black -> transparent, gray -> translucent white, white -> solid white /icon/proc/BecomeAlphaMask() - SwapColor(null, "#000000ff") // don't let transparent become gray + SwapColor(null, "#000000ff") // don't let transparent become gray MapColors(0,0,0,0.3, 0,0,0,0.59, 0,0,0,0.11, 0,0,0,0, 1,1,1,0) /icon/proc/UseAlphaMask(mask) @@ -184,254 +178,29 @@ ColorTone(rgb, tone) AddAlphaMask(mask) /icon/proc/AddAlphaMask(mask) - var/icon/M = new(mask) - M.Blend("#ffffff", ICON_SUBTRACT) + var/icon/mask_icon = new(mask) + mask_icon.Blend("#ffffff", ICON_SUBTRACT) // apply mask - Blend(M, ICON_ADD) - -/* - HSV format is represented as "#hhhssvv" or "#hhhssvvaa" - - Hue ranges from 0 to 0x5ff (1535) - - 0x000 = red - 0x100 = yellow - 0x200 = green - 0x300 = cyan - 0x400 = blue - 0x500 = magenta - - Saturation is from 0 to 0xff (255) - - More saturation = more color - Less saturation = more gray - - Value ranges from 0 to 0xff (255) - - Higher value means brighter color - */ - -/** - * reads RGB or RGBA values to list - * @return list(r, g, b) or list(r, g, b, a), values 0 to 255. - */ -/proc/ReadRGB(rgb) - if(!rgb) - return - - // interpret the HSV or HSVA value - var/i=1,start=1 - if(text2ascii(rgb) == 35) ++start // skip opening # - var/ch,which=0,r=0,g=0,b=0,alpha=0,usealpha - var/digits=0 - for(i=start, i<=length(rgb), ++i) - ch = text2ascii(rgb, i) - if(ch < 48 || (ch > 57 && ch < 65) || (ch > 70 && ch < 97) || ch > 102) - break - ++digits - if(digits == 8) - break - - var/single = digits < 6 - if(digits != 3 && digits != 4 && digits != 6 && digits != 8) - return - if(digits == 4 || digits == 8) - usealpha = 1 - for(i=start, digits>0, ++i) - ch = text2ascii(rgb, i) - if(ch >= 48 && ch <= 57) - ch -= 48 - else if(ch >= 65 && ch <= 70) - ch -= 55 - else if(ch >= 97 && ch <= 102) - ch -= 87 - else - break - --digits - switch(which) - if(0) - r = (r << 4) | ch - if(single) - r |= r << 4 - ++which - else if(!(digits & 1)) - ++which - if(1) - g = (g << 4) | ch - if(single) - g |= g << 4 - ++which - else if(!(digits & 1)) - ++which - if(2) - b = (b << 4) | ch - if(single) - b |= b << 4 - ++which - else if(!(digits & 1)) - ++which - if(3) - alpha = (alpha << 4) | ch - if(single) - alpha |= alpha << 4 - - . = list(r, g, b) - if(usealpha) - . += alpha - -/proc/ReadHSV(hsv) - if(!hsv) - return - - // interpret the HSV or HSVA value - var/i=1,start=1 - if(text2ascii(hsv) == 35) - ++start // skip opening # - var/ch,which=0,hue=0,sat=0,val=0,alpha=0,usealpha - var/digits=0 - for(i=start, i<=length(hsv), ++i) - ch = text2ascii(hsv, i) - if(ch < 48 || (ch > 57 && ch < 65) || (ch > 70 && ch < 97) || ch > 102) - break - ++digits - if(digits == 9) - break - if(digits > 7) - usealpha = 1 - if(digits <= 4) - ++which - if(digits <= 2) - ++which - for(i=start, digits>0, ++i) - ch = text2ascii(hsv, i) - if(ch >= 48 && ch <= 57) - ch -= 48 - else if(ch >= 65 && ch <= 70) - ch -= 55 - else if(ch >= 97 && ch <= 102) - ch -= 87 - else - break - --digits - switch(which) - if(0) - hue = (hue << 4) | ch - if(digits == (usealpha ? 6 : 4)) - ++which - if(1) - sat = (sat << 4) | ch - if(digits == (usealpha ? 4 : 2)) - ++which - if(2) - val = (val << 4) | ch - if(digits == (usealpha ? 2 : 0)) - ++which - if(3) - alpha = (alpha << 4) | ch - - . = list(hue, sat, val) - if(usealpha) - . += alpha - -/proc/HSVtoRGB(hsv) - if(!hsv) - return "#000000" - var/list/HSV = ReadHSV(hsv) - if(!HSV) - return "#000000" - - var/hue = HSV[1] - var/sat = HSV[2] - var/val = HSV[3] - - // Compress hue into easier-to-manage range - hue -= hue >> 8 - if(hue >= 0x5fa) - hue -= 0x5fa - - var/hi,mid,lo,r,g,b - hi = val - lo = round((255 - sat) * val / 255, 1) - mid = lo + round(abs(round(hue, 510) - hue) * (hi - lo) / 255, 1) - if(hue >= 765) - if(hue >= 1275) {r=hi; g=lo; b=mid} - else if(hue >= 1020) {r=mid; g=lo; b=hi } - else {r=lo; g=mid; b=hi } - else - if(hue >= 510) {r=lo; g=hi; b=mid} - else if(hue >= 255) {r=mid; g=hi; b=lo } - else {r=hi; g=mid; b=lo } - - return (HSV.len > 3) ? rgb(r,g,b,HSV[4]) : rgb(r,g,b) - -/proc/RGBtoHSV(rgb) - if(!rgb) - return "#0000000" - var/list/RGB = ReadRGB(rgb) - if(!RGB) - return "#0000000" - - var/r = RGB[1] - var/g = RGB[2] - var/b = RGB[3] - var/hi = max(r,g,b) - var/lo = min(r,g,b) - - var/val = hi - var/sat = hi ? round((hi-lo) * 255 / hi, 1) : 0 - var/hue = 0 - - if(sat) - var/dir - var/mid - if(hi == r) - if(lo == b) {hue=0; dir=1; mid=g} - else {hue=1535; dir=-1; mid=b} - else if(hi == g) - if(lo == r) {hue=512; dir=1; mid=b} - else {hue=511; dir=-1; mid=r} - else if(hi == b) - if(lo == g) {hue=1024; dir=1; mid=r} - else {hue=1023; dir=-1; mid=g} - hue += dir * round((mid-lo) * 255 / (hi-lo), 1) - - return hsv(hue, sat, val, (RGB.len>3 ? RGB[4] : null)) - -/proc/hsv(hue, sat, val, alpha) - if(hue < 0 || hue >= 1536) - hue %= 1536 - if(hue < 0) - hue += 1536 - if((hue & 0xFF) == 0xFF) - ++hue - if(hue >= 1536) - hue = 0 - if(sat < 0) - sat = 0 - if(sat > 255) - sat = 255 - if(val < 0) - val = 0 - if(val > 255) - val = 255 - . = "#" - . += TO_HEX_DIGIT(hue >> 8) - . += TO_HEX_DIGIT(hue >> 4) - . += TO_HEX_DIGIT(hue) - . += TO_HEX_DIGIT(sat >> 4) - . += TO_HEX_DIGIT(sat) - . += TO_HEX_DIGIT(val >> 4) - . += TO_HEX_DIGIT(val) - if(!isnull(alpha)) - if(alpha < 0) - alpha = 0 - if(alpha > 255) - alpha = 255 - . += TO_HEX_DIGIT(alpha >> 4) - . += TO_HEX_DIGIT(alpha) + Blend(mask_icon, ICON_ADD) + +/// Converts an rgb color into a list storing hsva +/// Exists because it's useful to have a guaranteed alpha value +/proc/rgb2hsv(rgb) + var/list/hsv = rgb2num(rgb, COLORSPACE_HSV) + if(length(hsv) < 4) + hsv += 255 // Max alpha, just to make life easy + return hsv + +/// Converts a list storing hsva into an rgb color +/proc/hsv2rgb(hsv) + if(length(hsv) < 3) + return COLOR_BLACK + if(length(hsv) == 3) + return rgb(hsv[1], hsv[2], hsv[3], space = COLORSPACE_HSV) + return rgb(hsv[1], hsv[2], hsv[3], hsv[4], space = COLORSPACE_HSV) /* - Smooth blend between HSV colors + Smooth blend between RGB colors interpreted as HSV amount=0 is the first color amount=1 is the second color @@ -440,63 +209,7 @@ ColorTone(rgb, tone) amount<0 or amount>1 are allowed */ /proc/BlendHSV(hsv1, hsv2, amount) - var/list/HSV1 = ReadHSV(hsv1) - var/list/HSV2 = ReadHSV(hsv2) - - // add missing alpha if needed - if(HSV1.len < HSV2.len) - HSV1 += 255 - else if(HSV2.len < HSV1.len) - HSV2 += 255 - var/usealpha = HSV1.len > 3 - - // normalize hsv values in case anything is screwy - if(HSV1[1] > 1536) - HSV1[1] %= 1536 - if(HSV2[1] > 1536) - HSV2[1] %= 1536 - if(HSV1[1] < 0) - HSV1[1] += 1536 - if(HSV2[1] < 0) - HSV2[1] += 1536 - if(!HSV1[3]) {HSV1[1] = 0; HSV1[2] = 0} - if(!HSV2[3]) {HSV2[1] = 0; HSV2[2] = 0} - - // no value for one color means don't change saturation - if(!HSV1[3]) - HSV1[2] = HSV2[2] - if(!HSV2[3]) - HSV2[2] = HSV1[2] - // no saturation for one color means don't change hues - if(!HSV1[2]) - HSV1[1] = HSV2[1] - if(!HSV2[2]) - HSV2[1] = HSV1[1] - - // Compress hues into easier-to-manage range - HSV1[1] -= HSV1[1] >> 8 - HSV2[1] -= HSV2[1] >> 8 - - var/hue_diff = HSV2[1] - HSV1[1] - if(hue_diff > 765) - hue_diff -= 1530 - else if(hue_diff <= -765) - hue_diff += 1530 - - var/hue = round(HSV1[1] + hue_diff * amount, 1) - var/sat = round(HSV1[2] + (HSV2[2] - HSV1[2]) * amount, 1) - var/val = round(HSV1[3] + (HSV2[3] - HSV1[3]) * amount, 1) - var/alpha = usealpha ? round(HSV1[4] + (HSV2[4] - HSV1[4]) * amount, 1) : null - - // normalize hue - if(hue < 0 || hue >= 1530) - hue %= 1530 - if(hue < 0) - hue += 1530 - // decompress hue - hue += round(hue / 255) - - return hsv(hue, sat, val, alpha) + return hsv_gradient(amount, 0, hsv1, 1, hsv2, "loop") /* Smooth blend between RGB colors @@ -508,25 +221,7 @@ ColorTone(rgb, tone) amount<0 or amount>1 are allowed */ /proc/BlendRGB(rgb1, rgb2, amount) - var/list/RGB1 = ReadRGB(rgb1) - var/list/RGB2 = ReadRGB(rgb2) - - // add missing alpha if needed - if(RGB1.len < RGB2.len) - RGB1 += 255 - else if(RGB2.len < RGB1.len) - RGB2 += 255 - var/usealpha = RGB1.len > 3 - - var/r = round(RGB1[1] + (RGB2[1] - RGB1[1]) * amount, 1) - var/g = round(RGB1[2] + (RGB2[2] - RGB1[2]) * amount, 1) - var/b = round(RGB1[3] + (RGB2[3] - RGB1[3]) * amount, 1) - var/alpha = usealpha ? round(RGB1[4] + (RGB2[4] - RGB1[4]) * amount, 1) : null - - return isnull(alpha) ? rgb(r, g, b) : rgb(r, g, b, alpha) - -/proc/BlendRGBasHSV(rgb1, rgb2, amount) - return HSVtoRGB(RGBtoHSV(rgb1), RGBtoHSV(rgb2), amount) + return rgb_gradient(amount, 0, rgb1, 1, rgb2, "loop") /proc/HueToAngle(hue) // normalize hsv in case anything is screwy @@ -547,10 +242,9 @@ ColorTone(rgb, tone) hue += round(hue / 255) return hue - // positive angle rotates forward through red->green->blue -/proc/RotateHue(hsv, angle) - var/list/HSV = ReadHSV(hsv) +/proc/RotateHue(rgb, angle) + var/list/HSV = rgb2hsv(rgb) // normalize hsv in case anything is screwy if(HSV[1] >= 1536) @@ -573,18 +267,24 @@ ColorTone(rgb, tone) // decompress hue HSV[1] += round(HSV[1] / 255) - return hsv(HSV[1], HSV[2], HSV[3], (HSV.len > 3 ? HSV[4] : null)) + return hsv2rgb(HSV) + +// Convert an rgb color to grayscale +/proc/GrayScale(rgb) + var/list/RGB = rgb2num(rgb) + var/gray = RGB[1]*0.3 + RGB[2]*0.59 + RGB[3]*0.11 + return (RGB.len > 3) ? rgb(gray, gray, gray, RGB[4]) : rgb(gray, gray, gray) // Change grayscale color to black->tone->white range /proc/ColorTone(rgb, tone) - var/list/RGB = ReadRGB(rgb) - var/list/TONE = ReadRGB(tone) + var/list/RGB = rgb2num(rgb) + var/list/TONE = rgb2num(tone) var/gray = RGB[1]*0.3 + RGB[2]*0.59 + RGB[3]*0.11 var/tone_gray = TONE[1]*0.3 + TONE[2]*0.59 + TONE[3]*0.11 if(gray <= tone_gray) - return BlendRGB("#000000", tone, gray/(tone_gray || 1)) + return BlendRGB(COLOR_BLACK, tone, gray/(tone_gray || 1)) else return BlendRGB(tone, "#ffffff", (gray-tone_gray)/((255-tone_gray) || 1)) @@ -603,45 +303,45 @@ ColorTone(rgb, tone) var/lo3 = text2ascii(hex, 7) // B var/hi4 = text2ascii(hex, 8) // A var/lo4 = text2ascii(hex, 9) // A - return list(((hi1>= 65 ? hi1-55 : hi1-48)<<4) | (lo1 >= 65 ? lo1-55 : lo1-48), + return list(((hi1 >= 65 ? hi1-55 : hi1-48)<<4) | (lo1 >= 65 ? lo1-55 : lo1-48), ((hi2 >= 65 ? hi2-55 : hi2-48)<<4) | (lo2 >= 65 ? lo2-55 : lo2-48), ((hi3 >= 65 ? hi3-55 : hi3-48)<<4) | (lo3 >= 65 ? lo3-55 : lo3-48), ((hi4 >= 65 ? hi4-55 : hi4-48)<<4) | (lo4 >= 65 ? lo4-55 : lo4-48)) -/proc/getIconMask(atom/A)//By yours truly. Creates a dynamic mask for a mob/whatever. /N - var/icon/alpha_mask = new(A.icon,A.icon_state)//So we want the default icon and icon state of A. - for(var/V in A.overlays)//For every image in overlays. var/image/I will not work, don't try it. - var/image/I = V - if(I.layer>A.layer) +/proc/getIconMask(atom/atom_to_mask)//By yours truly. Creates a dynamic mask for a mob/whatever. /N + var/icon/alpha_mask = new(atom_to_mask.icon, atom_to_mask.icon_state)//So we want the default icon and icon state of atom_to_mask. + for(var/iterated_image in atom_to_mask.overlays)//For every image in overlays. var/image/image will not work, don't try it. + var/image/image = iterated_image + if(image.layer > atom_to_mask.layer) continue//If layer is greater than what we need, skip it. - var/icon/image_overlay = new(I.icon,I.icon_state)//Blend only works with icon objects. + var/icon/image_overlay = new(image.icon, image.icon_state)//Blend only works with icon objects. //Also, icons cannot directly set icon_state. Slower than changing variables but whatever. - alpha_mask.Blend(image_overlay,ICON_OR)//OR so they are lumped together in a nice overlay. + alpha_mask.Blend(image_overlay, ICON_OR)//OR so they are lumped together in a nice overlay. return alpha_mask//And now return the mask. /mob/proc/AddCamoOverlay(atom/A)//A is the atom which we are using as the overlay. var/icon/opacity_icon = new(A.icon, A.icon_state)//Don't really care for overlays/underlays. //Now we need to culculate overlays+underlays and add them together to form an image for a mask. - var/icon/alpha_mask = getIconMask(src)//get_flat_icon(src) is accurate but SLOW. Not designed for running each tick. This is also a little slow since it's blending a bunch of icons together but good enough. + var/icon/alpha_mask = getIconMask(src)//getFlatIcon(src) is accurate but SLOW. Not designed for running each tick. This is also a little slow since it's blending a bunch of icons together but good enough. opacity_icon.AddAlphaMask(alpha_mask)//Likely the main source of lag for this proc. Probably not designed to run each tick. opacity_icon.ChangeOpacity(0.4)//Front end for MapColors so it's fast. 0.5 means half opacity and looks the best in my opinion. - for(var/i=0,i<5,i++)//And now we add it as overlays. It's faster than creating an icon and then merging it. - var/image/I = image("icon" = opacity_icon, "icon_state" = A.icon_state, "layer" = layer+0.8)//So it's above other stuff but below weapons and the like. + for(var/i in 1 to 5)//And now we add it as overlays. It's faster than creating an icon and then merging it. + var/image/camo_image = image("icon" = opacity_icon, "icon_state" = A.icon_state, "layer" = layer+0.8)//So it's above other stuff but below weapons and the like. switch(i)//Now to determine offset so the result is somewhat blurred. - if(1) - I.pixel_x-- if(2) - I.pixel_x++ + camo_image.pixel_x-- if(3) - I.pixel_y-- + camo_image.pixel_x++ if(4) - I.pixel_y++ - add_overlay(I)//And finally add the overlay. + camo_image.pixel_y-- + if(5) + camo_image.pixel_y++ + add_overlay(camo_image)//And finally add the overlay. -/proc/getHologramIcon(icon/A, safety = TRUE)//If safety is on, a new icon is not created. +/proc/getHologramIcon(icon/A, safety = TRUE, opacity = 0.5)//If safety is on, a new icon is not created. var/icon/flat_icon = safety ? A : new(A)//Has to be a new icon to not constantly change the same icon. // flat_icon.ColorTone(rgb(125,180,225))//Let's make it bluish. - // flat_icon.ChangeOpacity(0.5)//Make it half transparent. + // flat_icon.ChangeOpacity(opacity) var/icon/alpha_mask = new('icons/effects/effects.dmi', "scanline")//Scanline effect. flat_icon.AddAlphaMask(alpha_mask)//Finally, let's mix in a distortion effect. return flat_icon @@ -691,7 +391,7 @@ ColorTone(rgb, tone) letter = lowertext(letter) var/image/text_image = new(loc = A) - text_image.maptext = "[letter]" + text_image.maptext = MAPTEXT("[letter]") text_image.pixel_x = 7 text_image.pixel_y = 5 qdel(atom_icon) @@ -724,84 +424,52 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) */ //Interface for using DrawBox() to draw 1 pixel on a coordinate. //Returns the same icon specifed in the argument, but with the pixel drawn -/proc/DrawPixel(icon/I,colour,drawX,drawY) - if(!I) +/proc/DrawPixel(icon/icon_to_use, colour, drawX, drawY) + if(!icon_to_use) return 0 - var/Iwidth = I.Width() - var/Iheight = I.Height() + var/icon_width = icon_to_use.Width() + var/icon_height = icon_to_use.Height() - if(drawX > Iwidth || drawX <= 0) + if(drawX > icon_width || drawX <= 0) return 0 - if(drawY > Iheight || drawY <= 0) + if(drawY > icon_height || drawY <= 0) return 0 - I.DrawBox(colour,drawX, drawY) - return I - + icon_to_use.DrawBox(colour, drawX, drawY) + return icon_to_use //Interface for easy drawing of one pixel on an atom. /atom/proc/DrawPixelOn(colour, drawX, drawY) - var/icon/I = new(icon) - var/icon/J = DrawPixel(I, colour, drawX, drawY) - if(J) //Only set the icon if it succeeded, the icon without the pixel is 1000x better than a black square. - icon = J - return J - return 0 -/* -//For creating consistent icons for human looking simple animals -/proc/get_flat_human_icon(icon_id, datum/role/job/J, datum/preferences/prefs, dummy_key, showDirs = GLOB.cardinals, outfit_override = null) - var/static/list/humanoid_icon_cache = list() - if(!icon_id || !humanoid_icon_cache[icon_id]) - var/mob/living/carbon/human/dummy/body = generate_or_wait_for_human_dummy(dummy_key) - - if(prefs) - prefs.copy_to(body,TRUE,FALSE) - if(J) - J.equip(body, TRUE, FALSE, outfit_override = outfit_override) - else if (outfit_override) - body.equipOutfit(outfit_override,visualsOnly = TRUE) - - - var/icon/out_icon = icon('icons/effects/effects.dmi', "nothing") - for(var/D in showDirs) - body.setDir(D) - body.compile_overlays() - var/icon/partial = get_flat_icon(body) - out_icon.Insert(partial,dir=D) - - humanoid_icon_cache[icon_id] = out_icon - dummy_key? unset_busy_human_dummy(dummy_key) : qdel(body) - return out_icon - else - return humanoid_icon_cache[icon_id] -*/ + var/icon/icon_one = new(icon) + var/icon/result = DrawPixel(icon_one, colour, drawX, drawY) + if(result) //Only set the icon if it succeeded, the icon without the pixel is 1000x better than a black square. + icon = result + return result + return FALSE + //Hook, override to run code on- wait this is images //Images have dir without being an atom, so they get their own definition. //Lame. /image/proc/setDir(newdir) dir = newdir -/* -GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0,0,0))) -/obj/proc/make_frozen_visual() - // Used to make the frozen item visuals for Freon. - if(resistance_flags & FREEZE_PROOF) - return - if(!(obj_flags & FROZEN)) - name = "frozen [name]" - add_atom_colour(GLOB.freon_color_matrix, TEMPORARY_COLOUR_PRIORITY) - alpha -= 25 - obj_flags |= FROZEN - -//Assumes already frozed -/obj/proc/make_unfrozen() - if(obj_flags & FROZEN) - name = replacetext(name, "frozen ", "") - remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, GLOB.freon_color_matrix) - alpha += 25 - obj_flags &= ~FROZEN -*/ +/// Gets a dummy savefile for usage in icon generation. +/// Savefiles generated from this proc will be empty. +/proc/get_dummy_savefile(from_failure = FALSE) + var/static/next_id = 0 + if(next_id++ > 9) + next_id = 0 + var/savefile_path = "tmp/dummy-save-[next_id].sav" + try + if(fexists(savefile_path)) + fdel(savefile_path) + return new /savefile(savefile_path) + catch(var/exception/error) + // if we failed to create a dummy once, try again; maybe someone slept somewhere they shouldn't have + if(from_failure) // this *is* the retry, something fucked up + CRASH("get_dummy_savefile failed to create a dummy savefile: '[error]'") + return get_dummy_savefile(from_failure = TRUE) /** * Converts an icon to base64. Operates by putting the icon in the iconCache savefile, @@ -811,21 +479,31 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 /proc/icon2base64(icon/icon) if (!isicon(icon)) return FALSE - var/savefile/dummySave = new("tmp/dummySave.sav") + var/savefile/dummySave = get_dummy_savefile() WRITE_FILE(dummySave["dummy"], icon) var/iconData = dummySave.ExportText("dummy") var/list/partial = splittext(iconData, "{") - . = replacetext(copytext_char(partial[2], 3, -5), "\n", "") //if cleanup fails we want to still return the correct base64 - dummySave.Unlock() - dummySave = null - fdel("tmp/dummySave.sav") //if you get the idea to try and make this more optimized, make sure to still call unlock on the savefile after every write to unlock it. + return replacetext(copytext_char(partial[2], 3, -5), "\n", "") //if cleanup fails we want to still return the correct base64 -/proc/icon2html(thing, target, icon_state, dir = SOUTH, frame = 1, moving = FALSE, sourceonly = FALSE, extra_classes = null) +/** + * generate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. + * Arguments: + * * thing - either a /icon object, or an object that has an appearance (atom, image, mutable_appearance). + * * target - either a reference to or a list of references to /client's or mobs with clients + * * icon_state - string to force a particular icon_state for the icon to be used + * * dir - dir number to force a particular direction for the icon to be used + * * frame - what frame of the icon_state's animation for the icon being used + * * moving - whether or not to use a moving state for the given icon + * * sourceonly - if TRUE, only generate the asset and send back the asset url, instead of tags that display the icon to players + * * extra_clases - string of extra css classes to use when returning the icon string + */ +/proc/icon2html(atom/thing, client/target, icon_state, dir = SOUTH, frame = 1, moving = FALSE, sourceonly = FALSE, extra_classes = null) if (!thing) return // if(SSlag_switch.measures[DISABLE_USR_ICON2HTML] && usr && !HAS_TRAIT(usr, TRAIT_BYPASS_MEASURES)) // return - var/icon/I = thing + + var/icon/icon2collapse = thing if (!target) return @@ -837,33 +515,34 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 targets = list(target) else targets = target - if (!targets.len) - return + if(!length(targets)) + return - if (!isicon(I)) + if (!isicon(icon2collapse)) if (isfile(thing)) //special snowflake - var/url = SSassets.send_anonymous_file(targets, I, "png") + var/url = SSassets.send_anonymous_file(targets, icon2collapse, "png") if(sourceonly) return url return "" - var/atom/A = thing - I = A.icon + //its either an atom, image, or mutable_appearance, we want its icon var + icon2collapse = thing.icon if (isnull(icon_state)) - icon_state = A.icon_state - if (!(icon_state in icon_states(I, 1))) - icon_state = initial(A.icon_state) + icon_state = thing.icon_state + //Despite casting to atom, this code path supports mutable appearances, so let's be nice to them + if (isnull(icon_state) || !(icon_state in icon_states(icon2collapse, 1))) + icon_state = initial(thing.icon_state) if (isnull(dir)) - dir = initial(A.dir) + dir = initial(thing.dir) if (isnull(dir)) - dir = A.dir + dir = thing.dir if (ishuman(thing)) // Shitty workaround for a BYOND issue. - var/icon/temp = I - I = icon() - I.Insert(temp, dir = SOUTH) + var/icon/temp = icon2collapse + icon2collapse = icon() + icon2collapse.Insert(temp, dir = SOUTH) dir = SOUTH else if (isnull(dir)) @@ -871,45 +550,43 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 if (isnull(icon_state)) icon_state = "" - I = icon(I, icon_state, dir, frame, moving) + icon2collapse = icon(icon2collapse, icon_state, dir, frame, moving) - var/url = SSassets.send_anonymous_file(targets, I, "png") + var/url = SSassets.send_anonymous_file(targets, icon2collapse, "png") if(sourceonly) return url return "" -/proc/icon2base64html(thing) - if (!thing) +/proc/icon2base64html(target) + if (!target) return var/static/list/bicon_cache = list() - if (isicon(thing)) - var/icon/I = thing - var/icon_base64 = icon2base64(I) + if (isicon(target)) + var/icon/target_icon = target + var/icon_base64 = icon2base64(target_icon) - if (I.Height() > world.icon_size || I.Width() > world.icon_size) + if (target_icon.Height() > world.icon_size || target_icon.Width() > world.icon_size) var/icon_md5 = md5(icon_base64) icon_base64 = bicon_cache[icon_md5] if (!icon_base64) // Doesn't exist yet, make it. - bicon_cache[icon_md5] = icon_base64 = icon2base64(I) - + bicon_cache[icon_md5] = icon_base64 = icon2base64(target_icon) return "" // Either an atom or somebody fucked up and is gonna get a runtime, which I'm fine with. - var/atom/A = thing - var/key = "[istype(A.icon, /icon) ? "[REF(A.icon)]" : A.icon]:[A.icon_state]" - + var/atom/target_atom = target + var/key = "[istype(target_atom.icon, /icon) ? "[REF(target_atom.icon)]" : target_atom.icon]:[target_atom.icon_state]" if (!bicon_cache[key]) // Doesn't exist, make it. - var/icon/I = icon(A.icon, A.icon_state, SOUTH, 1) - if (ishuman(thing)) // Shitty workaround for a BYOND issue. - var/icon/temp = I - I = icon() - I.Insert(temp, dir = SOUTH) + var/icon/target_icon = icon(target_atom.icon, target_atom.icon_state, SOUTH, 1) + if (ishuman(target)) // Shitty workaround for a BYOND issue. + var/icon/temp = target_icon + target_icon = icon() + target_icon.Insert(temp, dir = SOUTH) - bicon_cache[key] = icon2base64(I) + bicon_cache[key] = icon2base64(target_icon) - return "" + return "" /// Costlier version of icon2html() that uses get_flat_icon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs. /proc/costly_icon2html(thing, target, sourceonly = FALSE) @@ -924,16 +601,41 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 var/icon/I = get_flat_icon(thing) return icon2html(I, target, sourceonly = sourceonly) +/// Perform a shake on an atom, resets its position afterwards +/atom/proc/Shake(pixelshiftx = 2, pixelshifty = 2, duration = 2.5 SECONDS, shake_interval = 0.02 SECONDS) + var/initialpixelx = pixel_x + var/initialpixely = pixel_y + animate(src, pixel_x = initialpixelx + rand(-pixelshiftx,pixelshiftx), pixel_y = initialpixelx + rand(-pixelshifty,pixelshifty), time = shake_interval, flags = ANIMATION_PARALLEL) + for (var/i in 3 to ((duration / shake_interval))) // Start at 3 because we already applied one, and need another to reset + animate(pixel_x = initialpixelx + rand(-pixelshiftx,pixelshiftx), pixel_y = initialpixely + rand(-pixelshifty,pixelshifty), time = shake_interval) + animate(pixel_x = initialpixelx, pixel_y = initialpixely, time = shake_interval) -/// VSTATION SPECIFIC /// +// citadel edit: use this so we can VV it at a negligible performance hit. +GLOBAL_LIST_EMPTY(icon_exists_cache) + +///Checks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE. +/proc/icon_exists(file, state, scream) + if(GLOB.icon_exists_cache[file]?[state]) + return TRUE + + if(GLOB.icon_exists_cache[file]?[state] == FALSE) + return FALSE + + var/list/states = icon_states(file) + + if(!GLOB.icon_exists_cache[file]) + GLOB.icon_exists_cache[file] = list() + + if(state in states) + GLOB.icon_exists_cache[file][state] = TRUE + return TRUE + else + GLOB.icon_exists_cache[file][state] = FALSE + if(scream) + stack_trace("Icon Lookup for state: [state] in file [file] failed.") + return FALSE -//For photo camera. -/proc/build_composite_icon(atom/A) - var/icon/composite = icon(A.icon, A.icon_state, A.dir, 1) - for(var/O in A.overlays) - var/image/I = O - composite.Blend(icon(I.icon, I.icon_state, I.dir, 1), ICON_OVERLAY) - return composite +/// VSTATION SPECIFIC /// /proc/adjust_brightness(color, value) if (!color) @@ -941,7 +643,7 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 if (!value) return color - var/list/RGB = ReadRGB(color) + var/list/RGB = rgb2num(color) RGB[1] = clamp(RGB[1]+value,0,255) RGB[2] = clamp(RGB[2]+value,0,255) RGB[3] = clamp(RGB[3]+value,0,255) @@ -966,87 +668,6 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 swapped = 1 return result -/proc/gen_hud_image(file, person, state, plane) - var/image/img = image(file, person, state) - img.plane = plane //Thanks Byond. - img.layer = MOB_LAYER-0.2 - img.appearance_flags = APPEARANCE_UI - return img - -/** - * Animate a 'halo' around an object. - * - * This proc is not exactly cheap. You'd be well advised to set up many-loops rather than call this super-often. get_compound_icon is - * mostly to blame for this. If Byond ever implements a way to get something's icon more 'gently' than this, do that instead. - * - * * A - This is the atom to put the halo on - * * simple_icons - If set to TRUE, will just perform a very basic icon and icon_state steal. DO USE when possible. - * * color - This is the color for the halo - * * anim_duration - This decides how fast (or slow) the animation plays - * * offset - Mysterious variable that determines size of the halo's gap from icon - * * loops - How many times the animation loops - * * grow_to - Relative to the size of the icon, how big the halo grows while fading (don't use negatives for inward halos, use < 1) - * * pixel_scale - If you'd like the halo to use pixel scale or the default 'fuzzy' scale - */ -/proc/animate_aura(atom/A, simple_icons, color = "#00FF22", anim_duration = 5, offset = 1, loops = 1, grow_to = 2, pixel_scale = FALSE) - ASSERT(A) - - //Take a guess at this, if they didn't set it - if(isnull(simple_icons)) - if(ismob(A)) - simple_icons = FALSE - else - simple_icons = TRUE - - //Get their icon - var/icon/hole - - if(simple_icons) - hole = icon(A.icon, A.icon_state) - else - hole = get_compound_icon(A) - - hole.MapColors(0,0,0, 0,0,0, 0,0,0, 1,1,1) //White. - - //Make a bigger version - var/icon/grower = new(hole) - var/orig_width = grower.Width() - var/orig_height = grower.Height() - var/end_width = orig_width+(offset*2) - var/end_height = orig_height+(offset*2) - var/half_diff_width = (end_width-orig_width)*0.5 - var/half_diff_height = (end_height-orig_height)*0.5 - - //Make icon black - grower.SwapColor("#FFFFFF","#000000") //Black. - - //Scale both icons big so we don't have to deal with low-pixel garbage issues - grower.Scale(orig_width*10,orig_height*10) - hole.Scale(orig_width*9,orig_height*9) - - //Blend the hole in - grower.Blend(hole,ICON_OVERLAY, x = ((orig_width*10-orig_width*9)*0.5)+1, y = ((orig_height*10-orig_height*9)*0.5)+1) - - //Swap white to zero alpha - grower.SwapColor("#FFFFFF","#00000000") - - //Color it - grower.SwapColor("#000000",color) - - //Scale it to final height - grower.Scale(end_width,end_height) - - //Flick it onto them - var/image/img = image(grower,A) - if(pixel_scale) - img.appearance_flags |= PIXEL_SCALE - img.pixel_x = half_diff_width*-1 - img.pixel_y = half_diff_height*-1 - A.flick_overlay_view(img, anim_duration*loops, TRUE) - - //Animate it growing - animate(img, alpha = 0, transform = matrix()*grow_to, time = anim_duration, loop = loops) - /* * * Accurate - Use more accurate color averaging, usually has better results and prevents muddied or overly dark colors. Mad thanks to wwjnc. * * ignoreGreyscale - Excempts greyscale colors from the color list, useful for filtering outlines or plate overlays. @@ -1063,14 +684,14 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 var/final_average if (accurate) //keeping it legible for(var/i = 1 to total) - RGB = ReadRGB(colors[i]) + RGB = rgb2num(colors[i]) colorsum[1] += RGB[1]*RGB[1] colorsum[2] += RGB[2]*RGB[2] colorsum[3] += RGB[3]*RGB[3] final_average = rgb(sqrt(colorsum[1]/total), sqrt(colorsum[2]/total), sqrt(colorsum[3]/total)) else for(var/i = 1 to total) - RGB = ReadRGB(colors[i]) + RGB = rgb2num(colors[i]) colorsum[1] += RGB[1] colorsum[2] += RGB[2] colorsum[3] += RGB[3] @@ -1083,7 +704,7 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 for(var/y_pixel = 1 to I.Height()) var/this_color = I.GetPixel(x_pixel, y_pixel) if(this_color) - if (ignoreGreyscale && ReadHSV(RGBtoHSV(this_color))[2] == 0) //If saturation is 0, must be greyscale + if (ignoreGreyscale && rgb2hsv(this_color)[2] == 0) //If saturation is 0, must be greyscale continue colors.Add(this_color) return colors @@ -1105,36 +726,8 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 for(var/i in 1 to (12 - cm.len)) cm += 0 if(!islist(color)) - color = ReadRGB(color) + color = rgb2num(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]) - -// citadel edit: use this so we can VV it at a negligible performance hit. -GLOBAL_LIST_EMPTY(icon_exists_cache) -/** - * Checks if the given iconstate exists in the given file, caching the result. - * Setting scream to TRUE will print a stack trace ONCE. - * Written by Kapu1178 - */ -/proc/icon_exists(file, state, scream) - if(GLOB.icon_exists_cache[file]?[state]) - return TRUE - - if(GLOB.icon_exists_cache[file]?[state] == FALSE) - return FALSE - - var/list/states = icon_states(file) - - if(!GLOB.icon_exists_cache[file]) - GLOB.icon_exists_cache[file] = list() - - if(state in states) - GLOB.icon_exists_cache[file][state] = TRUE - return TRUE - else - GLOB.icon_exists_cache[file][state] = FALSE - if(scream) - stack_trace("Icon Lookup for state: [state] in file [file] failed.") - return FALSE diff --git a/code/__HELPERS/icons/color.dm b/code/__HELPERS/icons/color.dm deleted file mode 100644 index 63ecf63c08a6..000000000000 --- a/code/__HELPERS/icons/color.dm +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Turns the icon into a greyscaled icon. Alpha masks are untouched. - */ -/icon/proc/greyscale() - MapColors( - GREYSCALE_MULT_R, GREYSCALE_MULT_R, GREYSCALE_MULT_R, - GREYSCALE_MULT_G, GREYSCALE_MULT_G, GREYSCALE_MULT_G, - GREYSCALE_MULT_B, GREYSCALE_MULT_B, GREYSCALE_MULT_B - ) - -/** - * rgb value to greyscale - */ -/proc/rgb_greyscale(rgb) - var/list/unpacked = ReadRGB(rgb) - var/gray = unpacked[1] * GREYSCALE_MULT_R + unpacked[2] *GREYSCALE_MULT_G + unpacked[3] * GREYSCALE_MULT_B - return (unpacked.len > 3) ? rgb(gray, gray, gray, unpacked[4]) : rgb(gray, gray, gray) diff --git a/code/__HELPERS/lists/associations.dm b/code/__HELPERS/lists/associations.dm index 7e2610cb0bad..243906b6dba5 100644 --- a/code/__HELPERS/lists/associations.dm +++ b/code/__HELPERS/lists/associations.dm @@ -32,6 +32,7 @@ flat_list[flat_list[i]] = TRUE return flat_list +//! WARNING: this no longer works; byond will NEVER de-assoc a list for json_encode purposes even if this is called! /proc/assoc_list_strip_value_inplace(list/input) for(var/i in 1 to length(input)) input[input[i]] = null diff --git a/code/__HELPERS/nameof.dm b/code/__HELPERS/nameof.dm index 7cd5777f4652..6e625578ae60 100644 --- a/code/__HELPERS/nameof.dm +++ b/code/__HELPERS/nameof.dm @@ -4,6 +4,12 @@ * datum may be null, but it does need to be a typed var. **/ #define NAMEOF(datum, X) (#X || ##datum.##X) +/** + * NAMEOF: Compile time checked variable name to string conversion + * evaluates to a string equal to "X", but compile errors if X isn't a var on datum. + * datum may be null, but it does need to be a typed var. + **/ +#define NAMEOF_PROC(datum, X) (#X || ##datum.##X()) /** * NAMEOF that actually works in static definitions because src::type requires src to be defined diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 7fcdc575e3a9..5c4a63dc189a 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -1,23 +1,12 @@ /** * Holds procs designed to help with filtering text * Contains groups: - * ! SQL sanitization * ! Text sanitization * ! Text searches * ! Text modification * ! Misc */ -/** - *! SQL sanitization - */ - -/proc/format_table_name(table) - return CONFIG_GET(string/sql_server_prefix) + table - -/proc/format_unified_table_name(table) - return CONFIG_GET(string/sql_unified_prefix) + table - /** *! Text sanitization */ diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 291c065b3100..dcb0a77f17fa 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1372,15 +1372,6 @@ var/list/WALLITEMS = list( if(337.5) return "North-Northwest" -/atom/proc/Shake(pixelshiftx = 15, pixelshifty = 15, duration = 250) - var/initialpixelx = pixel_x - var/initialpixely = pixel_y - var/shiftx = rand(-pixelshiftx,pixelshiftx) - var/shifty = rand(-pixelshifty,pixelshifty) - animate(src, pixel_x = pixel_x + shiftx, pixel_y = pixel_y + shifty, time = 0.2, loop = duration) - pixel_x = initialpixelx - pixel_y = initialpixely - /** * get_holder_at_turf_level(): Similar to get_turf(), will return the "highest up" holder of this atom, excluding the turf. * Example: A fork inside a box inside a locker will return the locker. Essentially, get_just_before_turf(). diff --git a/code/___compile_options.dm b/code/___compile_options.dm index f6937be0f385..1ccc1c6f4e82 100644 --- a/code/___compile_options.dm +++ b/code/___compile_options.dm @@ -116,26 +116,43 @@ #endif // ## CBT BUILD DEFINES - -#ifdef CIBUILDING - #define UNIT_TESTS +#if defined(CIBUILDING) && !defined(OPENDREAM) +#define UNIT_TESTS #endif #ifdef CITESTING - #define TESTING +#define TESTING #endif +#if defined(UNIT_TESTS) + //Hard del testing defines + // TODO: enable once reftrack is back + // #define REFERENCE_TRACKING + // #define REFERENCE_TRACKING_DEBUG + // #define FIND_REF_NO_CHECK_TICK + // #define GC_FAILURE_HARD_LOOKUP + //Ensures all early assets can actually load early + #define DO_NOT_DEFER_ASSETS + //Test at full capacity, the extra cost doesn't matter + #define TIMER_DEBUG +#endif #ifdef TGS // TGS performs its own build of dm.exe, but includes a prepended TGS define. #define CBT #endif -// ## LEGACY WARNING -#if !(defined(CBT) || defined(SPACEMAN_DMM) || defined(OPENDREAM)) - #warn Building with Dream Maker is no longer supported and will result in errors. - #warn In order to build, run BUILD.bat in the root directory. - #warn Consider switching to VSCode editor instead, where you can press Ctrl+Shift+B to build. +#if defined(OPENDREAM) + #if !defined(CIBUILDING) + #warn You are building with OpenDream. Remember to build TGUI manually. + #warn You can do this by running tgui-build.cmd from the bin directory. + #endif +#else + #if !defined(CBT) && !defined(SPACEMAN_DMM) + #warn Building with Dream Maker is no longer supported and will result in errors. + #warn In order to build, run BUILD.cmd in the root directory. + #warn Consider switching to VSCode editor instead, where you can press Ctrl+Shift+B to build. + #endif #endif /** diff --git a/code/controllers/README.md b/code/controllers/README.md new file mode 100644 index 000000000000..1364ca595eea --- /dev/null +++ b/code/controllers/README.md @@ -0,0 +1,13 @@ +# Controllers + +Backend controllers orchestrating the game. + +## Globals + +Many, but not all, controllers are accessible from anywhere in the code with standardized names. + +- Master: As the name implies, the Master Controller performs init, shutdown, and acts as a process scheduler during a round. +- Failsafe: A controller that ensures the Master Controller is running properly. +- Configuration: A global datum that holds server configuration. +- RSname: Repository controllers storing /datum/prototype's that can be queried. +- SSname: Subsystems that handle init behavior, ticking, and other game functions.. diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index b933dea3bd4f..5474503030a5 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -8,19 +8,6 @@ var/list/entries var/list/entries_by_type - // var/list/maplist - // var/datum/map_config/defaultmap - - /* - var/list/modes // allowed modes - var/list/gamemode_cache - var/list/votable_modes // votable modes - var/list/storyteller_cache - var/list/mode_names - var/list/mode_reports - var/list/mode_false_report_weight - */ - var/motd /// If the configuration is loaded @@ -59,7 +46,7 @@ loaded = TRUE if (Master) - Master.OnConfigLoad() + Master.on_config_loaded() /datum/controller/configuration/proc/full_wipe() if(IsAdminAdvancedProcCall()) diff --git a/code/controllers/configuration/entries/database.dm b/code/controllers/configuration/entries/database.dm index 3fbc32d38fe7..f930d31acbfb 100644 --- a/code/controllers/configuration/entries/database.dm +++ b/code/controllers/configuration/entries/database.dm @@ -4,9 +4,6 @@ /datum/config_entry/string/sql_server_prefix protection = CONFIG_ENTRY_LOCKED -/datum/config_entry/string/sql_unified_prefix - protection = CONFIG_ENTRY_LOCKED - /datum/config_entry/string/sql_address protection = CONFIG_ENTRY_HIDDEN | CONFIG_ENTRY_LOCKED config_entry_value = "localhost" diff --git a/code/controllers/configuration_old/configuration.dm b/code/controllers/configuration_old/configuration.dm index d5f4efefc8fc..ea626cb6d33e 100644 --- a/code/controllers/configuration_old/configuration.dm +++ b/code/controllers/configuration_old/configuration.dm @@ -7,27 +7,6 @@ var/server_name = null // server name (for world name / status) var/server_suffix = 0 // generate numeric suffix based on server port - var/nudge_script_path = "nudge.py" // where the nudge.py script is located - - var/hub_visibility = FALSE //CITADEL CHANGE - HUB CONFIG - - var/log_ooc = 0 // log OOC channel - var/log_access = 0 // log login/logout - var/log_say = 0 // log client say - var/log_admin = 0 // log admin actions - var/log_debug = 1 // log debug output - var/log_game = 0 // log game events - var/log_vote = 0 // log voting - var/log_whisper = 0 // log client whisper - var/log_emote = 0 // log emotes - var/log_attack = 0 // log attack messages - var/log_adminchat = 0 // log admin chat messages - var/log_adminwarn = 0 // log warnings admins get about bomb construction and such - var/log_pda = 0 // log pda messages - var/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits - var/log_runtime = 0 // logs world.log to a file - var/log_world_output = 0 // log world.log << messages - var/log_topic = TRUE var/allow_vote_restart = 0 // allow votes to restart var/ert_admin_call_only = 0 var/allow_vote_mode = 0 // allow votes to change mode @@ -40,19 +19,12 @@ var/vote_autogamemode_timeleft = 100 //Length of time before round start when autogamemode vote is called (in seconds, default 100). var/vote_no_default = 0 // vote does not default to nochange/norestart (tbi) var/vote_no_dead = 0 // dead people can't vote (tbi) -// var/enable_authentication = 0 // goon authentication - var/del_new_on_log = 1 // del's new players if they log before they spawn in var/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard var/traitor_scaling = 0 //if amount of traitors scales based on amount of players var/objectives_disabled = 0 //if objectives are disabled or not var/protect_roles_from_antagonist = 0// If security and such can be traitor/cult/other var/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke. - var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. var/fps = 20 - var/tick_limit_mc_init = TICK_LIMIT_MC_INIT_DEFAULT //SSinitialization throttling - var/Tickcomp = 0 - var/socket_talk = 0 // use socket_talk to communicate with other processes - var/list/resource_urls = null var/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. var/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round. var/list/mode_names = list() @@ -76,13 +48,6 @@ var/guest_jobban = 1 var/usewhitelist = 0 var/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 - var/show_mods = 0 - var/show_devs = 0 - var/show_event_managers = 0 - var/mods_can_tempban = 0 - var/mods_can_job_tempban = 0 - var/mod_tempban_max = 1440 - var/mod_job_tempban_max = 1440 var/load_jobs_from_txt = 0 var/ToRban = 0 var/automute_on = 0 //enables automuting/spam prevention @@ -101,8 +66,6 @@ var/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech var/usealienwhitelist = 0 - var/limitalienplayers = 0 - var/alien_to_human_ratio = 0.5 var/allow_extra_antags = 0 var/guests_allowed = 1 var/debugparanoid = 0 @@ -117,25 +80,19 @@ var/rulesurl var/mapurl - var/forbid_singulo_possession = 0 - //game_options.txt configs var/health_threshold_softcrit = 0 var/health_threshold_crit = 0 var/health_threshold_dead = -100 - var/default_brain_health = 400 var/allow_headgibs = FALSE var/revival_pod_plants = 1 var/revival_cloning = 1 var/revival_brain_life = -1 - var/use_loyalty_implants = 0 - var/welder_vision = 1 - var/generate_map = 1 var/no_click_cooldown = 0 //Used for modifying movement speed for mobs. @@ -167,17 +124,6 @@ var/enter_allowed = 1 - var/use_irc_bot = 0 - var/use_node_bot = 0 - var/irc_bot_port = 0 - var/irc_bot_host = "" - var/irc_bot_export = 0 // whether the IRC bot in use is a Bot32 (or similar) instance; Bot32 uses world.Export() instead of nudge.py/libnudge - var/main_irc = "" - var/admin_irc = "" - var/python_path = "" //Path to the python executable. Defaults to "python" on windows and "/usr/bin/env python2" on unix - var/use_lib_nudge = 0 //Use the C library nudge instead of the python nudge. - var/use_overmap = 0 - // Event settings var/expected_round_length = 3 * 60 * 60 * 10 // 3 hours // If the first delay has a custom start time @@ -198,22 +144,10 @@ var/dooc_allowed = 1 var/dsay_allowed = 1 - var/static/starlight = 0 // Whether space turfs have ambient light or not - - var/list/ert_species = list(SPECIES_HUMAN) - var/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" - var/aggressive_changelog = 0 - var/list/language_prefixes = list(",","#")//Default language prefixes - var/show_human_death_message = 1 - - var/radiation_decay_rate = 1 //How much radiation is reduced by each tick - var/radiation_resistance_multiplier = 8.5 - var/radiation_lower_limit = 0.35 //If the radiation level for a turf would be below this, ignore it. - var/comms_key = "default_password" var/minute_click_limit = 500 //default: 7+ clicks per second @@ -271,18 +205,12 @@ if(type == "config") switch (name) - if ("resource_urls") - config_legacy.resource_urls = splittext(value, " ") - if ("admin_legacy_system") config_legacy.admin_legacy_system = 1 if ("ban_legacy_system") config_legacy.ban_legacy_system = 1 - if ("hub_visibility") //CITADEL CHANGE - ADDS HUB CONFIG - config_legacy.hub_visibility = 1 - if ("jobs_have_minimal_access") config_legacy.jobs_have_minimal_access = 1 @@ -292,63 +220,9 @@ if ("multi_z_explosion_scalar") multi_z_explosion_scalar = text2num(value) - if ("log_ooc") - config_legacy.log_ooc = 1 - - if ("log_access") - config_legacy.log_access = 1 - - if ("log_say") - config_legacy.log_say = 1 - if ("debug_paranoid") config_legacy.debugparanoid = 1 - if ("log_admin") - config_legacy.log_admin = 1 - - if ("log_debug") - config_legacy.log_debug = text2num(value) - - if ("log_game") - config_legacy.log_game = 1 - - if ("log_vote") - config_legacy.log_vote = 1 - - if ("log_whisper") - config_legacy.log_whisper = 1 - - if ("log_attack") - config_legacy.log_attack = 1 - - if ("log_emote") - config_legacy.log_emote = 1 - - if ("log_adminchat") - config_legacy.log_adminchat = 1 - - if ("log_adminwarn") - config_legacy.log_adminwarn = 1 - - if ("log_pda") - config_legacy.log_pda = 1 - - if ("log_world_output") - config_legacy.log_world_output = 1 - - if ("log_hrefs") - config_legacy.log_hrefs = 1 - - if ("log_runtime") - config_legacy.log_runtime = 1 - - if ("log_topic") - config_legacy.log_topic = text2num(value) - - if ("generate_map") - config_legacy.generate_map = 1 - if ("no_click_cooldown") config_legacy.no_click_cooldown = 1 @@ -419,9 +293,6 @@ if ("serversuffix") config_legacy.server_suffix = 1 - if ("nudge_script_path") - config_legacy.nudge_script_path = value - if ("hostedby") config_legacy.hostedby = value @@ -535,67 +406,22 @@ if("kick_inactive") config_legacy.kick_inactive = text2num(value) - if("show_mods") - config_legacy.show_mods = 1 - - if("show_devs") - config_legacy.show_devs = 1 - - if("show_event_managers") - config_legacy.show_event_managers = 1 - - if("mods_can_tempban") - config_legacy.mods_can_tempban = 1 - - if("mods_can_job_tempban") - config_legacy.mods_can_job_tempban = 1 - - if("mod_tempban_max") - config_legacy.mod_tempban_max = text2num(value) - - if("mod_job_tempban_max") - config_legacy.mod_job_tempban_max = text2num(value) - if("load_jobs_from_txt") load_jobs_from_txt = 1 - if("forbid_singulo_possession") - forbid_singulo_possession = 1 - - if("popup_admin_pm") - config_legacy.popup_admin_pm = 1 - if("allow_holidays") Holiday = 1 - if("use_irc_bot") - use_irc_bot = 1 - - if("use_node_bot") - use_node_bot = 1 - - if("irc_bot_port") - config_legacy.irc_bot_port = value - - if("irc_bot_export") - irc_bot_export = 1 - if("ticklag") var/ticklag = text2num(value) if(ticklag > 0) fps = 10 / ticklag - if("tick_limit_mc_init") - tick_limit_mc_init = text2num(value) - if("allow_antag_hud") config_legacy.antag_hud_allowed = 1 if("antag_hud_restricted") config_legacy.antag_hud_restricted = 1 - if("socket_talk") - socket_talk = text2num(value) - if("humans_need_surnames") humans_need_surnames = 1 @@ -608,10 +434,6 @@ if("usealienwhitelist") usealienwhitelist = 1 - if("alien_player_ratio") - limitalienplayers = 1 - alien_to_human_ratio = text2num(value) - if("assistant_maint") config_legacy.assistant_maint = 1 @@ -630,22 +452,6 @@ if("uneducated_mice") config_legacy.uneducated_mice = 1 - if("irc_bot_host") - config_legacy.irc_bot_host = value - - if("main_irc") - config_legacy.main_irc = value - - if("admin_irc") - config_legacy.admin_irc = value - - if("python_path") - if(value) - config_legacy.python_path = value - - if("use_lib_nudge") - config_legacy.use_lib_nudge = 1 - if("allow_cult_ghostwriter") config_legacy.cult_ghostwriter = 1 @@ -664,21 +470,6 @@ if("max_maint_drones") config_legacy.max_maint_drones = text2num(value) - if("use_overmap") - config_legacy.use_overmap = 1 -/* - if("station_levels") - (LEGACY_MAP_DATUM).station_levels = text2numlist(value, ";") - - if("admin_levels") - (LEGACY_MAP_DATUM).admin_levels = text2numlist(value, ";") - - if("contact_levels") - (LEGACY_MAP_DATUM).contact_levels = text2numlist(value, ";") - - if("player_levels") - (LEGACY_MAP_DATUM).player_levels = text2numlist(value, ";") -*/ if("expected_round_length") config_legacy.expected_round_length = MinutesToTicks(text2num(value)) @@ -712,26 +503,15 @@ config_legacy.event_delay_upper[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) config_legacy.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) - if("ert_species") - config_legacy.ert_species = splittext(value, ";") - if(!config_legacy.ert_species.len) - config_legacy.ert_species += SPECIES_HUMAN - if("law_zero") law_zero = value - if("aggressive_changelog") - config_legacy.aggressive_changelog = 1 - if("default_language_prefixes") var/list/values = splittext(value, " ") if(values.len > 0) language_prefixes = values - if("radiation_lower_limit") - radiation_lower_limit = text2num(value) - - if ("paranoia_logging") + if("paranoia_logging") config_legacy.paranoia_logging = 1 if("minute_click_limit") @@ -768,18 +548,12 @@ config_legacy.health_threshold_softcrit = value if("health_threshold_dead") config_legacy.health_threshold_dead = value - if("show_human_death_message") - config_legacy.show_human_death_message = 1 if("revival_pod_plants") config_legacy.revival_pod_plants = value if("revival_cloning") config_legacy.revival_cloning = value if("revival_brain_life") config_legacy.revival_brain_life = value - if("default_brain_health") - config_legacy.default_brain_health = text2num(value) - if(!config_legacy.default_brain_health || config_legacy.default_brain_health < 1) - config_legacy.default_brain_health = initial(config_legacy.default_brain_health) if("allow_headgibs") config_legacy.allow_headgibs = TRUE @@ -804,9 +578,6 @@ if("footstep_volume") config_legacy.footstep_volume = text2num(value) - if("use_loyalty_implants") - config_legacy.use_loyalty_implants = 1 - else log_misc("Unknown setting in configuration: '[name]'") @@ -826,12 +597,3 @@ if(M && M.can_start() && !isnull(config_legacy.probabilities[M.config_tag]) && config_legacy.probabilities[M.config_tag] > 0) runnable_modes |= M return runnable_modes - -/datum/configuration_legacy/proc/post_load() - //apply a default value to config_legacy.python_path, if needed - if (!config_legacy.python_path) - if(world.system_type == UNIX) - config_legacy.python_path = "/usr/bin/env python2" - else //probably windows, if not this should work anyway - config_legacy.python_path = "python" - world.update_hub_visibility(hub_visibility) //CITADEL CHANGE - HUB CONFIG diff --git a/code/controllers/configuration_old/configuration_vr.dm b/code/controllers/configuration_old/configuration_vr.dm deleted file mode 100644 index 3b61d5dd19dd..000000000000 --- a/code/controllers/configuration_old/configuration_vr.dm +++ /dev/null @@ -1,41 +0,0 @@ -// -// Lets read our settings from the configuration file on startup too! -// - -/datum/configuration_legacy - var/time_off = FALSE - -/hook/startup/proc/read_vs_config() - var/list/Lines = world.file2list("config/legacy/config.txt") - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - switch (name) - if ("chat_webhook_url") - config_legacy.chat_webhook_url = value - if ("chat_webhook_key") - config_legacy.chat_webhook_key = value - if ("items_survive_digestion") - config_legacy.items_survive_digestion = 1 - if ("time_off") - config_legacy.time_off = TRUE - return 1 diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm index 93d5897ff453..252845318f52 100644 --- a/code/controllers/controller.dm +++ b/code/controllers/controller.dm @@ -15,6 +15,9 @@ // todo: kil var/verbose_logging = FALSE +/datum/controller/vv_delete() + return FALSE + /** * Called to initialize a controller. * diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 7d0c002dad77..60a8334a375b 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -117,6 +117,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new load_configuration() if(!config) config = new + if(!Configuration) + Configuration = new + Configuration.Initialize() //# 2. set up random seed if(!random_seed) @@ -883,10 +886,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/datum/controller/subsystem/SS = S SS.StopLoadingMap() -/datum/controller/master/proc/OnConfigLoad() +/datum/controller/master/proc/on_config_loaded() for (var/thing in subsystems) var/datum/controller/subsystem/SS = thing - SS.OnConfigLoad() + SS.on_config_loaded() + for(var/datum/controller/repository/repository in SSrepository.get_all_repositories()) + repository.on_config_loaded() /** * CitRP snowflake special: Check if any subsystems are sleeping. diff --git a/code/controllers/repository.dm b/code/controllers/repository.dm index 402a48e30dd4..a53aa8e7ffc2 100644 --- a/code/controllers/repository.dm +++ b/code/controllers/repository.dm @@ -26,6 +26,17 @@ /// expected type of prototype var/expected_type + /// database key; this is immutable. + /// * persistence is disabled if this is not set + var/database_key + /// store version + /// * persistence is disabled if this is not set + /// * migration is triggered if this doesn't match a loaded entry + /// * this should only ever be incremented. + var/store_version + /// store enabled? Updated by config reloads. + var/store_enabled = FALSE + /// by-id lookup var/list/id_lookup /// by-type lookup @@ -34,6 +45,11 @@ /// fetched subtype lists var/tmp/list/subtype_lists + /// 'doesn't exist' cache for DB loads + var/tmp/list/doesnt_exist_cache + var/const/doesnt_exist_cache_trim_at = 1000 + var/const/doesnt_exist_cache_trim_to = 500 + /// temporary id to path lookup used during init // todo: figure out a way to not do this, this is bad var/tmp/list/init_reverse_lookup_shim @@ -43,6 +59,7 @@ type_lookup = list() subtype_lists = list() init_reverse_lookup_shim = list() + doesnt_exist_cache = list() for(var/datum/prototype/casted as anything in subtypesof(expected_type)) if(initial(casted.abstract_type) == casted) continue @@ -57,6 +74,14 @@ init_reverse_lookup_shim = null return ..() +/datum/controller/repository/vv_edit_var(var_name, var_value, mass_edit, raw_edit) + switch(var_name) + if(NAMEOF(src, store_version), NAMEOF(src, database_key), NAMEOF(src, store_enabled)) + return FALSE + if(NAMEOF(src, expected_type)) + return FALSE + return ..() + /** * Repository Recover() * @@ -82,6 +107,13 @@ . = FALSE src.subtype_lists = list() +/** + * Called when config is reloaded. + */ +/datum/controller/repository/proc/on_config_loaded() + SHOULD_CALL_PARENT(TRUE) + store_enabled = Configuration.get_entry(/datum/toml_config_entry/backend/repository/persistence) && database_key && store_version + /** * regenerates entries, kicking out anything that's in the way */ @@ -105,6 +137,7 @@ * * * Allows passing in a prototype instance which will be returned as itself. * Useful for procs that should accept types, IDs, *and* instances. + * * Unlike fetch local / fetch or defer, this **can** sleep! * * prototypes returned should never, ever be modified * @@ -119,7 +152,102 @@ if(init_reverse_lookup_shim) var/potential_path = init_reverse_lookup_shim[type_or_id] return fetch(potential_path) - return id_lookup[type_or_id] + . = id_lookup[type_or_id] + if(.) + return + if(!store_enabled) + return + if(doesnt_exist_cache[type_or_id]) + return + return handle_db_load(type_or_id) + else if(ispath(type_or_id)) + . = type_lookup[type_or_id] + if(.) + return + if(initial(type_or_id.abstract_type) == type_or_id) + CRASH("tried to fetch an abstract prototype") + var/datum/prototype/loading = new type_or_id + loading.hardcoded = TRUE + load(loading) + return loading + else if(istype(type_or_id)) + return type_or_id + else + CRASH("what?") + +/** + * Fetches a prototype by type or ID. + * + * * Allows passing in a prototype instance which will be returned as itself. + * Useful for procs that should accept types, IDs, *and* instances. + * * If something doesn't exist and we don't know if it exists in the database, we throw a runtime error. + * * If fetching a hardcoded path, this should generally be used as it never sleeps. + * + * prototypes returned should never, ever be modified + * + * @return prototype instance or null + */ +/datum/controller/repository/proc/fetch_local_or_throw(datum/prototype/type_or_id) as /datum/prototype + RETURN_TYPE(/datum/prototype) + // todo: optimize + if(isnull(type_or_id)) + return + else if(istext(type_or_id)) + if(init_reverse_lookup_shim) + var/potential_path = init_reverse_lookup_shim[type_or_id] + return fetch_local_or_throw(potential_path) + . = id_lookup[type_or_id] + if(.) + return + if(!store_enabled) + return + if(doesnt_exist_cache[type_or_id]) + return + CRASH("fetch_local_or_throw of [type_or_id] couldn't determine if id existed without a fetch.") + else if(ispath(type_or_id)) + . = type_lookup[type_or_id] + if(.) + return + if(initial(type_or_id.abstract_type) == type_or_id) + CRASH("tried to fetch an abstract prototype") + var/datum/prototype/loading = new type_or_id + loading.hardcoded = TRUE + load(loading) + return loading + else if(istype(type_or_id)) + return type_or_id + else + CRASH("what?") + +/** + * Fetches a prototype by type or ID. + * + * * Allows passing in a prototype instance which will be returned as itself. + * Useful for procs that should accept types, IDs, *and* instances. + * * If something doesn't exist and we don't know if it exists in the database, we return + * REPOSITORY_FETCH_DEFER. The caller should invoke normal fetch() at a time when sleeping is allowed. + * + * prototypes returned should never, ever be modified + * + * @return prototype instance or null + */ +/datum/controller/repository/proc/fetch_or_defer(datum/prototype/type_or_id) as /datum/prototype + RETURN_TYPE(/datum/prototype) + // todo: optimize + if(isnull(type_or_id)) + return + else if(istext(type_or_id)) + if(init_reverse_lookup_shim) + var/potential_path = init_reverse_lookup_shim[type_or_id] + return fetch_or_defer(potential_path) + . = id_lookup[type_or_id] + if(.) + return + if(!store_enabled) + return + if(doesnt_exist_cache[type_or_id]) + return + return REPOSITORY_FETCH_DEFER else if(ispath(type_or_id)) . = type_lookup[type_or_id] if(.) @@ -165,7 +293,7 @@ for(var/datum/prototype/casted as anything in subtypesof(path)) if(initial(casted.abstract_type) == casted) continue - var/datum/prototype/instance = fetch(casted) + var/datum/prototype/instance = fetch_local_or_throw(casted) generating += instance return generating @@ -184,7 +312,11 @@ * After this call, the repository now owns the instance, not whichever system created it. */ /datum/controller/repository/proc/register(datum/prototype/instance) - return load(instance) + . = load(instance) + if(!.) + return + if(store_enabled) + handle_db_store(instance) //* Private API *// @@ -203,7 +335,7 @@ CRASH("attempted to load an instance that collides with a currently loaded instance on type.") if(!instance.register()) . = FALSE - CRASH("instance refused to unregister. this is undefined behavior.") + CRASH("instance failed to register. this is undefined behavior.") id_lookup[instance.id] = instance if(instance.hardcoded) // invalidate cache @@ -222,7 +354,7 @@ PROTECTED_PROC(TRUE) if(!instance.unregister()) . = FALSE - CRASH("instance refused to unregister. this is undefined behavior.") + CRASH("instance failed to unregister. this is undefined behavior.") id_lookup -= instance.id if(instance.hardcoded) // invalidate cache @@ -230,3 +362,90 @@ subtype_lists = list() type_lookup -= instance.type return TRUE + +/** + * Perform migration on a data-list from the database. + * + * * Edit the passed in list directly. + * * This should update to latest. + * + * todo: proc to auto-migrate everything. + */ +/datum/controller/repository/proc/migrate(list/modifying, from_version) + PROTECTED_PROC(TRUE) + +/datum/controller/repository/proc/handle_db_store(datum/prototype/instance) + doesnt_exist_cache -= instance.id + + // intentionally allow admin proccalls to bypass checks in NewQuery() + var/old_usr = usr + usr = null + + var/datum/db_query/store_query = SSdbcore.NewQuery( + "INSERT INTO " + DB_PREFIX_TABLE_NAME("backend_repository") + "(repository, id, version, data) VALUES \ + (:repo, :id, :version, :data) ON DUPLICATE KEY UPDATE data = :data, modifiedTime = Now(), version = :version", + list( + "repo" = database_key, + "id" = instance.id, + "version" = store_version, + "data" = json_encode(instance.serialize()), + ), + ) + + usr = old_usr + + store_query.Execute(TRUE) + qdel(store_query) + +/datum/controller/repository/proc/handle_db_load(instance_id) + if(doesnt_exist_cache[instance_id]) + return + + // intentionally allow admin proccalls to bypass checks in NewQuery() + var/old_usr = usr + usr = null + + var/datum/db_query/load_query = SSdbcore.NewQuery( + "SELECT version, data FROM " + DB_PREFIX_TABLE_NAME("backend_repository") + " WHERE repository = :repo, id = :id", + list( + "repo" = database_key, + "id" = instance_id, + ), + ) + + usr = old_usr + + load_query.Execute(TRUE) + + if(!length(load_query.item)) + mark_doesnt_exist(instance_id) + else + var/list/fetched = load_query.item[1] + var/version = fetched[1] + var/encoded_data = fetched[2] + var/list/decoded_data = json_decode(encoded_data) + var/migrated = FALSE + + if(version < store_version) + migrate(decoded_data, version) + migrated = TRUE + else if(version == store_version) + mark_doesnt_exist(instance_id) + CRASH("[version] was not less or eq to [store_version]. something's very wrong!") + + var/datum/prototype/loaded_instance = new expected_type + loaded_instance.deserialize(decoded_data) + if(!load(loaded_instance)) + mark_doesnt_exist(instance_id) + CRASH("[instance_id] failed to load into the repository during database load!") + . = loaded_instance + + if(migrated) + handle_db_store(loaded_instance) + + qdel(load_query) + +/datum/controller/repository/proc/mark_doesnt_exist(instance_id) + doesnt_exist_cache[instance_id] = TRUE + if(length(doesnt_exist_cache) > doesnt_exist_cache_trim_at) + doesnt_exist_cache.len = doesnt_exist_cache_trim_to diff --git a/code/controllers/repository/designs.dm b/code/controllers/repository/designs.dm index 23ed3186a240..2667472b765f 100644 --- a/code/controllers/repository/designs.dm +++ b/code/controllers/repository/designs.dm @@ -4,6 +4,7 @@ REPOSITORY_DEF(designs) name = "Repository - Designs" expected_type = /datum/prototype/design + database_key = "design" //* caches *// diff --git a/code/controllers/repository/flooring.dm b/code/controllers/repository/flooring.dm index 8b7bd2ba2e38..ed8190c1253a 100644 --- a/code/controllers/repository/flooring.dm +++ b/code/controllers/repository/flooring.dm @@ -20,17 +20,21 @@ REPOSITORY_DEF(flooring) if(!.) return if(ispath(instance.build_type, /obj/item/stack)) - LAZYADD(build_item_lookup[instance.build_type], instance) + if(build_item_lookup?[instance.build_type]) + stack_trace("attempted to load [instance.id], but build type [instance.build_type] collides with [build_item_lookup?[instance.build_type]:id]. suppressing [instance.id]'s build_type.") + LAZYSET(build_item_lookup, instance.build_type, instance) else if(ispath(instance.build_type, /datum/prototype/material)) var/datum/prototype/material/casted_material = instance.build_type - LAZYADD(build_material_lookup[initial(casted_material.id)], instance) + if(build_material_lookup?[casted_material.id]) + stack_trace("attempted to load [instance.id], but material [casted_material.id] collides with [build_material_lookup?[casted_material.id]:id]. suppressing [instance.id]'s build_type.") + LAZYSET(build_material_lookup, initial(casted_material.id), instance) /datum/controller/repository/flooring/unload(datum/prototype/flooring/instance) . = ..() if(!.) return if(ispath(instance.build_type, /obj/item/stack)) - LAZYREMOVE(build_item_lookup[instance.build_type], instance) + LAZYREMOVE(build_item_lookup, instance.build_type) else if(ispath(instance.build_type, /datum/prototype/material)) var/datum/prototype/material/casted_material = instance.build_type - LAZYREMOVE(build_material_lookup[initial(casted_material.id)], instance) + LAZYREMOVE(build_material_lookup, initial(casted_material.id)) diff --git a/code/controllers/repository/guidebook.dm b/code/controllers/repository/guidebook.dm index f5ea86eb1870..33c878a9fb77 100644 --- a/code/controllers/repository/guidebook.dm +++ b/code/controllers/repository/guidebook.dm @@ -1,6 +1,7 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2023 Citadel Station developers. *// +// todo: this shouldn't be a repository, it can just be a controller REPOSITORY_DEF(guidebook) name = "Repository - Guidebook" expected_type = /datum/prototype/guidebook_section diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index bf1333d28b4e..3287b34004fc 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -421,7 +421,7 @@ state = SS_PAUSING /// Called after the config has been loaded or reloaded. -/datum/controller/subsystem/proc/OnConfigLoad() +/datum/controller/subsystem/proc/on_config_loaded() return /** diff --git a/code/controllers/subsystem/assets.dm b/code/controllers/subsystem/assets.dm index eff83427a200..ff29b03f16ef 100644 --- a/code/controllers/subsystem/assets.dm +++ b/code/controllers/subsystem/assets.dm @@ -191,7 +191,7 @@ SUBSYSTEM_DEF(assets) /datum/controller/subsystem/assets/proc/get_dynamic_item_url_by_name(name) return dynamic_asset_items_by_name[name]?.get_url() -/datum/controller/subsystem/assets/OnConfigLoad() +/datum/controller/subsystem/assets/on_config_loaded() var/newtransporttype = /datum/asset_transport/browse_rsc switch (CONFIG_GET(string/asset_transport)) if ("webroot") diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index 71f9eabb9292..c2f2bb47162a 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -135,9 +135,34 @@ SUBSYSTEM_DEF(atoms) * * ... - rest of args are passed to new() / Initialize(). */ /datum/controller/subsystem/atoms/proc/instance_atom_immediate(path, mapload, atom/where, ...) + SHOULD_NOT_SLEEP(TRUE) var/old_init_status = atom_init_status atom_init_status = mapload? ATOM_INIT_IN_NEW_MAPLOAD : ATOM_INIT_IN_NEW_REGULAR - var/atom/created = new path(arglist(args.Copy())) + var/atom/created = new path(arglist(args.Copy(3))) + atom_init_status = old_init_status + return created + +/** + * immediately creates and inits an atom with a preloader callback. + * + * @params + * * path - typepath + * * mapload - treat as mapload? + * * preload_call - callback to invoke with (created) for the created atom. This is not allowed to sleep. + * * where - location to init at + * * ... - rest of args are passed to new() / Initialize(). + */ +/datum/controller/subsystem/atoms/proc/instance_atom_immediate_with_preloader(path, mapload, datum/callback/preload_call, atom/where, ...) + SHOULD_NOT_SLEEP(TRUE) + var/old_init_status = atom_init_status + atom_init_status = ATOM_INIT_IN_SUBSYSTEM + var/atom/created = new path(arglist(args.Copy(4))) + preload_call.invoke_no_sleep(created) + atom_init_status = mapload? ATOM_INIT_IN_NEW_MAPLOAD : ATOM_INIT_IN_NEW_REGULAR + // this sets 'where' to if we should be mapload. + // this is acceptable because args[4] ('where') is not used again. + args[4] = mapload + InitAtom(created, FALSE, args.Copy(4)) atom_init_status = old_init_status return created diff --git a/code/controllers/subsystem/characters/storage.dm b/code/controllers/subsystem/characters/storage.dm index 5a1b6045010c..bb84401ee120 100644 --- a/code/controllers/subsystem/characters/storage.dm +++ b/code/controllers/subsystem/characters/storage.dm @@ -33,7 +33,7 @@ // last played is not updated by this proc // everything else can though! var/datum/db_query/update_query = SSdbcore.NewQuery( - "UPDATE [format_table_name("character")] \ + "UPDATE [DB_PREFIX_TABLE_NAME("character")] \ SET[persisting? " last_persisted = NOW()," : ""] canonical_name = :name, persist_data = :data, \ playerid = :pid \ WHERE id = :id", @@ -48,7 +48,7 @@ qdel(update_query) else var/datum/db_query/insert_query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("character")] \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("character")] \ (`created`, `last_played`, `last_persisted`, `playerid`, `canonical_name`, \ `persist_data`, `character_type`) \ VALUES (NOW(), NULL, [persisting? "NOW" : "NULL"], :pid, :name, :data, :type)", @@ -85,7 +85,7 @@ var/datum/db_query/load_query = SSdbcore.NewQuery( "SELECT `id` FROM \ - [format_table_name("character")] WHERE playerid = :id AND canonical_name = :name AND character_type = :type", + [DB_PREFIX_TABLE_NAME("character")] WHERE playerid = :id AND canonical_name = :name AND character_type = :type", list( "id" = playerid, "canonical_name" = name, @@ -134,7 +134,7 @@ var/datum/db_query/load_query = SSdbcore.NewQuery( "SELECT `created`, `last_played`, `last_persisted`, `playerid`, `canonical_name`, `persist_data`, `character_type` FROM \ - [format_table_name("character")] WHERE id = :id", + [DB_PREFIX_TABLE_NAME("character")] WHERE id = :id", list( "id" = id, ) @@ -190,7 +190,7 @@ . = list() var/datum/db_query/iteration_query = SSdbcore.ExecuteQuery( - "SELECT id FROM [format_table_name("character")] WHERE playerid = :id", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("character")] WHERE playerid = :id", list( "id" = playerid ) @@ -223,7 +223,7 @@ // section below can never be allowed to runtime var/datum/db_query/mark_query = SSdbcore.ExecuteQuery( - "UPDATE [format_table_name("character")] SET last_played = NOW() WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("character")] SET last_played = NOW() WHERE id = :id", list( "id" = id ) diff --git a/code/controllers/subsystem/dbcore/_dbcore.dm b/code/controllers/subsystem/dbcore/_dbcore.dm index 106a7fe09119..7e2b57d43fef 100644 --- a/code/controllers/subsystem/dbcore/_dbcore.dm +++ b/code/controllers/subsystem/dbcore/_dbcore.dm @@ -46,7 +46,7 @@ SUBSYSTEM_DEF(dbcore) //This is as close as we can get to the true round end before Disconnect() without changing where it's called, defeating the reason this is a subsystem if(SSdbcore.Connect()) var/datum/db_query/query_round_shutdown = SSdbcore.NewQuery( - "UPDATE [format_table_name("round")] SET shutdown_datetime = Now() WHERE id = :round_id", + "UPDATE [DB_PREFIX_TABLE_NAME("round")] SET shutdown_datetime = Now() WHERE id = :round_id", list("round_id" = GLOB.round_id) ) query_round_shutdown.Execute() @@ -114,7 +114,7 @@ SUBSYSTEM_DEF(dbcore) if(CONFIG_GET(flag/sql_enabled)) if(Connect()) log_world("Database connection established.") - var/datum/db_query/query_db_version = NewQuery("SELECT major, minor FROM [format_table_name("schema_revision")] ORDER BY date DESC LIMIT 1") + var/datum/db_query/query_db_version = NewQuery("SELECT major, minor FROM [DB_PREFIX_TABLE_NAME("schema_revision")] ORDER BY date DESC LIMIT 1") query_db_version.Execute() if(query_db_version.NextRow()) db_major = text2num(query_db_version.item[1]) @@ -135,7 +135,7 @@ SUBSYSTEM_DEF(dbcore) if(!Connect()) return var/datum/db_query/query_round_initialize = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("round")] (initialize_datetime, server_ip, server_port) VALUES (Now(), INET_ATON(:internet_address), :port)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("round")] (initialize_datetime, server_ip, server_port) VALUES (Now(), INET_ATON(:internet_address), :port)", list("internet_address" = world.internet_address || "0", "port" = "[world.port]") ) query_round_initialize.Execute(async = FALSE) @@ -147,7 +147,7 @@ SUBSYSTEM_DEF(dbcore) if(!Connect()) return var/datum/db_query/query_round_start = SSdbcore.NewQuery( - "UPDATE [format_table_name("round")] SET start_datetime = Now() WHERE id = :round_id", + "UPDATE [DB_PREFIX_TABLE_NAME("round")] SET start_datetime = Now() WHERE id = :round_id", list("round_id" = GLOB.round_id) ) query_round_start.Execute() @@ -157,7 +157,7 @@ SUBSYSTEM_DEF(dbcore) if(!Connect()) return var/datum/db_query/query_round_end = SSdbcore.NewQuery( - "UPDATE [format_table_name("round")] SET end_datetime = Now() WHERE id = :round_id", + "UPDATE [DB_PREFIX_TABLE_NAME("round")] SET end_datetime = Now() WHERE id = :round_id", list("round_id" = GLOB.round_id) ) query_round_end.Execute() diff --git a/code/controllers/subsystem/inactivity.dm b/code/controllers/subsystem/inactivity.dm deleted file mode 100644 index 70d04751155b..000000000000 --- a/code/controllers/subsystem/inactivity.dm +++ /dev/null @@ -1,42 +0,0 @@ -SUBSYSTEM_DEF(inactivity) - name = "Inactivity" - wait = 600 - subsystem_flags = SS_BACKGROUND | SS_NO_TICK_CHECK | SS_NO_INIT - -/datum/controller/subsystem/inactivity/fire() - if(config_legacy.kick_inactive) - for(var/i in GLOB.clients) - var/client/C = i - if(C.is_afk(config_legacy.kick_inactive MINUTES) && !C.holder) // Allow admins to idle - to_chat(C,"You have been inactive for more than [config_legacy.kick_inactive] minute\s and have been disconnected.") - var/information - - if(C.mob) - if(ishuman(C.mob)) - var/job - var/mob/living/carbon/human/H = C.mob - var/datum/data/record/R = find_general_record("name", H.real_name) - if(R) - job = R.fields["real_rank"] - if(!job && H.mind) - job = H.mind.assigned_role - if(!job && H.job) - job = H.job - if(job) - information = " while [job]." - - else if(issilicon(C.mob)) - information = " while a silicon." - if(isAI(C.mob)) - var/mob/living/silicon/ai/A = C.mob - GLOB.empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(A.loc) - GLOB.global_announcer.autosay("[A] has been moved to intelligence storage.", "Artificial Intelligence Oversight") - A.clear_client() - information = " while an AI." - - var/adminlinks - adminlinks = " (JMP|CRYO)" - - log_and_message_admins("being kicked for AFK[information][adminlinks]", C.mob) - - qdel(C) diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm index 170e520e4cfe..e0f1dfd5cbb7 100644 --- a/code/controllers/subsystem/ipintel.dm +++ b/code/controllers/subsystem/ipintel.dm @@ -20,7 +20,7 @@ SUBSYSTEM_DEF(ipintel) /// max retries var/max_retries = 1 -/datum/controller/subsystem/ipintel/OnConfigLoad() +/datum/controller/subsystem/ipintel/on_config_loaded() . = ..() enabled = !!CONFIG_GET(flag/ipintel_enabled) consequetive_errors = 0 @@ -139,7 +139,7 @@ SUBSYSTEM_DEF(ipintel) /datum/controller/subsystem/ipintel/proc/ipintel_cache_fetch_impl(address) PRIVATE_PROC(TRUE) var/datum/db_query/fetch = SSdbcore.NewQuery( - "SELECT date, intel, TIMESTAMPDIFF(MINUTE,date,NOW()) FROM [format_table_name("ipintel")] WHERE ip = INET_ATON(:ip)", + "SELECT date, intel, TIMESTAMPDIFF(MINUTE,date,NOW()) FROM [DB_PREFIX_TABLE_NAME("ipintel")] WHERE ip = INET_ATON(:ip)", list( "ip" = address, ) @@ -167,7 +167,7 @@ SUBSYSTEM_DEF(ipintel) /datum/controller/subsystem/ipintel/proc/ipintel_cache_store_impl(datum/ipintel/entry) PRIVATE_PROC(TRUE) var/datum/db_query/update = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("ipintel")] (ip, intel) VALUES (INET_ATON(:ip), :intel) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("ipintel")] (ip, intel) VALUES (INET_ATON(:ip), :intel) \ ON DUPLICATE KEY UPDATE intel = VALUES(intel), date = NOW()", list( "ip" = entry.address, diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index c69b7d83902f..2a09982c4d5f 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -158,6 +158,12 @@ SUBSYSTEM_DEF(lighting) while (lq_idex <= curr_lights.len) var/datum/light_source/L = curr_lights[lq_idex++] + // citadel edit: light source can be deleted before update, if that happens, skip + // check QDELING, light sources are LETMELIVE so shouldn't be being + // harddel'd + if(QDELING(L)) + continue + if (L.needs_update != LIGHTING_NO_UPDATE) total_ss_updates += 1 L.update_corners() diff --git a/code/controllers/subsystem/materials.dm b/code/controllers/subsystem/materials.dm index 4cd8fae04146..edd53d804671 100644 --- a/code/controllers/subsystem/materials.dm +++ b/code/controllers/subsystem/materials.dm @@ -108,12 +108,16 @@ SUBSYSTEM_DEF(materials) // todo: optimize . = list() for(var/i in 1 to length(L)) - var/key = L[i] - var/datum/prototype/material/resolved = RSmaterials.fetch(key) - if(isnull(resolved)) - continue + var/datum/prototype/material/key = L[i] var/value = L[key] - .[resolved.id] = value + if(istype(key)) + key = key.id + else if(ispath(key)) + key = initial(key.id) + else if(istext(key)) + else + CRASH("what? '[key]'") + .[key] = value /** * ensures a list is full of material references for keys @@ -126,10 +130,14 @@ SUBSYSTEM_DEF(materials) . = list() for(var/i in 1 to length(L)) var/key = L[i] - var/datum/prototype/material/resolved = RSmaterials.fetch(key) - if(isnull(resolved)) - continue var/value = L[key] + var/datum/prototype/material/resolved = RSmaterials.fetch_or_defer(key) + switch(resolved) + if(null) + continue + if(REPOSITORY_FETCH_DEFER) + // todo: handle this + continue .[resolved] = value /** @@ -142,9 +150,15 @@ SUBSYSTEM_DEF(materials) . = list() for(var/i in 1 to length(L)) var/key = L[i] - var/value = L[key] - var/datum/prototype/material/resolved = RSmaterials.fetch(value) - .[key] = resolved?.id + var/datum/prototype/material/value = L[key] + if(istype(value)) + value = value.id + else if(ispath(value)) + value = initial(value.id) + else if(istext(value)) + else + CRASH("what? '[value]'") + .[key] = value /** * ensures a list is full of material references for values @@ -157,7 +171,12 @@ SUBSYSTEM_DEF(materials) for(var/i in 1 to length(L)) var/key = L[i] var/value = L[key] - var/datum/prototype/material/resolved = RSmaterials.fetch(value) + var/datum/prototype/material/resolved = RSmaterials.fetch_or_defer(value) + switch(resolved) + if(REPOSITORY_FETCH_DEFER) + // todo: handle this + else + value = resolved .[key] = resolved /** diff --git a/code/controllers/subsystem/persistence/modules/bulk_entity.dm b/code/controllers/subsystem/persistence/modules/bulk_entity.dm index 7d04d37568ee..a17d389e00be 100644 --- a/code/controllers/subsystem/persistence/modules/bulk_entity.dm +++ b/code/controllers/subsystem/persistence/modules/bulk_entity.dm @@ -19,7 +19,7 @@ for(var/datum/bulk_entity_chunk/chunk as anything in chunks) var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_bulk_entity")] \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_bulk_entity")] \ (generation, persistence_key, level_id, data, round_id) \ VALUES (:generation, :persistence, :level, :data, :round)", list( @@ -47,7 +47,7 @@ usr = null var/datum/db_query/query = SSdbcore.NewQuery( - "SELECT data FROM [format_table_name("persistence_bulk_entity")] \ + "SELECT data FROM [DB_PREFIX_TABLE_NAME("persistence_bulk_entity")] \ WHERE generation = :generation AND persistence_key = :persistence AND level_id = :level", list( "generation" = generation, @@ -85,7 +85,7 @@ SSdbcore.dangerously_block_on_multiple_unsanitized_queries( list( - "TRUNCATE TABLE [format_table_name("persistence_bulk_entity")]", + "TRUNCATE TABLE [DB_PREFIX_TABLE_NAME("persistence_bulk_entity")]", ), ) @@ -99,7 +99,7 @@ usr = null SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_bulk_entity")] WHERE level_id = :level", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_bulk_entity")] WHERE level_id = :level", list( "level" = level_id, ), diff --git a/code/controllers/subsystem/persistence/modules/level_objects.dm b/code/controllers/subsystem/persistence/modules/level_objects.dm index 43072527d789..8016594e6314 100644 --- a/code/controllers/subsystem/persistence/modules/level_objects.dm +++ b/code/controllers/subsystem/persistence/modules/level_objects.dm @@ -20,7 +20,7 @@ switch(entity.obj_persist_static_mode) if(OBJ_PERSIST_STATIC_MODE_LEVEL) query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_static_level_objects")] (generation, object_id, level_id, data) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_static_level_objects")] (generation, object_id, level_id, data) \ VALUES (:generation, :object_id, :level_id, :data) ON DUPLICATE KEY UPDATE \ data = VALUES(data)", list( @@ -32,7 +32,7 @@ ) if(OBJ_PERSIST_STATIC_MODE_MAP) query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_static_map_objects")] (generation, object_id, map_id, data) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_static_map_objects")] (generation, object_id, map_id, data) \ VALUES (:generation, :object_id, :map_id, :data) ON DUPLICATE KEY UPDATE \ data = VALUES(data)", list( @@ -44,7 +44,7 @@ ) if(OBJ_PERSIST_STATIC_MODE_GLOBAL) query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_static_global_objects")] (generation, object_id, data) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_static_global_objects")] (generation, object_id, data) \ VALUES (:generation, :object_id, :data) ON DUPLICATE KEY UPDATE \ data = VALUES(data)", list( @@ -79,7 +79,7 @@ var/datum/db_query/query if(entity.obj_persist_dynamic_id != PERSISTENCE_DYNAMIC_ID_AUTOSET) query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_dynamic_objects")] (id, generation, status, data, prototype_id, level_id, x, y) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_dynamic_objects")] (id, generation, status, data, prototype_id, level_id, x, y) \ VALUES (:status, :data, :prototype, :level, :x, :y) ON DUPLICATE KEY UPDATE \ x = VALUES(x), y = VALUES(y), data = VALUES(data), prototype = VALUES(prototype), level = VALUES(level), \ status = VALUES(status)", @@ -97,7 +97,7 @@ query.warn_execute() else query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_dynamic_objects")] (status, data, prototype_id, level_id, x, y) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_dynamic_objects")] (status, data, prototype_id, level_id, x, y) \ VALUES (:status, :data, :prototype, :level, :x, :y)", list( "status" = entity.obj_persist_dynamic_status, @@ -139,7 +139,7 @@ var/datum/db_query/query = SSdbcore.NewQuery( "SELECT object_id, prototype_id, status, data, x, y \ - FROM [format_table_name("persistence_dynamic_objects")] \ + FROM [DB_PREFIX_TABLE_NAME("persistence_dynamic_objects")] \ WHERE level_id = :level AND generation = :generation", list( "generation" = generation, @@ -200,7 +200,7 @@ switch(entity.obj_persist_static_mode) if(OBJ_PERSIST_STATIC_MODE_GLOBAL) query = SSdbcore.NewQuery( - "SELECT data FROM [format_table_name("persistence_static_global_objects")] \ + "SELECT data FROM [DB_PREFIX_TABLE_NAME("persistence_static_global_objects")] \ WHERE object_id = :object AND generation = :generation", list( "object" = entity.obj_persist_static_id, @@ -209,7 +209,7 @@ ) if(OBJ_PERSIST_STATIC_MODE_LEVEL) query = SSdbcore.NewQuery( - "SELECT data FROM [format_table_name("persistence_static_level_objects")] \ + "SELECT data FROM [DB_PREFIX_TABLE_NAME("persistence_static_level_objects")] \ WHERE object_id = :object AND level_id = :level AND generation = :generation", list( "object" = entity.obj_persist_static_id, @@ -220,7 +220,7 @@ bind_id = level_id if(OBJ_PERSIST_STATIC_MODE_MAP) query = SSdbcore.NewQuery( - "SELECT data FROM [format_table_name("persistence_static_map_objects")] \ + "SELECT data FROM [DB_PREFIX_TABLE_NAME("persistence_static_map_objects")] \ WHERE object_id = :object AND map_id = :map AND generation = :generation", list( "object" = entity.obj_persist_static_id, @@ -258,9 +258,9 @@ SSdbcore.dangerously_block_on_multiple_unsanitized_queries( list( - "TRUNCATE TABLE [format_table_name("persistence_static_map_objects")]", - "TRUNCATE TABLE [format_table_name("persistence_static_level_objects")]", - "TRUNCATE TABLE [format_table_name("persistence_static_global_objects")]", + "TRUNCATE TABLE [DB_PREFIX_TABLE_NAME("persistence_static_map_objects")]", + "TRUNCATE TABLE [DB_PREFIX_TABLE_NAME("persistence_static_level_objects")]", + "TRUNCATE TABLE [DB_PREFIX_TABLE_NAME("persistence_static_global_objects")]", ), ) @@ -276,7 +276,7 @@ usr = null SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_static_level_objects")] WHERE level_id = :level", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_static_level_objects")] WHERE level_id = :level", list( "level" = level_id, ), @@ -294,7 +294,7 @@ usr = null SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_static_map_objects")] WHERE map_id = :map", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_static_map_objects")] WHERE map_id = :map", list( "map" = map_id, ), @@ -312,7 +312,7 @@ usr = null SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_static_global_objects")]", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_static_global_objects")]", ) usr = intentionally_allow_admin_proccall @@ -327,7 +327,7 @@ usr = null SSdbcore.RunQuery( - "TRUNCATE TABLE [format_table_name("persistence_dynamic_objects")]", + "TRUNCATE TABLE [DB_PREFIX_TABLE_NAME("persistence_dynamic_objects")]", ) usr = intentionally_allow_admin_proccall @@ -342,7 +342,7 @@ usr = null SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_dynamic_objects")] WHERE level_id = :level", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_dynamic_objects")] WHERE level_id = :level", list( "level" = level_id, ), diff --git a/code/controllers/subsystem/persistence/modules/spatial_metadata.dm b/code/controllers/subsystem/persistence/modules/spatial_metadata.dm index 8318e210040a..22d8c1a1b4b6 100644 --- a/code/controllers/subsystem/persistence/modules/spatial_metadata.dm +++ b/code/controllers/subsystem/persistence/modules/spatial_metadata.dm @@ -66,7 +66,7 @@ var/datum/db_query/query = SSdbcore.NewQuery( "SELECT TIMESTAMPDIFF(HOUR, saved, NOW()), saved_round_id, data, generation \ - FROM [format_table_name("persistence_level_metadata")] \ + FROM [DB_PREFIX_TABLE_NAME("persistence_level_metadata")] \ WHERE level_id = :level", list( "level" = level_id, @@ -103,7 +103,7 @@ src.round_id_saved = GLOB.round_number SSdbcore.RunQuery( - "INSERT INTO [format_table_name("persistence_level_metadata")] (saved, saved_round_id, level_id, data, generation) \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_level_metadata")] (saved, saved_round_id, level_id, data, generation) \ VALUES (Now(), :round, :level, :data, :generation) ON DUPLICATE KEY UPDATE \ data = VALUES(data), generation = VALUES(generation), saved_round_id = VALUES(saved_round_id), saved = VALUES(saved)", list( diff --git a/code/controllers/subsystem/persistence/modules/string_kkv.dm b/code/controllers/subsystem/persistence/modules/string_kkv.dm index 6ae51d36a225..66b1ff79468d 100644 --- a/code/controllers/subsystem/persistence/modules/string_kkv.dm +++ b/code/controllers/subsystem/persistence/modules/string_kkv.dm @@ -60,7 +60,7 @@ var/oldusr = usr usr = null var/datum/db_query/query = SSdbcore.NewQuery( - "SELECT `value` FROM [format_table_name("persistence_string_kkv")] WHERE `group` = :group AND `key` = :key", + "SELECT `value` FROM [DB_PREFIX_TABLE_NAME("persistence_string_kkv")] WHERE `group` = :group AND `key` = :key", list( "group" = group, "key" = key @@ -79,7 +79,7 @@ var/oldusr = usr usr = null var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("persistence_string_kkv")] (`group`, `key`, `value`) VALUES (:group, :key, :value) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`), `modified` = Now(), `revision` = `revision` + 1", + "INSERT INTO [DB_PREFIX_TABLE_NAME("persistence_string_kkv")] (`group`, `key`, `value`) VALUES (:group, :key, :value) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`), `modified` = Now(), `revision` = `revision` + 1", list( "group" = group, "key" = key, diff --git a/code/controllers/subsystem/persistence/world.dm b/code/controllers/subsystem/persistence/world.dm index 30ec4b2cfd2a..e1f82acdc8dd 100644 --- a/code/controllers/subsystem/persistence/world.dm +++ b/code/controllers/subsystem/persistence/world.dm @@ -234,21 +234,21 @@ for(var/datum/map_level_persistence/level_metadata as anything in ordered_level_metadata) SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_bulk_entity")] WHERE level_id = :level, generation != :generation", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_bulk_entity")] WHERE level_id = :level, generation != :generation", list( "level" = level_metadata.level_id, "generation" = level_metadata.generation, ), ) SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_static_level_objects")] WHERE level_id = :level, generation != :generation", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_static_level_objects")] WHERE level_id = :level, generation != :generation", list( "level" = level_metadata.level_id, "generation" = level_metadata.generation, ), ) SSdbcore.RunQuery( - "DELETE FROM [format_table_name("persistence_dynamic_objects")] WHERE level_id = :level, generation != :generation", + "DELETE FROM [DB_PREFIX_TABLE_NAME("persistence_dynamic_objects")] WHERE level_id = :level, generation != :generation", list( "level" = level_metadata.level_id, "generation" = level_metadata.generation, diff --git a/code/controllers/subsystem/photography.dm b/code/controllers/subsystem/photography.dm index 7e4fbbcbccd4..37f23abe4c9a 100644 --- a/code/controllers/subsystem/photography.dm +++ b/code/controllers/subsystem/photography.dm @@ -115,7 +115,7 @@ SUBSYSTEM_DEF(photography) var/datum/db_query/query = SSdbcore.NewQuery( {" - INSERT INTO [format_table_name("pictures")] + INSERT INTO [DB_PREFIX_TABLE_NAME("pictures")] (`hash`, `width`, `height`) VALUES (:hash, :width, :height) "}, @@ -140,7 +140,7 @@ SUBSYSTEM_DEF(photography) var/datum/db_query/query = SSdbcore.NewQuery( {" SELECT `width`, `height` - FROM [format_table_name("pictures")] + FROM [DB_PREFIX_TABLE_NAME("pictures")] WHERE `hash` = :hash "}, list( @@ -195,7 +195,7 @@ SUBSYSTEM_DEF(photography) var/datum/db_query/query = SSdbcore.NewQuery( {" - INSERT INTO [format_table_name("photographs")] + INSERT INTO [DB_PREFIX_TABLE_NAME("photographs")] (`picture`, `scene`, `desc`) VALUES (:hash, :scene, :desc) "}, @@ -220,7 +220,7 @@ SUBSYSTEM_DEF(photography) var/datum/db_query/query = SSdbcore.NewQuery( {" SELECT `picture`, `scene`, `desc` - FROM [format_table_name("photographs")] + FROM [DB_PREFIX_TABLE_NAME("photographs")] WHERE `id` = :id "}, list( diff --git a/code/controllers/subsystem/playtime.dm b/code/controllers/subsystem/playtime.dm index 617cdbf03350..5f1d1c2ec220 100644 --- a/code/controllers/subsystem/playtime.dm +++ b/code/controllers/subsystem/playtime.dm @@ -46,7 +46,7 @@ SUBSYSTEM_DEF(playtime) "player" = playerid ) C.persistent.playtime_queued = list() - SSdbcore.MassInsertLegacy(format_table_name("playtime"), built, duplicate_key = "ON DUPLICATE KEY UPDATE minutes = minutes + VALUES(minutes)") + SSdbcore.MassInsertLegacy(DB_PREFIX_TABLE_NAME("playtime"), built, duplicate_key = "ON DUPLICATE KEY UPDATE minutes = minutes + VALUES(minutes)") /** * returns a list of playtime roles diff --git a/code/controllers/subsystem/repository.dm b/code/controllers/subsystem/repository.dm index 04db037a4973..4464288f229d 100644 --- a/code/controllers/subsystem/repository.dm +++ b/code/controllers/subsystem/repository.dm @@ -11,3 +11,6 @@ SUBSYSTEM_DEF(repository) __create_repositories() __init_repositories() return SS_INIT_SUCCESS + +/datum/controller/subsystem/repository/proc/get_all_repositories() + return __get_all_repositories() diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index c8fe6fa4ba75..b26a166b87ad 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -6,94 +6,89 @@ SUBSYSTEM_DEF(server_maint) subsystem_flags = SS_POST_FIRE_TIMING priority = FIRE_PRIORITY_SERVER_MAINT init_order = INIT_ORDER_SERVER_MAINT + init_stage = INIT_STAGE_EARLY runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT var/list/currentrun - var/cleanup_SSticker = 0 + ///Associated list of list names to lists to clear of nulls + var/list/lists_to_clear + ///Delay between list clearings in ticks + var/delay = 5 + var/cleanup_ticker = 0 + +/datum/controller/subsystem/server_maint/Initialize() + if (fexists("tmp/")) + fdel("tmp/") + + if (!!CONFIG_GET(flag/hub) != !!GLOB.hub_visibility) + world.update_hub_visibility(CONFIG_GET(flag/hub)) + + //Keep in mind, because of how delay works adding a list here makes each list take wait * delay more time to clear + //Do it for stuff that's properly important, and shouldn't have null checks inside its other uses + lists_to_clear = list( + "player_list" = GLOB.player_list, + "mob_list" = GLOB.mob_list, + "living_mob_list" = living_mob_list, + "dead_mob_list" = dead_mob_list + ) + + return SS_INIT_SUCCESS /datum/controller/subsystem/server_maint/fire(resumed = FALSE) if(!resumed) if(listclearnulls(GLOB.clients)) log_world("Found a null in clients list!") src.currentrun = GLOB.clients.Copy() - switch (cleanup_SSticker) // do only one of these at a time, once per 5 fires - if (0) - if(listclearnulls(GLOB.player_list)) - log_world("Found a null in GLOB.player_list!") - cleanup_SSticker++ - if (5) - if(listclearnulls(GLOB.mob_list)) - log_world("Found a null in GLOB.mob_list!") - cleanup_SSticker++ - if (10) - if(listclearnulls(living_mob_list)) - log_world("Found a null in living_mob_list!") - cleanup_SSticker++ - if (15) - if(listclearnulls(dead_mob_list)) - log_world("Found a null in dead_mob_list!") - cleanup_SSticker++ - if (20) - cleanup_SSticker = 0 - else - cleanup_SSticker++ - var/list/currentrun = src.currentrun + var/position_in_loop = (cleanup_ticker / delay) + 1 //Index at 1, thanks byond - /* - var/round_started = SSticker.HasRoundStarted() + if(!(position_in_loop % 1)) //If it's a whole number + var/listname = lists_to_clear[position_in_loop] + if(listclearnulls(lists_to_clear[listname])) + log_world("Found a null in [listname]!") + + cleanup_ticker++ - var/kick_inactive = CONFIG_GET(flag/kick_inactive) + var/amount_to_work = length(lists_to_clear) + if(cleanup_ticker >= amount_to_work * delay) //If we've already done a loop, reset + cleanup_ticker = 0 + + var/list/currentrun = src.currentrun + var/round_started = SSticker.HasRoundStarted() + var/kick_inactive = !!config_legacy.kick_inactive var/afk_period if(kick_inactive) - afk_period = CONFIG_GET(number/afk_period) - */ + afk_period = (config_legacy.kick_inactive MINUTES) for(var/I in currentrun) var/client/C = I + //handle kicking inactive players - /* - if(round_started && kick_inactive && C.is_afk(afk_period)) + if(round_started && kick_inactive && !C.holder && C.is_afk(afk_period)) var/cmob = C.mob - if(!(isobserver(cmob) || (isdead(cmob) && C.holder))) + if (!isnewplayer(cmob)) log_access("AFK: [key_name(C)]") - to_chat(C, "You have been inactive for more than [DisplayTimeText(afk_period)] and have been disconnected.") - qdel(C) - */ + to_chat(C, SPAN_USERDANGER("You have been inactive for more than [DisplayTimeText(afk_period)] and have been disconnected.
You may reconnect via the button in the file menu or by clicking here to reconnect.")) + QDEL_IN(C, 1) //to ensure they get our message before getting disconnected + continue if (!(!C || world.time - C.connection_time < PING_BUFFER_TIME || C.inactivity >= (wait-1))) - winset(C, null, "command=.update_ping+[world.time+world.tick_lag*TICK_USAGE_REAL/100]") + winset(C, null, "command=.update_ping+[num2text(world.time+world.tick_lag*TICK_USAGE_REAL/100, 32)]") if (MC_TICK_CHECK) //one day, when ss13 has 1000 people per server, you guys are gonna be glad I added this tick check return -/* /datum/controller/subsystem/server_maint/Shutdown() - kick_clients_in_lobby("The round came to an end with you in the lobby.", TRUE) //second parameter ensures only afk clients are kicked - var/server = CONFIG_GET(string/server) + if (fexists("tmp/")) + fdel("tmp/") + for(var/thing in GLOB.clients) if(!thing) continue var/client/C = thing - var/datum/chatOutput/co = C.chatOutput - if(co) - co.ehjax_send(data = "roundrestart") - if(server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite - C << link("byond://[server]") - var/tgsversion = world.TgsVersion() - if(tgsversion) - SSblackbox.record_feedback("text", "server_tools", 1, tgsversion) -*/ + C?.tgui_panel?.send_roundrestart() /datum/controller/subsystem/server_maint/proc/UpdateHubStatus() - if(!CONFIG_GET(flag/hub) || !CONFIG_GET(number/max_hub_pop)) - return FALSE //no point, hub / auto hub controls are disabled - - var/max_pop = CONFIG_GET(number/max_hub_pop) - - if(GLOB.clients.len > max_pop) - world.update_hub_visibility(FALSE) - else - world.update_hub_visibility(TRUE) + return // disabled. #undef PING_BUFFER_TIME diff --git a/code/controllers/subsystem/statpanel.dm b/code/controllers/subsystem/statpanel.dm index 44f7944a2b98..5a204c1320d3 100644 --- a/code/controllers/subsystem/statpanel.dm +++ b/code/controllers/subsystem/statpanel.dm @@ -89,6 +89,10 @@ SUBSYSTEM_DEF(statpanels) STATPANEL_DATA_CLICK(config.stat_key(), config.stat_entry(), "\ref[config]") else STATPANEL_DATA_LINE("FATAL - NO CONFIG") + if(config) + STATPANEL_DATA_CLICK(Configuration.stat_key(), Configuration.stat_entry(), "\ref[Configuration]") + else + STATPANEL_DATA_LINE("FATAL - NO CONFIG (NEW)") STATPANEL_DATA_ENTRY("BYOND:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%)) (Internal Tick Usage: [round(MAPTICK_LAST_INTERNAL_TICK_USAGE,0.1)]%)") if(Master) STATPANEL_DATA_CLICK(Master.stat_key(), Master.stat_entry(), "\ref[Master]") diff --git a/code/controllers/subsystem/turbolift.dm b/code/controllers/subsystem/turbolift.dm index 0afd8de21b43..755877190138 100644 --- a/code/controllers/subsystem/turbolift.dm +++ b/code/controllers/subsystem/turbolift.dm @@ -1,28 +1,37 @@ SUBSYSTEM_DEF(turbolifts) name = "Turbolifts" - subsystem_flags = SS_NO_TICK_CHECK | SS_NO_INIT + subsystem_flags = SS_NO_INIT wait = 10 var/static/list/moving_lifts = list() + var/list/currentrun /datum/controller/subsystem/turbolifts/fire(resumed) - for(var/liftref in moving_lifts) - if(world.time < moving_lifts[liftref]) + if (!resumed) + currentrun = moving_lifts.Copy() + + for(var/liftref in currentrun) + currentrun -= liftref + if(world.time < currentrun[liftref]) continue var/datum/turbolift/lift = locate(liftref) - if(lift.busy) + if(lift.busy) // shouldn't happen as currentrun should contain valid, non-busy ones continue - spawn(0) - lift.busy = 1 - var/floor_delay - if(!(floor_delay = lift.do_move())) - moving_lifts[liftref] = null - moving_lifts -= liftref - if(lift.target_floor) - lift.target_floor.ext_panel.reset() - lift.target_floor = null - else - lift_is_moving(lift,floor_delay) - lift.busy = 0 -/datum/controller/subsystem/turbolifts/proc/lift_is_moving(var/datum/turbolift/lift,var/floor_delay) - moving_lifts["\ref[lift]"] = world.time + floor_delay + lift.busy = TRUE + var/floor_delay + if(!(floor_delay = lift.do_move())) + // we are done, remove ourself from the lift queue + moving_lifts[liftref] = null + moving_lifts -= liftref + if(lift.target_floor) + lift.target_floor.ext_panel.reset() + lift.target_floor = null + else + lift_is_moving(lift,floor_delay) + lift.busy = FALSE + + if (MC_TICK_CHECK) + return + +/datum/controller/subsystem/turbolifts/proc/lift_is_moving(datum/turbolift/lift, floor_delay) + moving_lifts["[REF(lift)]"] = world.time + floor_delay diff --git a/code/controllers/toml_config/README.md b/code/controllers/toml_config/README.md new file mode 100644 index 000000000000..025e5b593f15 --- /dev/null +++ b/code/controllers/toml_config/README.md @@ -0,0 +1,3 @@ +# Configuration Module + +Experimental new TOML configuration to replace old configuration with eventually. diff --git a/code/controllers/toml_config/entries/backend-logging-toggles.dm b/code/controllers/toml_config/entries/backend-logging-toggles.dm new file mode 100644 index 000000000000..45e18848b2b2 --- /dev/null +++ b/code/controllers/toml_config/entries/backend-logging-toggles.dm @@ -0,0 +1,67 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/datum/toml_config_entry/backend/logging/toggles + abstract_type = /datum/toml_config_entry/backend/logging/toggles + category = "backend.logging.toggles" + vv_locked = TRUE + +/datum/toml_config_entry/backend/logging/toggles/access + key = "access" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/admin + key = "admin" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/adminchat + key = "adminchat" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/adminwarn + key = "adminwarn" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/attack + key = "attack" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/debug + key = "debug" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/emote + key = "emote" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/game + key = "game" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/ooc + key = "ooc" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/pda + key = "pda" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/runtime + key = "runtime" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/say + key = "say" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/topic + key = "topic" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/vote + key = "vote" + default = TRUE + +/datum/toml_config_entry/backend/logging/toggles/whisper + key = "whisper" + default = TRUE diff --git a/code/controllers/toml_config/entries/backend-logging.dm b/code/controllers/toml_config/entries/backend-logging.dm new file mode 100644 index 000000000000..18dc551ba6fd --- /dev/null +++ b/code/controllers/toml_config/entries/backend-logging.dm @@ -0,0 +1,6 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/datum/toml_config_entry/backend/logging + abstract_type = /datum/toml_config_entry/backend/logging + category = "backend.logging" diff --git a/code/controllers/toml_config/entries/backend-repository.dm b/code/controllers/toml_config/entries/backend-repository.dm new file mode 100644 index 000000000000..9c812b38a105 --- /dev/null +++ b/code/controllers/toml_config/entries/backend-repository.dm @@ -0,0 +1,14 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/datum/toml_config_entry/backend/repository + abstract_type = /datum/toml_config_entry/backend/repository + category = "backend.repository" + +/datum/toml_config_entry/backend/repository/persistence + key = "persistence" + desc = {" + Enable repository persistence. This requires the database to be available. Without this, most persistence + features will not function. + "} + default = TRUE diff --git a/code/controllers/toml_config/entries/backend.dm b/code/controllers/toml_config/entries/backend.dm new file mode 100644 index 000000000000..25e66949ac30 --- /dev/null +++ b/code/controllers/toml_config/entries/backend.dm @@ -0,0 +1,6 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/datum/toml_config_entry/backend + abstract_type = /datum/toml_config_entry/backend + category = "backend" diff --git a/code/controllers/toml_config/toml_config_entry.dm b/code/controllers/toml_config/toml_config_entry.dm new file mode 100644 index 000000000000..88eb4e6039a5 --- /dev/null +++ b/code/controllers/toml_config/toml_config_entry.dm @@ -0,0 +1,107 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/** + * Config entry. + * + * Supports at time of writing: + * * numbers + * * strings + * * (nested) lists + * * (nested) dictionaries + * + * Supports at time of writing auditing VV edits to: + * * numbers + * * strings + */ +/datum/toml_config_entry + abstract_type = /datum/toml_config_entry + /// key / name + var/key + /// category / where this is + var/category + + /// description of this entry + var/desc + + /// default value + var/default + /// current value + var/value + + /// vv edit disallowed + /// * Does not stop get_entry and set_entry from setting our value. Those are not considered vv-protected. + var/vv_locked = FALSE + /// vv read disallowed + /// * Does not automatically imply [vv_locked]. + /// * Does not stop get_entry and set_entry from pulling our value. Those are not considered vv-protected. + var/vv_secret = FALSE + /// sensitive + /// * Requires get_sensitive_entry() and set_sensitive_entry() to read/write. + /// * Does not actually imply [vv_locked] and [vv_secret]. + var/sensitive = FALSE + +/datum/toml_config_entry/vv_edit_var(var_name, var_value, mass_edit, raw_edit) + switch(var_name) + if(NAMEOF(src, default)) + return FALSE + if(NAMEOF(src, value)) + if(vv_locked) + return FALSE + if(NAMEOF(src, key)) + return FALSE + if(NAMEOF(src, category)) + return FALSE + if(NAMEOF(src, desc)) + return FALSE + if(NAMEOF(src, vv_locked)) + return FALSE + if(NAMEOF(src, vv_secret)) + return FALSE + if(NAMEOF(src, sensitive)) + return FALSE + return ..() + +/datum/toml_config_entry/vv_get_var(var_name, resolve) + switch(var_name) + if(NAMEOF(src, value)) + if(vv_locked) + return "-- secret --" + return ..() + +/datum/toml_config_entry/CanProcCall(procname) + switch(procname) + if(NAMEOF_PROC(src, New), NAMEOF_PROC(src, Destroy)) + return FALSE + if(NAMEOF_PROC(src, reset)) + return FALSE + if(NAMEOF_PROC(src, apply)) + return FALSE + return ..() + +/datum/toml_config_entry/vv_delete() + return FALSE + +/** + * Called once when resetting. + */ +/datum/toml_config_entry/proc/reset() + if(isnum(default)) + value = default + else if(istext(default)) + value = default + else if(islist(default)) + value = deep_copy_list(default) + else + CRASH("unexpected value in default.") + +/** + * Called once with the value from each load. + * + * Can be used to overlay values. + * + * @params + * * raw_config_value - Raw parsed data. We own the reference to this once this proc is called. + */ +/datum/toml_config_entry/proc/apply(raw_config_value) + value = raw_config_value diff --git a/code/controllers/toml_config/toml_configuration.dm b/code/controllers/toml_config/toml_configuration.dm new file mode 100644 index 000000000000..9efe9d0830ee --- /dev/null +++ b/code/controllers/toml_config/toml_configuration.dm @@ -0,0 +1,171 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +// todo: maybe rename to config? or keep it as Configuration to keep with naming scheme of other 'system / backend' modules like the MC? +GLOBAL_REAL(Configuration, /datum/controller/toml_configuration) + +// todo: /datum/controller/configuration +/datum/controller/toml_configuration + /// Entries by type. + VAR_PRIVATE/list/datum/toml_config_entry/typed_entries + /// Entries as same structure as the underlying toml/json + VAR_PRIVATE/list/datum/toml_config_entry/keyed_entries + +/datum/controller/toml_configuration/CanProcCall(procname) + switch(procname) + if(NAMEOF_PROC(src, New), NAMEOF_PROC(src, Destroy), NAMEOF_PROC(src, Initialize)) + return FALSE + if(NAMEOF_PROC(src, get_entry), NAMEOF_PROC(src, set_entry)) + return FALSE + if(NAMEOF_PROC(src, get_sensitive_entry), NAMEOF_PROC(src, set_sensitive_entry)) + return FALSE + if(NAMEOF_PROC(src, reload), NAMEOF_PROC(src, reset), NAMEOF_PROC(src, load), NAMEOF_PROC(src, recursively_load_from_list)) + return FALSE + return ..() + +/datum/controller/toml_configuration/vv_edit_var(var_name, var_value, mass_edit, raw_edit) + switch(var_name) + if(NAMEOF(src, keyed_entries)) + return FALSE + if(NAMEOF(src, typed_entries)) + return FALSE + return ..() + +/datum/controller/toml_configuration/New() + if(Configuration != src) + if(Configuration) + qdel(Configuration) + Configuration = src + +/datum/controller/toml_configuration/Initialize() + keyed_entries = list() + typed_entries = list() + for(var/datum/toml_config_entry/path as anything in typesof(/datum/toml_config_entry)) + if(initial(path.abstract_type) == path) + continue + var/datum/toml_config_entry/entry = new path + typed_entries[entry.type] = entry + var/list/nesting = splittext(entry.category, ".") + var/list/current_list = keyed_entries + for(var/i in 1 to length(nesting)) + LAZYINITLIST(current_list[nesting[i]]) + current_list = current_list[nesting[i]] + current_list[entry.key] = entry + reload() + +/datum/controller/toml_configuration/stat_key() + return "Configuration (New):" + +/datum/controller/toml_configuration/stat_entry() + return "Edit" + +/** + * HEY! LISTEN! By calling this proc you are affirming that: + * + * * The entry type you are passing in is static and not a variable that can be tampered with. + * * The value you get will be immediately consumed in a non-VV-able manner. + */ +/datum/controller/toml_configuration/proc/get_sensitive_entry(datum/toml_config_entry/entry_type) + // todo: cache / optimize maybe? would help to store everything in a vv-hidden list. + var/datum/toml_config_entry/entry = typed_entries[entry_type] + if(!entry) + return + if(!entry.sensitive) + CRASH("attempted to get sensitive entry with sensitive get entry.") + return entry.value + +/** + * HEY! LISTEN! By calling this proc you are affirming that: + * + * * The entry type you are passing in is static and not a variable that can be tampered with. + * * The value you are passing in is trusted and validated and not a variable that can be tampered with. + */ +/datum/controller/toml_configuration/proc/set_sensitive_entry(datum/toml_config_entry/entry_type, value) + // todo: cache / optimize maybe? would help to store everything in a vv-hidden list. + var/datum/toml_config_entry/entry = typed_entries[entry_type] + if(!entry) + return + if(entry.sensitive) + CRASH("attempted to set non-sensitive entry with sensitive set entry.") + entry.value = value + +/datum/controller/toml_configuration/proc/get_entry(datum/toml_config_entry/entry_type) + // todo: cache / optimize maybe? would help to store everything in a vv-hidden list. + var/datum/toml_config_entry/entry = typed_entries[entry_type] + if(!entry) + return + if(entry.sensitive) + CRASH("attempted to get sensitive entry with normal get entry.") + return entry.value + +/datum/controller/toml_configuration/proc/set_entry(datum/toml_config_entry/entry_type, value) + // todo: cache / optimize maybe? would help to store everything in a vv-hidden list. + var/datum/toml_config_entry/entry = typed_entries[entry_type] + if(!entry) + return + if(entry.sensitive) + CRASH("attempted to set sensitive entry with normal set entry.") + entry.value = value + +/datum/controller/toml_configuration/proc/admin_reload() + reload() + +/** + * Automatically loads default config, and the server's config file. + * + * todo: allow for overriding directories + */ +/datum/controller/toml_configuration/proc/reload() + reset() + load("config.default/config.toml") + load("config/config.toml") + +/** + * Resets the configuration. + */ +/datum/controller/toml_configuration/proc/reset() + for(var/path in typed_entries) + var/datum/toml_config_entry/entry = typed_entries[path] + entry.reset() + +/** + * Loads from a given layer. + * * This will not reset the configuration. Repeated calls to load will allow for layered configuration. + * + * HEY! LISTEN! By calling this proc you are affirming that: + * * The file you are passing in is trusted and not a variable that can be tampered with via VV. + */ +/datum/controller/toml_configuration/proc/load(filelike) + var/list/decoded + if(istext(filelike)) + if(!fexists(filelike)) + CRASH("failed to load [filelike]: does not exist") + decoded = rustg_read_toml_file(filelike) + else if(isfile(filelike)) + // noa path, it might be rsc cache; rust_g can't read that directly. + fdel("tmp/config/loading.toml") + fcopy(filelike, "tmp/config/loading.toml") + decoded = rustg_read_toml_file("tmp/config/loading.toml") + fdel("tmp/config/loading.toml") + if(!decoded) + CRASH("failed to decode config [filelike]!") + + recursively_load_from_list(decoded, keyed_entries) + +/datum/controller/toml_configuration/proc/recursively_load_from_list(list/decoded_list, list/entry_list) + if(!decoded_list || !entry_list) + return + for(var/key in decoded_list) + var/value = decoded_list[key] + if(islist(value)) + var/list/next_entry_list = entry_list[key] + if(!islist(next_entry_list)) + // todo: warn + else + recursively_load_from_list(value, next_entry_list[key]) + else + var/datum/toml_config_entry/entry = entry_list[key] + if(!istype(entry)) + // todo: warn + else + entry.apply(value) diff --git a/code/datums/callback.dm b/code/datums/callback.dm index b88dd32c8a63..07e43c2ff801 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -100,24 +100,39 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - return WrapAdminProcCall(object, delegate, calling_arguments) - if(object == GLOBAL_PROC) - return call(delegate)(arglist(calling_arguments)) - return call(object, delegate)(arglist(calling_arguments)) + . = WrapAdminProcCall(object, delegate, calling_arguments) + else if(object == GLOBAL_PROC) + . = call(delegate)(arglist(calling_arguments)) + else + . = call(object, delegate)(arglist(calling_arguments)) + pass() /** * Invoke this callback and crash if it sleeps. * * * Use when a callback should never sleep, as call() cannot be verified by static analysis. + * * Do not use in performance critical code. This wraps calls more aggressively than InvokeAsync(). + * * `null` is returned if the call sleeps. + * + * The specific use case here is an async call where: + * + * * It's always invalid behavior for a callback to sleep. + * * The caller should be protected (caller shouldn't be interrupted by the sleep). + * + * This allows enforcement of the above invariants by loudly runtiming and bringing attention to the issue, + * as opposed to the usual way of compile checking it (which we can't because this is a reflection-based call to an arbitrary proc). */ /datum/callback/proc/invoke_no_sleep(...) . = CALLBACK_SLEEP_SENTINEL - ASYNC - . = Invoke(arglist(args)) + . = invoke_no_sleep_call(arglist(args)) if(. == CALLBACK_SLEEP_SENTINEL) . = null CRASH("Callback [src] slept on a no-sleeping invoke.") +/datum/callback/proc/invoke_no_sleep_call(...) + set waitfor = FALSE + . = Invoke(arglist(args)) + /** * Invoke this callback async (waitfor=false) * diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index e9fb0a5caa06..ec9b3e6a4a39 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -345,11 +345,10 @@ for(var/datum/listening_datum as anything in queued_calls) . |= call(listening_datum, queued_calls[listening_datum])(arglist(arguments)) -// The type arg is casted so initial works, you shouldn't be passing a real instance into this /** - * Return any component assigned to this datum of the given type + * Return any component assigned to this datum of the given registered component type * - * If it has a registered type, that'll be used instead! + * * `registered_type` must be set on the component for this to work. * * Arguments: * * datum/component/c_type The type of the component you want to get a reference to. It will be overridden with the type of its [registered_type] if it's set. @@ -360,7 +359,9 @@ return . && (length(.) ? .[1] : .) /** - * Get all components of a given type that are attached to this datum + * Get all components of a given registered component type that are attached to this datum + * + * * `registered_type` must be set on the component for this to work. * * Arguments: * * c_type The component type path diff --git a/code/datums/components/horror_aura.dm b/code/datums/components/horror_aura.dm index 45581a602425..47100433115d 100644 --- a/code/datums/components/horror_aura.dm +++ b/code/datums/components/horror_aura.dm @@ -23,12 +23,14 @@ It also serves the purposes of portraying the Lore accurate effect of "Acausal L return ..() /datum/component/horror_aura/process() - if(ismob(parent) && !remain_while_dead) + var/atom/A = parent //Not bothering to check if it's an atom. If someone attaches a horror aura component to a mere datum, they're out of their mind. + if(ismob(A) && !remain_while_dead) var/mob/M = parent if(IS_DEAD(M)) qdel(src) return - aura_effect() + if(A.z in SSmobs.busy_z_levels) //don't spam EMP admin logs when nobody's around. :^) + aura_effect() /datum/component/horror_aura/proc/aura_effect() for(var/mob/living/carbon/human/H in range(radius, parent)) diff --git a/code/datums/components/mobs/mob_feign_impairment.dm b/code/datums/components/mobs/mob_feign_impairment.dm new file mode 100644 index 000000000000..0c9d897dad0d --- /dev/null +++ b/code/datums/components/mobs/mob_feign_impairment.dm @@ -0,0 +1,62 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +// todo: datumize impairments; the way this works right now is pretty stupid +// it's because we're using different components since i was too +// lazy to do a single tracking component + +/** + * Component added to a mob by the mob themselves to feign an impairment + */ +/datum/component/mob_feign_impairment + var/power + var/feign_impairment_type + +/datum/component/mob_feign_impairment/Initialize(power) + if(!ismob(parent)) + return COMPONENT_INCOMPATIBLE + . = ..() + if(. == COMPONENT_INCOMPATIBLE) + return + src.power = power + +/datum/component/mob_feign_impairment/RegisterWithParent() + . = ..() + // todo: on update stat + RegisterSignal(parent, COMSIG_MOB_ON_UPDATE_MOBILITY, PROC_REF(recheck_stat)) + var/mob/mob_parent = parent + LAZYSET(mob_parent.impairments_feigned, feign_impairment_type, src) + +/datum/component/mob_feign_impairment/UnregisterFromParent() + . = ..() + // todo: on update stat + UnregisterSignal(parent, COMSIG_MOB_ON_UPDATE_MOBILITY) + var/mob/mob_parent = parent + LAZYREMOVE(mob_parent.impairments_feigned, feign_impairment_type) + +/datum/component/mob_feign_impairment/proc/recheck_stat(mob/source) + SIGNAL_HANDLER + if(IS_CONSCIOUS(source)) + return + qdel(src) + +/datum/component/mob_feign_impairment/slurring + // this must be set + registered_type = /datum/component/mob_feign_impairment/slurring + feign_impairment_type = /datum/feign_impairment/slurring + +/datum/component/mob_feign_impairment/stutter + // this must be set + registered_type = /datum/component/mob_feign_impairment/stutter + feign_impairment_type = /datum/feign_impairment/stutter + +/datum/component/mob_feign_impairment/jitter + // this must be set + registered_type = /datum/component/mob_feign_impairment/jitter + feign_impairment_type = /datum/feign_impairment/jitter + +/datum/component/mob_feign_impairment/jitter/RegisterWithParent() + . = ..() + // shitcode but whatever + var/mob/mob_parent = parent + mob_parent.make_jittery(0) diff --git a/code/datums/components/mobs/mob_self_horizontal_inversion.dm b/code/datums/components/mobs/mob_self_horizontal_inversion.dm new file mode 100644 index 000000000000..fc85738cf3e9 --- /dev/null +++ b/code/datums/components/mobs/mob_self_horizontal_inversion.dm @@ -0,0 +1,39 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/** + * Component added to a mob by the mob themselves to invert themselves horizontally. + */ +/datum/component/mob_self_horizontal_inversion + registered_type = /datum/component/mob_self_horizontal_inversion + +/datum/component/mob_self_horizontal_inversion/Initialize() + if(!ismob(parent)) + return COMPONENT_INCOMPATIBLE + return ..() + +/datum/component/mob_self_horizontal_inversion/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_MOVABLE_BASE_TRANSFORM, PROC_REF(alter_base_transform)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + var/mob/target = parent + var/matrix/to_apply = target.transform + to_apply.Scale(-1, 1) + target.set_transform(to_apply) + +/datum/component/mob_self_horizontal_inversion/UnregisterFromParent() + . = ..() + UnregisterSignal(parent, COMSIG_MOVABLE_BASE_TRANSFORM) + UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) + var/mob/target = parent + var/matrix/to_apply = target.transform + to_apply.Scale(-1, 1) + target.set_transform(to_apply) + +/datum/component/mob_self_horizontal_inversion/proc/alter_base_transform(datum/source, matrix/applying) + SIGNAL_HANDLER + applying.Scale(-1, 1) + +/datum/component/mob_self_horizontal_inversion/proc/on_move(datum/source) + SIGNAL_HANDLER + qdel(src) diff --git a/code/datums/components/mobs/mob_self_vertical_inversion.dm b/code/datums/components/mobs/mob_self_vertical_inversion.dm new file mode 100644 index 000000000000..8bdec05ff5f3 --- /dev/null +++ b/code/datums/components/mobs/mob_self_vertical_inversion.dm @@ -0,0 +1,40 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/** + * Component added to a mob by the mob themselves to invert themselves vertically. + */ +/datum/component/mob_self_vertical_inversion + registered_type = /datum/component/mob_self_vertical_inversion + +/datum/component/mob_self_vertical_inversion/Initialize() + if(!ismob(parent)) + return COMPONENT_INCOMPATIBLE + return ..() + +/datum/component/mob_self_vertical_inversion/RegisterWithParent() + . = ..() + // todo: allow it if they're being moved by an external source; MOB_SLEFMOVE? + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + RegisterSignal(parent, COMSIG_MOVABLE_BASE_TRANSFORM, PROC_REF(alter_base_transform)) + var/mob/target = parent + var/matrix/to_apply = target.transform + to_apply.Scale(1, -1) + target.set_transform(to_apply) + +/datum/component/mob_self_vertical_inversion/UnregisterFromParent() + . = ..() + UnregisterSignal(parent, COMSIG_MOVABLE_BASE_TRANSFORM) + UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) + var/mob/target = parent + var/matrix/to_apply = target.transform + to_apply.Scale(1, -1) + target.set_transform(to_apply) + +/datum/component/mob_self_vertical_inversion/proc/alter_base_transform(datum/source, matrix/applying) + SIGNAL_HANDLER + applying.Scale(1, -1) + +/datum/component/mob_self_vertical_inversion/proc/on_move(datum/source) + SIGNAL_HANDLER + qdel(src) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index c93c2373e7b9..745ad7051e49 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -1,3 +1,10 @@ +/** + * Called when an admin attempts to delete us with introspection tools. + */ +/datum/proc/vv_delete() + . = TRUE + qdel(src) + /datum/proc/CanProcCall(procname) return TRUE diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index 85823242f516..c377c1e9964e 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -141,8 +141,59 @@ for(var/i=0,i COLOUR_PRIORITY_AMOUNT) - return - if(!atom_colours || !atom_colours.len) - atom_colours = list() - atom_colours.len = COLOUR_PRIORITY_AMOUNT //four priority levels currently. - atom_colours[colour_priority] = coloration - update_atom_colour() - -/// Removes an instance of colour_type from the atom's atom_colours list -/atom/movable/remove_atom_colour(colour_priority, coloration) - if(!atom_colouration_system) - if(coloration && color != coloration) - return - if(isnull(color)) - return - color = null - return - if(!islist(atom_colours)) - return - if(colour_priority > COLOUR_PRIORITY_AMOUNT) - return - if(coloration && atom_colours[colour_priority] != coloration) - return //if we don't have the expected color (for a specific priority) to remove, do nothing - atom_colours[colour_priority] = null - update_atom_colour() - -/// Resets the atom's color to null, and then sets it to the highest priority colour available -/atom/movable/update_atom_colour() - if(!atom_colouration_system) - return - if(!islist(atom_colours)) +/atom/movable/remove_atom_color(require_color) + if(require_color && color != require_color) return color = null - for(var/C in atom_colours) - if(islist(C)) - var/list/L = C - if(L.len) - color = L - return - else if(C) - color = C - return + +/atom/movable/update_atom_color() + return //* Rendering *// diff --git a/code/game/click/telekinesis.dm b/code/game/click/telekinesis.dm index 15aad96ce438..b9ec3b51eefd 100644 --- a/code/game/click/telekinesis.dm +++ b/code/game/click/telekinesis.dm @@ -153,5 +153,6 @@ var/const/tk_maxrange = 15 /obj/item/tk_grab/update_icon() cut_overlays() + . = ..() if(focus && focus.icon && focus.icon_state) add_overlay(image(focus.icon,focus.icon_state)) diff --git a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/costumes.dm b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/costumes.dm index 782a2e66f39f..25ab2126413a 100644 --- a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/costumes.dm +++ b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/costumes.dm @@ -187,7 +187,7 @@ /obj/item/clothing/under/permit, /obj/item/clothing/under/vox/vox_casual, /obj/item/clothing/under/vox/vox_robes, - /obj/item/clothing/under/harness, + /obj/item/clothing/under/gear_harness, /obj/item/clothing/under/skirt/loincloth, /obj/item/clothing/gloves/vox, ) @@ -345,7 +345,7 @@ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless, /obj/item/clothing/under/pants/chaps, /obj/item/clothing/under/pants/chaps/black, - /obj/item/clothing/under/harness, + /obj/item/clothing/under/gear_harness, /obj/item/clothing/shoes/laceup/brown, /obj/item/clothing/shoes/boots/jungle, /obj/item/clothing/shoes/boots/jackboots, diff --git a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/medical.dm b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/medical.dm index 9e7848402f26..c0fae5eca26b 100644 --- a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/medical.dm +++ b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/medical.dm @@ -117,7 +117,7 @@ /obj/item/storage/belt/medical, /obj/item/radio/headset/heads/cmo, /obj/item/clothing/under/rank/chief_medical_officer, - /obj/item/storage/hypokit/advanced/cmo, + /obj/item/storage/hypokit/advanced/cmo/full/loaded, /obj/item/clothing/accessory/stethoscope, /obj/item/clothing/glasses/hud/health, /obj/item/clothing/suit/storage/toggle/labcoat/cmo, @@ -175,7 +175,7 @@ /obj/item/healthanalyzer, /obj/item/storage/box/pillbottles, /obj/item/storage/box/syringes, - /obj/item/storage/hypokit, + /obj/item/storage/hypokit/full/loaded, ) worth = 450 container_type = /obj/structure/closet/crate/corporate/nanomed @@ -201,7 +201,7 @@ /obj/item/cartridge/medical, /obj/item/flashlight/pen, /obj/item/clothing/accessory/storage/white_vest, - /obj/item/storage/hypokit, + /obj/item/storage/hypokit/full/loaded, ) worth = 450 container_type = /obj/structure/closet/crate/secure/corporate/nanomed diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 1956e08c89e1..fabdabb10ebe 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -377,7 +377,7 @@ occupantData["isViableSubject"] = 0 occupantData["health"] = connected.occupant.health occupantData["maxHealth"] = connected.occupant.maxHealth - occupantData["minHealth"] = config_legacy.health_threshold_dead + occupantData["minHealth"] = connected.occupant.getMinHealth() occupantData["uniqueEnzymes"] = connected.occupant.dna.unique_enzymes occupantData["uniqueIdentity"] = connected.occupant.dna.uni_identity occupantData["structuralEnzymes"] = connected.occupant.dna.struc_enzymes diff --git a/code/game/gamemodes/cult/soulstone.dm b/code/game/gamemodes/cult/soulstone.dm index a7ecb33efbe6..6eea3773fe99 100644 --- a/code/game/gamemodes/cult/soulstone.dm +++ b/code/game/gamemodes/cult/soulstone.dm @@ -108,7 +108,7 @@ if(src.imprinted != "empty") to_chat(U, "Capture failed!: The soul stone has already been imprinted with [src.imprinted]'s mind!") return - if ((T.health + T.halloss) > config_legacy.health_threshold_crit && T.stat != DEAD) + if ((T.health + T.halloss) > T.getCritHealth() && T.stat != DEAD) to_chat(U, "Capture failed!: Kill or maim the victim first!") return if(T.client == null) diff --git a/code/game/gamemodes/technomancer/spells/illusion.dm b/code/game/gamemodes/technomancer/spells/illusion.dm index 080262c9115d..38bd9c7837f5 100644 --- a/code/game/gamemodes/technomancer/spells/illusion.dm +++ b/code/game/gamemodes/technomancer/spells/illusion.dm @@ -65,6 +65,7 @@ // Makes a tiny overlay of the thing the player has copied, so they can easily tell what they currently have. /obj/item/spell/illusion/update_icon() cut_overlays() + . = ..() if(copied) var/image/temp_image = image(copied) var/matrix/M = matrix() diff --git a/code/game/landmarks/spawnpoint/station/jobs.dm b/code/game/landmarks/spawnpoint/station/jobs.dm index 96ac821e63a4..8b01ed2aaa8c 100644 --- a/code/game/landmarks/spawnpoint/station/jobs.dm +++ b/code/game/landmarks/spawnpoint/station/jobs.dm @@ -8,6 +8,16 @@ latejoin = TRUE priority = 5 +/obj/landmark/spawnpoint/job/outsider + name = "Traveler" + icon_state = "Assistant" + job_path = /datum/role/job/station/outsider + +/obj/landmark/spawnpoint/job/outsider/override + spawns_left = INFINITY + latejoin = TRUE + priority = 5 + /obj/landmark/spawnpoint/job/janitor name = "Janitor" icon_state = "Janitor" diff --git a/code/game/landmarks/spawnpoint/tradeport.dm b/code/game/landmarks/spawnpoint/tradeport.dm index 24adc1185e24..40f217d262a6 100644 --- a/code/game/landmarks/spawnpoint/tradeport.dm +++ b/code/game/landmarks/spawnpoint/tradeport.dm @@ -7,3 +7,13 @@ /obj/landmark/spawnpoint/latejoin/tradeport name = "Tradeport Latejoin" faction = JOB_FACTION_TRADEPORT + +/obj/landmark/spawnpoint/job/outsider + name = "Traveler" + job_path = /datum/role/job/station/outsider + latejoin = TRUE + latejoin_override = TRUE + +/obj/landmark/spawnpoint/latejoin/outsider + name = "Traveler Latejoin" + faction = JOB_FACTION_TRADEPORT diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 14d54e5a7a68..1fb7a028bb9a 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -275,8 +275,9 @@ else toggle_pump() -/obj/machinery/sleeper/update_icon() +/obj/machinery/sleeper/update_icon_state() icon_state = "sleeper_[occupant ? TRUE : FALSE]" + return ..() /obj/machinery/sleeper/attackby(var/obj/item/I, var/mob/user) if(istype(I, /obj/item/grab)) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index ae3898fc44ea..580aa6c68a21 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -630,6 +630,7 @@ return incoming /obj/machinery/bodyscanner/update_icon() + . = ..() if(machine_stat & (NOPOWER|BROKEN)) icon_state = "scanner_off" set_light(0) @@ -657,6 +658,7 @@ console.update_icon(h_ratio) /obj/machinery/body_scanconsole/update_icon(var/h_ratio) + . = ..() if(machine_stat & (NOPOWER|BROKEN)) icon_state = "scanner_terminal_off" set_light(0) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index d7b7a582f8dc..901d165d3971 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -22,11 +22,12 @@ ..() update_icon() -/obj/machinery/ai_slipper/update_icon() +/obj/machinery/ai_slipper/update_icon_state() if(machine_stat & (NOPOWER|BROKEN)) icon_state = "motion0" else icon_state = disabled ? "motion0" : "motion3" + return ..() /obj/machinery/ai_slipper/proc/setState(var/enabled, var/uses) disabled = disabled diff --git a/code/game/machinery/atm_ret_field.dm b/code/game/machinery/atm_ret_field.dm index 27790055b186..2d21a9dfbe2a 100644 --- a/code/game/machinery/atm_ret_field.dm +++ b/code/game/machinery/atm_ret_field.dm @@ -83,7 +83,7 @@ . = ..() generate_field() -/obj/machinery/atmospheric_field_generator/update_icon() +/obj/machinery/atmospheric_field_generator/update_icon_state() if(machine_stat & BROKEN) icon_state = "arfg_broken" else if(hatch_open && wires_intact) @@ -94,6 +94,7 @@ icon_state = "arfg_on" else icon_state = "arfg_off" + return ..() /obj/machinery/atmospheric_field_generator/power_change() var/oldstat @@ -192,6 +193,7 @@ /obj/structure/atmospheric_retention_field/update_icon() cut_overlays() + . = ..() var/list/dirs = list() for(var/obj/structure/atmospheric_retention_field/F in orange(src,1)) dirs += get_dir(src, F) @@ -203,8 +205,6 @@ var/image/I = image(icon, "[basestate][connections[i]]", dir = 1<<(i-1)) add_overlay(I) - return - /obj/structure/atmospheric_retention_field/Initialize(mapload) . = ..() update_nearby_tiles() //Force ZAS update diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index 5e548e8bb2ea..c054f4e03b50 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -20,8 +20,9 @@ var/datum/radio_frequency/radio_connection -/obj/machinery/air_sensor/update_icon() +/obj/machinery/air_sensor/update_icon_state() icon_state = "gsensor[on]" + return ..() /obj/machinery/air_sensor/process(delta_time) if(on) diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index 6f17edab6d3c..fcc87c65e69d 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -102,6 +102,7 @@ BIOGEN_ITEM("Leather Coat", /obj/item/clothing/suit/leathercoat, 1, 500), BIOGEN_ITEM("Leather Jacket", /obj/item/clothing/suit/storage/toggle/brown_jacket, 1, 500), BIOGEN_ITEM("Winter Coat", /obj/item/clothing/suit/storage/hooded/wintercoat, 1, 500), + BIOGEN_ITEM("Winter Boots", /obj/item/clothing/shoes/boots/winter, 1, 250), BIOGEN_ITEM("4 Algae Sheets", /obj/item/stack/material/algae, 4, 400), BIOGEN_ITEM("50 Algae Sheets", /obj/item/stack/material/algae, 50, 5000), ) @@ -249,6 +250,7 @@ /obj/machinery/biogenerator/update_icon() cut_overlays() + . = ..() if(beaker) add_overlay("[base_icon_state]-standby") if(processing) diff --git a/code/game/machinery/bomb_tester.dm b/code/game/machinery/bomb_tester.dm index 935abaed349e..d84cf342e8f7 100644 --- a/code/game/machinery/bomb_tester.dm +++ b/code/game/machinery/bomb_tester.dm @@ -62,6 +62,7 @@ /obj/machinery/bomb_tester/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() if(tank1) overlays_to_add += image(icon, "[icon_name]-tank1") diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 673b3de996f2..956868ca2fb0 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -257,13 +257,14 @@ CREATE_WALL_MOUNTING_TYPES(/obj/machinery/camera) if(isXRay()) P.SetSight(SEE_TURFS | SEE_MOBS | SEE_OBJS) -/obj/machinery/camera/update_icon() +/obj/machinery/camera/update_icon_state() if (!status || (machine_stat & BROKEN)) icon_state = "[initial(icon_state)]1" else if (machine_stat & EMPED) icon_state = "[initial(icon_state)]emp" else icon_state = initial(icon_state) + return ..() /obj/machinery/camera/proc/triggerCameraAlarm(duration = 0) alarm_on = 1 diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 2da823206971..4f7f6c71b52b 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -139,11 +139,12 @@ ..() -/obj/item/camera_assembly/update_icon() +/obj/item/camera_assembly/update_icon_state() if(anchored) icon_state = "camera1" else icon_state = "cameracase" + return ..() /obj/item/camera_assembly/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) if(!anchored) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index f014be3d7768..a3cbee919c9a 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -17,21 +17,13 @@ circuit = /obj/item/circuitboard/cell_charger /obj/machinery/cell_charger/update_icon() + cut_overlays() icon_state = "ccharger[charging ? 1 : 0]" + . = ..() if(charging && !(machine_stat & (BROKEN|NOPOWER))) - var/newlevel = round(charging.percent() * 4.0 / 99) - //to_chat(world, "nl: [newlevel]") - - if(chargelevel != newlevel) - - cut_overlays() - add_overlay("ccharger-o[newlevel]") - - chargelevel = newlevel - else - cut_overlays() + add_overlay("ccharger-o[newlevel]") /obj/machinery/cell_charger/examine(mob/user, dist) . = ..() diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 853f74f96f03..2e1f80158f1a 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -54,7 +54,7 @@ ui_interact(user) ..() -/obj/machinery/computer/operating/ui_interact(mob/user, datum/tgui/ui = null) +/obj/machinery/computer/operating/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "OperatingComputer", "Patient Monitor") @@ -63,7 +63,10 @@ /obj/machinery/computer/operating/ui_data(mob/user, datum/tgui/ui) var/data[0] var/mob/living/carbon/human/occupant - if(table) + if(!table) + data["table"] = 0 + else + data["table"] = 1 occupant = table.victim data["hasOccupant"] = occupant ? 1 : 0 var/occupantData[0] @@ -73,7 +76,7 @@ occupantData["stat"] = occupant.stat occupantData["health"] = occupant.health occupantData["maxHealth"] = occupant.maxHealth - occupantData["minHealth"] = config_legacy.health_threshold_dead + occupantData["minHealth"] = occupant.getMinHealth() occupantData["bruteLoss"] = occupant.getBruteLoss() occupantData["oxyLoss"] = occupant.getOxyLoss() occupantData["toxLoss"] = occupant.getToxLoss() @@ -119,9 +122,9 @@ occupantData["bloodPercent"] = round(100*(blood_volume/occupant.species.blood_volume), 0.01) //copy pasta ends here occupantData["bloodType"] = occupant.dna.b_type - occupantData["surgery"] = build_surgery_list(user) + occupantData["procedures"] = build_surgery_list(user) - data["occupant"] = occupantData + data["patient"] = occupantData data["verbose"]=verbose data["oxyAlarm"]=oxyAlarm data["choice"]=choice @@ -302,7 +305,19 @@ */ /obj/machinery/computer/operating/proc/find_next_steps(mob/user, zone) . = list() - for(var/datum/surgery_step/S in get_surgery_steps_without_basetypes()) + var/list/possible_next_steps = get_surgery_steps_without_basetypes() + // these steps prompt the player in can_use, don't call them every ui update + var/list/prompting_surgery_steps = list( + /datum/surgery_step/internal/detatch_organ, + /datum/surgery_step/internal/remove_organ, + /datum/surgery_step/internal/attach_organ, + /datum/surgery_step/internal/rip_organ, + /datum/surgery_step/robotics/detatch_organ_robotic, + /datum/surgery_step/robotics/attach_organ_robotic, + ) + for(var/datum/surgery_step/S in possible_next_steps) + if (S.type in prompting_surgery_steps) + continue if(S.can_use(user, victim, zone, null) && S.is_valid_target(victim)) var/allowed_tools_by_name = list() for(var/tool in S.allowed_tools) @@ -311,6 +326,4 @@ continue var/obj/tool_path = tool allowed_tools_by_name += capitalize(initial(tool_path.name)) - // Please for the love of all that is holy, someone make surgery steps - // have names so I don't have to do this stupid pretty_type shit. - . += "[pretty_type(S)]: [english_list(allowed_tools_by_name)]" + . += list(S.step_name = english_list(allowed_tools_by_name)) diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 43b425dfcfa8..eb7237046fac 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -115,18 +115,19 @@ if(oldstat != occupier.stat) update_icon() -/obj/machinery/computer/aifixer/update_icon() - . = ..() +/obj/machinery/computer/aifixer/make_legacy_overlays() + var/list/to_add_overlays = list() if(machine_stat & (NOPOWER|BROKEN)) return if(restoring) - . += "ai-fixer-on" + to_add_overlays += "ai-fixer-on" if (occupier) switch (occupier.stat) if (CONSCIOUS) - . += "ai-fixer-full" + to_add_overlays += "ai-fixer-full" if (UNCONSCIOUS) - . += "ai-fixer-404" + to_add_overlays += "ai-fixer-404" else - . += "ai-fixer-empty" + to_add_overlays += "ai-fixer-empty" + add_overlay(to_add_overlays) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index a99174ac3030..1fca72f817c0 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -1,3 +1,11 @@ +/** + * Base /computer machinery type. + * + * Has the following responsibilities: + * * Smoothly connect to adjacent computers visually as needed. + * * Have default construction/deconstruction steps for computer instead of default for machine + * * Render screen overlay and a standard light source + emissive + */ /obj/machinery/computer name = "computer" icon = 'icons/obj/computer.dmi' @@ -39,8 +47,11 @@ /obj/machinery/computer/update_icon() cut_overlays() + . = ..() + make_legacy_overlays() - . = list() +/obj/machinery/computer/proc/make_legacy_overlays() + var/list/to_add_overlays = list() // Connecty //TODO: Use TG Smoothing. if(initial(icon_state) == "computer") @@ -59,27 +70,29 @@ if(icon_keyboard) if(machine_stat & NOPOWER) - playsound(src, 'sound/machines/terminal_off.ogg', 50, 1) - return add_overlay("[icon_keyboard]_off") - . += icon_keyboard + to_add_overlays += "[icon_keyboard]_off" + else + to_add_overlays += icon_keyboard // This whole block lets screens ignore lighting and be visible even in the darkest room var/overlay_state = icon_screen if(machine_stat & BROKEN) overlay_state = "[icon_state]_broken" - . += overlay_state + else if(!(machine_stat & NOPOWER)) + to_add_overlays += overlay_state //. += emissive_appearance(icon, overlay_state) - playsound(src, 'sound/machines/terminal_on.ogg', 50, 1) - add_overlay(.) + add_overlay(to_add_overlays) /obj/machinery/computer/power_change() ..() update_icon() if(machine_stat & NOPOWER) set_light(0) + playsound(src, 'sound/machines/terminal_off.ogg', 50, 1) else set_light(light_range_on, light_power_on) + playsound(src, 'sound/machines/terminal_on.ogg', 50, 1) /obj/machinery/computer/drop_products(method, atom/where) . = ..() @@ -95,11 +108,6 @@ machine_stat |= BROKEN update_icon() -/obj/machinery/computer/proc/decode(text) - // Adds line breaks - text = replacetext(text, "\n", "
") - return text - /obj/machinery/computer/attackby(obj/item/I, mob/living/user, params, clickchain_flags, damage_multiplier) if(computer_deconstruction_screwdriver(user, I)) return diff --git a/code/game/machinery/computer/timeclock_vr.dm b/code/game/machinery/computer/timeclock_vr.dm index 55f5bf30f726..a6ef6e1eea42 100644 --- a/code/game/machinery/computer/timeclock_vr.dm +++ b/code/game/machinery/computer/timeclock_vr.dm @@ -34,13 +34,14 @@ card = null . = ..() -/obj/machinery/computer/timeclock/update_icon() +/obj/machinery/computer/timeclock/update_icon_state() if(inoperable()) icon_state = "[initial(icon_state)]_off" else if(card) icon_state = "[initial(icon_state)]_card" else icon_state = "[initial(icon_state)]" + return ..() /obj/machinery/computer/timeclock/power_change() var/old_stat = machine_stat @@ -102,10 +103,11 @@ "pto_department" = job.pto_type, "is_off_duty" = job.is_off_duty, ) - if(config_legacy.time_off) - data["allow_change_job"] = TRUE - if(job?.is_off_duty) // Currently are Off Duty, so gotta lookup what on-duty jobs are open - data["job_choices"] = getOpenOnDutyJobs(user, job.pto_type) + // nah i don't care for configs worker's rights are human rights too bad + // if(config_legacy.time_off) + data["allow_change_job"] = TRUE + if(job?.is_off_duty) // Currently are Off Duty, so gotta lookup what on-duty jobs are open + data["job_choices"] = getOpenOnDutyJobs(user, job.pto_type) return data diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 6f4ef4ab70b5..34318abdebc9 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -112,7 +112,7 @@ occupantData["stat"] = occupant.stat occupantData["health"] = occupant.health occupantData["maxHealth"] = occupant.getMaxHealth() - occupantData["minHealth"] = config_legacy.health_threshold_dead + occupantData["minHealth"] = occupant.getMinHealth() occupantData["bruteLoss"] = occupant.getBruteLoss() occupantData["oxyLoss"] = occupant.getOxyLoss() occupantData["toxLoss"] = occupant.getToxLoss() @@ -214,6 +214,7 @@ put_mob(target) /obj/machinery/atmospherics/component/unary/cryo_cell/update_icon() + . = ..() cut_overlay(fluid) fluid.color = null fluid.alpha = max(255 - air_contents.temperature, 50) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 4b803e871166..b543c2eaaf2c 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -737,6 +737,7 @@ /obj/machinery/cryopod/robot/door/gateway/update_icon() cut_overlays() + . = ..() if(occupant) var/image/I = image(icon, src, "[base_icon_state]_active_overlay") I.plane = ABOVE_LIGHTING_PLANE diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 7280a965dcc8..5b67dc5b601c 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -60,11 +60,12 @@ ..() update_icon() -/obj/machinery/button/remote/update_icon() +/obj/machinery/button/remote/update_icon_state() if(machine_stat & NOPOWER) icon_state = "doorctrl-p" else icon_state = "doorctrl0" + return ..() /* Airlock remote control @@ -200,8 +201,9 @@ return -/obj/machinery/button/remote/driver/update_icon() +/obj/machinery/button/remote/driver/update_icon_state() if(!active || (machine_stat & NOPOWER)) icon_state = "launcherbtt" else icon_state = "launcheract" + return ..() diff --git a/code/game/machinery/doorbell_vr.dm b/code/game/machinery/doorbell_vr.dm index c2bd4e3c45ed..958655e768ab 100644 --- a/code/game/machinery/doorbell_vr.dm +++ b/code/game/machinery/doorbell_vr.dm @@ -34,6 +34,7 @@ /obj/machinery/doorbell_chime/update_icon() cut_overlays() + . = ..() if(panel_open) add_overlay("dbchime-open") if(inoperable()) @@ -105,11 +106,12 @@ ..() update_icon() -/obj/machinery/button/doorbell/update_icon() +/obj/machinery/button/doorbell/update_icon_state() if(machine_stat & (NOPOWER|BROKEN)) icon_state = "doorbell-off" else icon_state = "doorbell-standby" + return ..() /obj/machinery/button/doorbell/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) diff --git a/code/game/machinery/doors/airlock/airlock.dm b/code/game/machinery/doors/airlock/airlock.dm index b18db9b23ca5..02249fca8ab7 100644 --- a/code/game/machinery/doors/airlock/airlock.dm +++ b/code/game/machinery/doors/airlock/airlock.dm @@ -499,8 +499,9 @@ About the new airlock wires panel: return 0 -/obj/machinery/door/airlock/update_icon(var/doorstate) - switch(doorstate) +/obj/machinery/door/airlock/update_icon() + . = ..() + switch(state) if(AIRLOCK_OPEN) icon_state = "open" if(AIRLOCK_CLOSED) @@ -513,28 +514,43 @@ About the new airlock wires panel: /obj/machinery/door/airlock/custom_smooth() return //we only custom smooth because we don't need to do anything else. +// todo: Rework everything, fucks sakes /obj/machinery/door/airlock/do_animate(animation) switch(animation) if(DOOR_ANIMATION_OPEN) set_airlock_overlays(AIRLOCK_OPENING) flick("opening", src)//[stat ? "_stat":] - update_icon(AIRLOCK_OPEN) + state = AIRLOCK_OPENING + update_icon() if(DOOR_ANIMATION_CLOSE) set_airlock_overlays(AIRLOCK_CLOSING) flick("closing", src) - update_icon(AIRLOCK_CLOSED) + state = AIRLOCK_CLOSING + update_icon() if(DOOR_ANIMATION_DENY) set_airlock_overlays(AIRLOCK_DENY) if(density && arePowerSystemsOn()) flick("deny", src) if(speaker) playsound(loc, denied_sound, 50, 0) - update_icon(AIRLOCK_CLOSED) + var/old_state = state + state = AIRLOCK_DENY + update_icon() + state = old_state + spawn(3) + update_icon() if(DOOR_ANIMATION_EMAG) set_airlock_overlays(AIRLOCK_EMAG) if(density && arePowerSystemsOn()) flick("deny", src) + var/old_state = state + state = AIRLOCK_EMAG + update_icon() + state = old_state + spawn(3) + update_icon() else + state = AIRLOCK_EMAG update_icon() /obj/machinery/door/airlock/attack_ai(mob/user as mob) @@ -890,7 +906,11 @@ About the new airlock wires panel: if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) src.closeOther.close() - return ..() + . = ..() + if(!.) + return + state = AIRLOCK_OPEN + update_icon() /obj/machinery/door/airlock/close(var/forced=0) if(!can_close(forced)) @@ -921,7 +941,11 @@ About the new airlock wires panel: var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) if(killthis) LEGACY_EX_ACT(killthis, 2, null)//Smashin windows - return ..() + . = ..() + if(!.) + return + state = AIRLOCK_CLOSED + update_icon() /obj/machinery/door/airlock/set_opacity_on_close() if(visible) diff --git a/code/game/machinery/doors/airlock/airlock_control.dm b/code/game/machinery/doors/airlock/airlock_control.dm index 9fffbae73405..367614942f3c 100644 --- a/code/game/machinery/doors/airlock/airlock_control.dm +++ b/code/game/machinery/doors/airlock/airlock_control.dm @@ -168,7 +168,7 @@ var/previous_phoron var/previous_temperature -/obj/machinery/airlock_sensor/update_icon() +/obj/machinery/airlock_sensor/update_icon_state() if(on) if(alert) icon_state = "airlock_sensor_alert" @@ -176,6 +176,7 @@ icon_state = "airlock_sensor_standby" else icon_state = "airlock_sensor_off" + return ..() /obj/machinery/airlock_sensor/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) var/datum/signal/signal = new @@ -267,12 +268,12 @@ var/on = 1 - -/obj/machinery/access_button/update_icon() +/obj/machinery/access_button/update_icon_state() if(on) icon_state = "access_button_standby" else icon_state = "access_button_off" + return ..() /obj/machinery/access_button/attackby(obj/item/I as obj, mob/user as mob) //Swiping ID on the access button diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index 9df2f78a99fd..5acf84f220d3 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -57,6 +57,7 @@ // Parameters: None // Description: Updates icon of this object. Uses icon state variables. /obj/machinery/door/blast/update_icon() + . = ..() if(density) icon_state = icon_state_closed else diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index c8de7c61348a..5832dc53ac20 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -290,11 +290,12 @@ open() ..() -/obj/machinery/door/update_icon() +/obj/machinery/door/update_icon_state() if(density) icon_state = "door1" else icon_state = "door0" + return ..() /obj/machinery/door/proc/do_animate(animation) switch(animation) @@ -324,7 +325,7 @@ do_animate(DOOR_ANIMATION_OPEN) set_opacity(0) sleep(3) - src.density = 0 + set_density(FALSE) update_nearby_tiles() sleep(7) src.layer = open_layer @@ -350,7 +351,7 @@ close_door_at = 0 do_animate(DOOR_ANIMATION_CLOSE) sleep(3) - src.density = 1 + set_density(TRUE) explosion_resistance = initial(explosion_resistance) src.layer = closed_layer update_nearby_tiles() diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 423e176d4d09..38fe78736cd2 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -475,9 +475,11 @@ GLOBAL_LIST_INIT(firelock_align_types, typecacheof(list( /obj/machinery/door/firedoor/update_icon() - var/image/lights_overlay cut_overlays() + . = ..() + set_light(0) + var/image/lights_overlay var/do_set_light = FALSE if(density) @@ -505,8 +507,6 @@ GLOBAL_LIST_INIT(firelock_align_types, typecacheof(list( if(do_set_light) set_light(2, 0.25, COLOR_SUN) - return - /obj/machinery/door/firedoor/border_only /* icon = 'icons/obj/doors/edge_Doorfire.dmi' diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index e779c739be7b..b900a55de92e 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -8,11 +8,12 @@ density = 1 var/wired = 0 -/obj/structure/firedoor_assembly/update_icon() +/obj/structure/firedoor_assembly/update_icon_state() if(anchored) icon_state = "door_anchored" else icon_state = "door_construction" + return ..() /obj/structure/firedoor_assembly/attackby(obj/item/C, mob/user as mob) if(istype(C, /obj/item/stack/cable_coil) && !wired && anchored) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index bf8007ae0194..5a2b684d6efe 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -25,6 +25,7 @@ src.base_state = src.icon_state /obj/machinery/door/window/update_icon() + . = ..() if(density) icon_state = base_state else diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index a02ebf8320f8..9d7085022ce3 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -73,8 +73,7 @@ valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int") program = /datum/computer/file/embedded_program/airlock/access_controll - -/obj/machinery/embedded_controller/radio/airlock/access_controller/update_icon() +/obj/machinery/embedded_controller/radio/airlock/access_controller/update_icon_state() if(on && program) if(program.memory["processing"]) icon_state = "access_control_process" @@ -82,6 +81,7 @@ icon_state = "access_control_standby" else icon_state = "access_control_off" + return ..() /obj/machinery/embedded_controller/radio/airlock/access_controller/ui_data(mob/user, datum/tgui/ui) . = list( diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 137e78cdbbbf..b0111938e2f6 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -86,7 +86,7 @@ radio_controller.remove_object(src,frequency) ..() -/obj/machinery/embedded_controller/radio/update_icon() +/obj/machinery/embedded_controller/radio/update_icon_state() if(on && program) if(program.memory["processing"]) icon_state = "airlock_control_process" @@ -94,6 +94,7 @@ icon_state = "airlock_control_standby" else icon_state = "airlock_control_off" + return ..() /obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal, var/radio_filter = null) signal.transmission_method = TRANSMISSION_RADIO diff --git a/code/game/machinery/exonet_node.dm b/code/game/machinery/exonet_node.dm index ac1e50634956..7ad9a9ae07a5 100644 --- a/code/game/machinery/exonet_node.dm +++ b/code/game/machinery/exonet_node.dm @@ -40,7 +40,7 @@ GLOBAL_LIST_EMPTY(exonet_nodes) // Proc: update_icon() // Parameters: None // Description: Self explanatory. -/obj/machinery/exonet_node/update_icon() +/obj/machinery/exonet_node/update_icon_state() if(on) if(!allow_external_PDAs && !allow_external_communicators && !allow_external_newscasters) icon_state = "[initial(icon_state)]_idle" @@ -48,6 +48,7 @@ GLOBAL_LIST_EMPTY(exonet_nodes) icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]_off" + return ..() // Proc: update_power() // Parameters: None diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm index 18e7b0188826..234cb0eac41b 100644 --- a/code/game/machinery/fire_alarm.dm +++ b/code/game/machinery/fire_alarm.dm @@ -53,6 +53,7 @@ CREATE_WALL_MOUNTING_TYPES_SHIFTED(/obj/machinery/fire_alarm/alarms_hidden, 21) /obj/machinery/fire_alarm/update_icon() cut_overlays() + . = ..() add_overlay("casing") if(panel_open) diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index 8548bc99021d..f5021db0c227 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -15,9 +15,9 @@ . = ..() cell = new(src) -/obj/machinery/floodlight/update_icon() - cut_overlays() +/obj/machinery/floodlight/update_icon_state() icon_state = "flood[open ? "o" : ""][open && cell ? "b" : ""]0[on]" + return ..() /obj/machinery/floodlight/process(delta_time) if(!on) diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm index 6975c0a4f182..a952e821814e 100644 --- a/code/game/machinery/floor_light.dm +++ b/code/game/machinery/floor_light.dm @@ -122,6 +122,7 @@ var/list/floor_light_cache = list() /obj/machinery/floor_light/update_icon() cut_overlays() + . = ..() if(use_power && !broken()) if(isnull(damaged)) var/cache_key = "floorlight-[default_light_colour]" diff --git a/code/game/machinery/gear_painter.dm b/code/game/machinery/gear_painter.dm index 725a1d8f7638..f63dd55740aa 100644 --- a/code/game/machinery/gear_painter.dm +++ b/code/game/machinery/gear_painter.dm @@ -47,7 +47,7 @@ 0, 0, 0, ) -/obj/machinery/gear_painter/update_icon() +/obj/machinery/gear_painter/update_icon_state() if(panel_open) icon_state = "colormate_open" else if(inoperable()) @@ -56,6 +56,7 @@ icon_state = "colormate_active" else icon_state = "colormate" + return ..() /obj/machinery/gear_painter/Destroy() if(inserted) //please i beg you do not drop nulls @@ -192,7 +193,7 @@ drop_item() return TRUE if("clear") - inserted.remove_atom_colour(FIXED_COLOUR_PRIORITY) + inserted.remove_atom_color() playsound(src, 'sound/effects/spray3.ogg', 50, 1) temp = "Cleared Successfully!" return TRUE @@ -236,7 +237,7 @@ if(!color_to_use || !check_valid_color(color_to_use, user)) to_chat(user, SPAN_NOTICE("Invalid color.")) return FALSE - inserted.add_atom_colour(color_to_use, FIXED_COLOUR_PRIORITY) + inserted.add_atom_color(color_to_use) playsound(src, 'sound/effects/spray3.ogg', 50, 1) return TRUE @@ -285,7 +286,7 @@ /obj/machinery/gear_painter/proc/check_valid_color(list/cm, mob/user) if(!islist(cm)) // normal - var/list/HSV = ReadHSV(RGBtoHSV(cm)) + var/list/HSV = rgb2hsv(cm) if(HSV[3] < minimum_normal_lightness) temp = "[cm] is too dark (Minimum lightness: [minimum_normal_lightness])" return FALSE @@ -294,7 +295,7 @@ // 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) +#define COLORTEST(thestring, thematrix) passed += (rgb2hsv(RGBMatrixTransform(thestring, thematrix))[3] >= minimum_matrix_lightness) COLORTEST("FF0000", cm) COLORTEST("00FF00", cm) COLORTEST("0000FF", cm) diff --git a/code/game/machinery/holoposter.dm b/code/game/machinery/holoposter.dm index c8033af25273..9a876fb3ffdb 100644 --- a/code/game/machinery/holoposter.dm +++ b/code/game/machinery/holoposter.dm @@ -42,6 +42,7 @@ GLOBAL_LIST_EMPTY(holoposters) . += examine_addon /obj/machinery/holoposter/update_icon() + . = ..() if(machine_stat & NOPOWER) icon_state = "off" examine_addon = "It appears to be powered off." diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index 7b28e9b6766d..2c447ee36534 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -21,11 +21,12 @@ update_use_power(lit ? USE_POWER_ACTIVE : USE_POWER_IDLE) update_icon() -/obj/machinery/holosign/update_icon() +/obj/machinery/holosign/update_icon_state() if(!lit) icon_state = off_icon else icon_state = on_icon + return ..() /obj/machinery/holosign/power_change() if(machine_stat & NOPOWER) diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 0d687a25a999..3b4ecc114a77 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -144,6 +144,7 @@ /obj/machinery/media/jukebox/update_icon() cut_overlays() + . = ..() if(machine_stat & (NOPOWER|BROKEN) || !anchored) if(machine_stat & BROKEN) icon_state = "[state_base]-broken" diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 44386e2dcd30..d8c7dfee3206 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -196,14 +196,15 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co return ..() /obj/machinery/newscaster/update_icon() + cut_overlays() + . = ..() + if(!ispowered || isbroken) icon_state = "newscaster_off" if(isbroken) //If the thing is smashed, add crack overlay on top of the unpowered sprite. set_overlays("crack3") return - cut_overlays() //reset overlays - if(news_network.wanted_issue) //wanted icon state, there can be no overlays on it as it's a priority message icon_state = "newscaster_wanted" return @@ -215,7 +216,6 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co add_overlay("crack[hitstaken]") icon_state = "newscaster_normal" - return /obj/machinery/newscaster/power_change() if(isbroken) //Broken shit can't be powered. diff --git a/code/game/machinery/pda_multicaster.dm b/code/game/machinery/pda_multicaster.dm index 7273710bbf41..16dcb4ad4f11 100644 --- a/code/game/machinery/pda_multicaster.dm +++ b/code/game/machinery/pda_multicaster.dm @@ -29,11 +29,12 @@ qdel(AM) return ..() -/obj/machinery/pda_multicaster/update_icon() +/obj/machinery/pda_multicaster/update_icon_state() if(on) icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]-p" + return ..() /obj/machinery/pda_multicaster/attackby(obj/item/I, mob/user) if(I.is_screwdriver()) diff --git a/code/game/machinery/pointdefense.dm b/code/game/machinery/pointdefense.dm index 11371572ea8a..744cb132ba28 100644 --- a/code/game/machinery/pointdefense.dm +++ b/code/game/machinery/pointdefense.dm @@ -153,11 +153,12 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense) if(!id_tag) . += "[desc_panel_image("multitool", user)]to set ident tag and connect to a mainframe." -/obj/machinery/power/pointdefense/update_icon() +/obj/machinery/power/pointdefense/update_icon_state() if(!active || !id_tag || inoperable()) icon_state = "[initial(icon_state)]_off" else icon_state = initial(icon_state) + return ..() /obj/machinery/power/pointdefense/default_unfasten_wrench(var/mob/user, var/obj/item/W, var/time) if((. = ..())) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 5bddf8fc4db8..726a50222889 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -209,11 +209,12 @@ ..(severity) -/obj/machinery/recharger/update_icon() //we have an update_icon() in addition to the stuff in process to make it feel a tiny bit snappier. +/obj/machinery/recharger/update_icon_state() if(charging) icon_state = icon_state_charging else icon_state = icon_state_idle + return ..() /obj/machinery/recharger/RefreshParts() var/E = 0 diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 3f7b01c32662..e6fed7097d64 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -78,13 +78,14 @@ var/list/obj/machinery/requests_console/allConsoles = list() ..() update_icon() -/obj/machinery/requests_console/update_icon() +/obj/machinery/requests_console/update_icon_state() if(machine_stat & NOPOWER) if(icon_state != "req_comp_off") icon_state = "req_comp_off" else if(icon_state == "req_comp_off") icon_state = "req_comp[newmessagepriority]" + return ..() /obj/machinery/requests_console/Initialize(mapload, newdir) . = ..() diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 4f2fd5f44d85..0a987fb6d337 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -20,6 +20,7 @@ /obj/machinery/space_heater/update_icon() cut_overlays() + . = ..() icon_state = "sheater[on]" if(panel_open) add_overlay("sheater-open") @@ -287,6 +288,7 @@ /obj/machinery/power/thermoregulator/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() if(on) overlays_to_add += "lasergen-on" diff --git a/code/game/machinery/suit_storage/suit_storage_unit.dm b/code/game/machinery/suit_storage/suit_storage_unit.dm index cb80c6ff01f4..572fb755b9a9 100644 --- a/code/game/machinery/suit_storage/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage/suit_storage_unit.dm @@ -42,7 +42,7 @@ if(boots_stored_TYPE) boots_stored = new boots_stored_TYPE(src) -/obj/machinery/suit_storage_unit/update_icon() +/obj/machinery/suit_storage_unit/update_icon_state() var/hashelmet = 0 var/hassuit = 0 var/hashuman = 0 @@ -53,6 +53,7 @@ if(occupant) hashuman = 1 icon_state = "suitstorage[hashelmet][hassuit][hashuman][isopen][islocked][isUV][ispowered][isbroken][issuperUV]" + return ..() /obj/machinery/suit_storage_unit/power_change() ..() diff --git a/code/game/machinery/telecomms/_telecomms.dm b/code/game/machinery/telecomms/_telecomms.dm index 55cb28f8a702..dabe27fc8840 100644 --- a/code/game/machinery/telecomms/_telecomms.dm +++ b/code/game/machinery/telecomms/_telecomms.dm @@ -159,11 +159,12 @@ if(src != T) links |= T -/obj/machinery/telecomms/update_icon() +/obj/machinery/telecomms/update_icon_state() if(on) icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]_off" + return ..() /obj/machinery/telecomms/proc/update_power() if(toggled) diff --git a/code/game/machinery/telecomms/blackbox.dm b/code/game/machinery/telecomms/blackbox.dm index 61e83517e4c9..fb9cef3c7c4f 100644 --- a/code/game/machinery/telecomms/blackbox.dm +++ b/code/game/machinery/telecomms/blackbox.dm @@ -182,7 +182,7 @@ var/obj/machinery/blackbox_recorder/blackbox var/round_id var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT MAX(round_id) AS round_id FROM [format_table_name("feedback")]", + "SELECT MAX(round_id) AS round_id FROM [DB_PREFIX_TABLE_NAME("feedback")]", list() ) @@ -195,7 +195,7 @@ var/obj/machinery/blackbox_recorder/blackbox for(var/datum/feedback_variable/FV in feedback) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("feedback")] VALUES (null, Now(), :round_id, :variable, :value, :details)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("feedback")] VALUES (null, Now(), :round_id, :variable, :value, :details)", list( "round_id" = "[round_id]", "variable" = "[FV.get_variable()]", diff --git a/code/game/machinery/teleporter/pad.dm b/code/game/machinery/teleporter/pad.dm index 07aaac186824..ebc72dd6651c 100644 --- a/code/game/machinery/teleporter/pad.dm +++ b/code/game/machinery/teleporter/pad.dm @@ -21,6 +21,7 @@ /obj/machinery/tele_pad/update_icon() cut_overlays() + . = ..() if(com?.projector?.engaged) update_use_power(USE_POWER_ACTIVE) var/image/I = image(icon, src, "[initial(icon_state)]_active_overlay") diff --git a/code/game/machinery/teleporter/projector.dm b/code/game/machinery/teleporter/projector.dm index 594bf591400f..f989068a3b7d 100644 --- a/code/game/machinery/teleporter/projector.dm +++ b/code/game/machinery/teleporter/projector.dm @@ -77,6 +77,7 @@ /obj/machinery/tele_projector/update_icon() cut_overlays() + . = ..() if(engaged) var/image/I = image(icon, src, "[initial(icon_state)]_active_overlay") I.plane = ABOVE_LIGHTING_PLANE diff --git a/code/game/machinery/turrets/turret.dm b/code/game/machinery/turrets/turret.dm index a22964f65fd1..ef943140ac4c 100644 --- a/code/game/machinery/turrets/turret.dm +++ b/code/game/machinery/turrets/turret.dm @@ -190,6 +190,7 @@ return ..() /obj/machinery/porta_turret/update_icon() + . = ..() if(machine_stat & BROKEN) // Turret is dead. icon_state = "destroyed_target_prism_[turret_type]" diff --git a/code/game/machinery/vending/loadout.dm b/code/game/machinery/vending/loadout.dm index 03debaedc09c..27a1d06a31d9 100644 --- a/code/game/machinery/vending/loadout.dm +++ b/code/game/machinery/vending/loadout.dm @@ -1,8 +1,8 @@ /obj/machinery/vending/loadout - name = "Fingers and Toes" - desc = "A special vendor for gloves and shoes!" - product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes." + name = "Heads, Fingers, and Toes" + desc = "A special vendor for hats, gloves, and shoes!" + product_ads = "Do you have heads, fingers, and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Portable shade! BUY A HAT!;This little piggy went WE WE WE all the way down to HEADS, FINGERS, AND TOES to pick up some sweet new gloves, shoes, and a big wide hat." icon_state = "glovesnshoes" products = list( /obj/item/clothing/gloves/evening = 5, @@ -22,12 +22,20 @@ /obj/item/clothing/gloves/fluff/siren = 5, /obj/item/clothing/gloves/white = 5, /obj/item/clothing/gloves/duty = 5, + /obj/item/clothing/gloves/bountyskin = 5, + /obj/item/clothing/gloves/hasie = 5, + /obj/item/clothing/gloves/utility_fur_gloves = 5, + /obj/item/clothing/gloves/armsocks = 5, /obj/item/clothing/shoes/athletic = 5, /obj/item/clothing/shoes/boots/fluff/siren = 5, /obj/item/clothing/shoes/slippers = 5, /obj/item/clothing/shoes/boots/cowboy/classic = 5, /obj/item/clothing/shoes/boots/cowboy = 5, + /obj/item/clothing/shoes/cowboyboots/black = 5, /obj/item/clothing/shoes/boots/duty = 5, + /obj/item/clothing/shoes/boots/duty/alt = 5, + /obj/item/clothing/shoes/boots/duty/alt/knee = 5, + /obj/item/clothing/shoes/boots/duty/alt/heel = 5, /obj/item/clothing/shoes/flats/white/color = 5, /obj/item/clothing/shoes/flipflop = 5, /obj/item/clothing/shoes/heels = 5, @@ -45,6 +53,7 @@ /obj/item/clothing/shoes/black/cuffs/blue = 5, /obj/item/clothing/shoes/black/cuffs/red = 5, /obj/item/clothing/shoes/sandal = 5, + /obj/item/clothing/shoes/socksandals = 5, //spared from the contraband. /obj/item/clothing/shoes/black = 5, /obj/item/clothing/shoes/blue = 5, /obj/item/clothing/shoes/brown = 5, @@ -57,21 +66,101 @@ /obj/item/clothing/shoes/white = 5, /obj/item/clothing/shoes/yellow = 5, /obj/item/clothing/shoes/skater = 5, + /obj/item/clothing/shoes/dress = 5, + /obj/item/clothing/shoes/dress/white = 5, /obj/item/clothing/shoes/boots/cowboy/snakeskin = 5, /obj/item/clothing/shoes/boots/jackboots/toeless = 5, /obj/item/clothing/shoes/boots/workboots/toeless = 5, + /obj/item/clothing/shoes/boots/laconic = 5, /obj/item/clothing/shoes/boots/winter = 5, /obj/item/clothing/shoes/boots/workboots = 5, + /obj/item/clothing/shoes/bountyskin = 5, + /obj/item/clothing/shoes/boots/half_moon = 5, /obj/item/clothing/shoes/footwraps = 5, /obj/item/clothing/shoes/utilitarian = 5, + /obj/item/clothing/head/bandana = 5, + /obj/item/clothing/head/greenbandana = 5, + /obj/item/clothing/head/orangebandana = 5, + /obj/item/clothing/head/beret = 5, + /obj/item/clothing/head/beret/medical = 5, + /obj/item/clothing/head/soft/black = 5, + /obj/item/clothing/head/soft/blue = 5, + /obj/item/clothing/head/mailman = 5, + /obj/item/clothing/head/flatcap = 5, + /obj/item/clothing/head/soft/green = 5, + /obj/item/clothing/head/soft/grey = 5, + /obj/item/clothing/head/soft/orange = 5, + /obj/item/clothing/head/soft/purple = 5, + /obj/item/clothing/head/soft/red = 5, + /obj/item/clothing/head/soft/yellow = 5, + /obj/item/clothing/head/soft/mime = 5, + /obj/item/clothing/head/soft/mbill = 5, + /obj/item/clothing/head/cowboy_hat = 5, + /obj/item/clothing/head/cowboy_hat/black = 5, + /obj/item/clothing/head/cowboy_hat/pink = 5, + /obj/item/clothing/head/cowboy_hat/wide = 5, + /obj/item/clothing/head/fedora/brown = 5, + /obj/item/clothing/head/fedora/grey = 5, + /obj/item/clothing/head/fedora/floppy = 5, + /obj/item/clothing/head/pin = 5, + /obj/item/clothing/head/pin/pink = 5, + /obj/item/clothing/head/pin/clover = 5, + /obj/item/clothing/head/pin/butterfly = 5, + /obj/item/clothing/head/pin/magnetic = 5, + /obj/item/clothing/head/pin/flower = 5, + /obj/item/clothing/head/pin/flower/blue = 5, + /obj/item/clothing/head/pin/flower/pink = 5, + /obj/item/clothing/head/pin/flower/yellow = 5, + /obj/item/clothing/head/pin/flower/violet = 5, + /obj/item/clothing/head/pin/flower/orange = 5, + /obj/item/clothing/head/pin/flower/white = 5, + /obj/item/clothing/head/pin/bow = 5, + /obj/item/clothing/head/pin/bow/big = 5, + /obj/item/clothing/head/pin/bow/big/red = 5, + /obj/item/clothing/head/hardhat = 2, + /obj/item/clothing/head/hardhat/orange = 2, + /obj/item/clothing/head/hardhat/red = 2, + /obj/item/clothing/head/hardhat/dblue = 2, + /obj/item/clothing/head/boaterhat = 5, + /obj/item/clothing/head/bowler = 5, + /obj/item/clothing/head/fez = 5, + /obj/item/clothing/head/rice = 5, + /obj/item/clothing/head/that = 5, + /obj/item/clothing/head/ushanka = 5, + /obj/item/clothing/head/santa = 5, + /obj/item/clothing/head/hijab = 5, + /obj/item/clothing/head/kippa = 5, + /obj/item/clothing/head/turban = 5, + /obj/item/clothing/head/taqiyah = 5, + /obj/item/clothing/head/beanie = 5, + /obj/item/clothing/head/beanie_loose = 5, + /obj/item/clothing/head/beretg = 5, + /obj/item/clothing/head/sombrero = 5, + /obj/item/clothing/head/flatcap/grey = 5, + /obj/item/clothing/head/traveller = 5, + /obj/item/clothing/head/maangtikka = 5, + /obj/item/clothing/head/jingasa = 5, + /obj/item/clothing/head/fluff/headbando = 5, + /obj/item/clothing/head/woodcirclet = 10, //Can be used to craft specific flower crowns, leaving the flower variants out. + /obj/item/clothing/head/half_pint = 5, + /obj/item/clothing/head/bard = 5, + /obj/item/clothing/head/hood/aureate = 5, + /obj/item/clothing/head/hood/aureate/dark = 5, + /obj/item/clothing/head/kitty = 5, + /obj/item/clothing/head/rabbitears = 5, ) premium = list( - /obj/item/clothing/gloves/rainbow = 1, - /obj/item/clothing/shoes/rainbow = 1, + /obj/item/clothing/gloves/rainbow = 5, + /obj/item/clothing/shoes/rainbow = 5, + /obj/item/clothing/head/soft/rainbow = 5, + /obj/item/clothing/head/hardhat/white = 2, + /obj/item/clothing/head/philosopher_wig = 5, + /obj/item/clothing/head/powdered_wig = 5, ) contraband = list( /obj/item/clothing/shoes/syndigaloshes = 1, /obj/item/clothing/shoes/clown_shoes = 1, + /obj/item/clothing/head/collectable/slime = 3, ) price_default = 10 @@ -85,24 +174,67 @@ products = list( /obj/item/pda = 25, /obj/item/radio/headset = 25, - /obj/item/storage/backpack/ = 10, + /obj/item/storage/backpack = 10, /obj/item/storage/backpack/messenger = 10, /obj/item/storage/backpack/satchel = 10, + /obj/item/storage/backpack/rig = 10, + /obj/item/storage/backpack/dufflebag = 10, /obj/item/clothing/under/color = 5, /obj/item/clothing/under/color/aqua = 5, /obj/item/clothing/under/color/black = 5, - /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/blackf = 5, + /obj/item/clothing/under/color/darkblue = 5, /obj/item/clothing/under/color/blue = 5, /obj/item/clothing/under/color/brown = 5, + /obj/item/clothing/under/color/lightbrown = 5, /obj/item/clothing/under/color/green = 5, + /obj/item/clothing/under/color/lightgreen = 5, /obj/item/clothing/under/color/grey = 5, /obj/item/clothing/under/color/orange = 5, /obj/item/clothing/under/color/pink = 5, /obj/item/clothing/under/color/red = 5, /obj/item/clothing/under/color/white = 5, /obj/item/clothing/under/color/yellow = 5, + /obj/item/clothing/under/color/yellowgreen = 5, + /obj/item/clothing/under/color/lightred = 5, + /obj/item/clothing/under/color/darkred = 5, + /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/pink_skirt = 5, + /obj/item/clothing/under/color/black_skirt = 5, + /obj/item/clothing/under/color/lgreen_skirt = 5, + /obj/item/clothing/under/color/green_skirt = 5, + /obj/item/clothing/under/color/orange_skirt = 5, + /obj/item/clothing/under/color/yellow_skirt = 5, + /obj/item/clothing/under/color/white_skirt = 5, + /obj/item/clothing/under/color/grey_skirt = 5, + /obj/item/clothing/under/color/lbrown_skirt = 5, + /obj/item/clothing/under/color/brown_skirt = 5, + /obj/item/clothing/under/color/red_skirt = 5, + /obj/item/clothing/under/color/teal_skirt = 5, + /obj/item/clothing/under/color/lblue_skirt = 5, + /obj/item/clothing/under/color/blue_skirt = 5, + /obj/item/clothing/under/color/lpurple_skirt = 5, + /obj/item/clothing/under/color/maroon_skirt = 5, + /obj/item/clothing/under/color/pink_skirt = 5, + /obj/item/clothing/under/assistantformal = 5, + /obj/item/clothing/under/assistantformal_fem = 5, /obj/item/clothing/shoes/black = 20, /obj/item/clothing/shoes/white = 20, + /obj/item/clothing/shoes/brown = 5, + /obj/item/clothing/shoes/blue = 5, + /obj/item/clothing/shoes/green = 5, + /obj/item/clothing/shoes/yellow = 5, + /obj/item/clothing/shoes/purple = 5, + /obj/item/clothing/shoes/red = 5, + /obj/item/clothing/shoes/white = 5, + ) + premium = list( + /obj/item/clothing/under/color/rainbow = 5, + /obj/item/clothing/under/color/rainbow_skirt = 5, + /obj/item/clothing/shoes/rainbow = 10, + ) + contraband = list( + /obj/item/clothing/under/psyche = 5, ) /obj/machinery/vending/loadout/accessory @@ -130,15 +262,32 @@ /obj/item/clothing/accessory/collar/pink = 5, /obj/item/clothing/accessory/collar/holo = 5, /obj/item/clothing/accessory/collar/shock = 5, + /obj/item/clothing/accessory/cowledvest = 5, /obj/item/storage/belt/fannypack = 1, /obj/item/storage/belt/fannypack/white = 5, /obj/item/clothing/accessory/fullcape = 5, /obj/item/clothing/accessory/halfcape = 5, /obj/item/clothing/accessory/hawaii = 5, + /obj/item/clothing/accessory/hawaii/red = 5, /obj/item/clothing/accessory/hawaii/random = 5, /obj/item/clothing/accessory/locket = 5, + /obj/item/clothing/accessory/metal_necklace = 5, + /obj/item/clothing/accessory/halo_projector = 5, /obj/item/storage/backpack/purse = 1, /obj/item/clothing/accessory/sash = 5, + /obj/item/clothing/accessory/mekkyaku = 5, + /obj/item/clothing/accessory/armsocks = 5, + /obj/item/clothing/accessory/armsock_left = 5, + /obj/item/clothing/accessory/armsock_right = 5, + /obj/item/clothing/accessory/gaiter = 5, + /obj/item/clothing/accessory/gaiter/tan = 5, + /obj/item/clothing/accessory/gaiter/gray = 5, + /obj/item/clothing/accessory/gaiter/green = 5, + /obj/item/clothing/accessory/gaiter/blue = 5, + /obj/item/clothing/accessory/gaiter/purple = 5, + /obj/item/clothing/accessory/gaiter/orange = 5, + /obj/item/clothing/accessory/gaiter/charcoal = 5, + /obj/item/clothing/accessory/gaiter/snow = 5, /obj/item/clothing/accessory/scarf = 5, /obj/item/clothing/accessory/scarf/red = 5, /obj/item/clothing/accessory/scarf/darkblue = 5, @@ -153,6 +302,7 @@ /obj/item/clothing/accessory/scarf/stripedred = 5, /obj/item/clothing/accessory/scarf/stripedgreen = 5, /obj/item/clothing/accessory/scarf/stripedblue = 5, + /obj/item/clothing/accessory/tajaran/scarf = 5, /obj/item/clothing/accessory/jacket = 5, /obj/item/clothing/accessory/jacket/checkered = 5, /obj/item/clothing/accessory/jacket/burgundy = 5, @@ -193,17 +343,29 @@ /obj/item/clothing/accessory/wcoat/swvest = 5, /obj/item/clothing/accessory/wcoat/swvest/blue = 5, /obj/item/clothing/accessory/wcoat/swvest/red = 5, + /obj/item/clothing/accessory/buttonup = 5, + /obj/item/clothing/accessory/buttonup/untucked = 5, + /obj/item/clothing/accessory/flops = 5, + /obj/item/clothing/accessory/civ_exos_mob = 5, /obj/item/storage/wallet = 5, /obj/item/storage/wallet/poly = 5, /obj/item/storage/wallet/womens = 5, + /obj/item/haircomb = 5, /obj/item/lipstick = 5, /obj/item/lipstick/purple = 5, /obj/item/lipstick/jade = 5, /obj/item/lipstick/black = 5, + /obj/item/lipstick/cyan = 5, + /obj/item/lipstick/maroon = 5, + /obj/item/lipstick/orange = 5, + /obj/item/lipstick/pink = 5, + /obj/item/lipstick/white = 5, + /obj/item/lipstick/yellow = 5, /obj/item/clothing/ears/earmuffs = 5, /obj/item/clothing/ears/earmuffs/headphones = 5, /obj/item/clothing/ears/earring/stud = 5, /obj/item/clothing/ears/earring/dangle = 5, + /obj/item/clothing/ears/laurel = 5, /obj/item/clothing/gloves/ring/mariner = 5, /obj/item/clothing/gloves/ring/engagement = 5, /obj/item/clothing/gloves/ring/seal/signet = 5, @@ -218,18 +380,44 @@ /obj/item/clothing/glasses/thin = 5, /obj/item/clothing/glasses/monocle = 5, /obj/item/clothing/glasses/goggles = 5, + /obj/item/clothing/glasses/regular/scanners = 5, + /obj/item/clothing/glasses/fluff/spiffygogs = 5, + /obj/item/clothing/glasses/redglasses = 5, + /obj/item/clothing/glasses/orangeglasses = 5, /obj/item/clothing/glasses/fluff/spiffygogs = 5, /obj/item/clothing/glasses/fakesunglasses = 5, /obj/item/clothing/glasses/fakesunglasses/aviator = 5, + /obj/item/clothing/glasses/sunglasses/fakeblindfold/whiteblindfold = 5, /obj/item/clothing/mask/bandana/blue = 5, /obj/item/clothing/mask/bandana/gold = 5, /obj/item/clothing/mask/bandana/green = 5, /obj/item/clothing/mask/bandana/red = 5, /obj/item/clothing/mask/surgical = 5, + /obj/item/clothing/mask/gas/half = 5, /obj/item/clothing/mask/warmer = 5, - ) - premium = list(/obj/item/bedsheet/rainbow = 1) - contraband = list(/obj/item/clothing/mask/gas/clown_hat = 1) + ) + premium = list( + /obj/item/bedsheet/rainbow = 5, + /obj/item/clothing/ears/laurel/silver = 5, + /obj/item/clothing/ears/laurel/gold = 5, + /obj/item/clothing/accessory/storage/laconic = 5, //putting all of the storage accessories in premium + /obj/item/clothing/accessory/storage/webbing = 5, //these can also be ordered from Cargo + /obj/item/clothing/accessory/storage/brown_vest = 5, + /obj/item/clothing/accessory/storage/black_vest = 5, + /obj/item/clothing/accessory/storage/white_vest = 5, + /obj/item/clothing/accessory/storage/black_drop_pouches = 5, + /obj/item/clothing/accessory/storage/brown_drop_pouches = 5, + /obj/item/clothing/accessory/storage/white_drop_pouches = 5, + ) + contraband = list( + /obj/item/clothing/mask/gas/clown_hat = 5, + /obj/item/clothing/accessory/disenchanted_talisman = 5, + /obj/item/clothing/glasses/badglasses = 5, + /obj/item/clothing/glasses/sunglasses/blindfold/whiteblindfold = 5, + /obj/item/clothing/mask/bandana/skull = 5, + /obj/item/clothing/mask/balaclava = 5, + /obj/item/clothing/mask/muzzle = 5, + ) price_default = 10 /obj/machinery/vending/loadout/clothing @@ -253,6 +441,12 @@ /obj/item/clothing/under/cheongsam/green = 5, /obj/item/clothing/under/cheongsam/purple = 5, /obj/item/clothing/under/cheongsam/darkblue = 5, + /obj/item/clothing/under/future_fashion = 5, + /obj/item/clothing/under/future_fashion/green_striped = 5, + /obj/item/clothing/under/future_fashion/light_blue_striped = 5, + /obj/item/clothing/under/future_fashion/orange_striped = 5, + /obj/item/clothing/under/future_fashion/purple_striped = 5, + /obj/item/clothing/under/future_fashion/red_striped = 5, /obj/item/clothing/under/croptop = 5, /obj/item/clothing/under/croptop/red = 5, /obj/item/clothing/under/croptop/grey = 5, @@ -262,43 +456,73 @@ /obj/item/clothing/under/dress/dress_fire = 5, /obj/item/clothing/under/dress/flamenco = 5, /obj/item/clothing/under/dress/flower_dress = 5, + /obj/item/clothing/under/festivedress = 5, + /obj/item/clothing/under/verglasdress = 5, + /obj/item/clothing/under/businessskirt_female = 5, + /obj/item/clothing/under/simpledress = 5, + /obj/item/clothing/under/dress/twistdress = 5, + /obj/item/clothing/under/dress/cropdress = 5, + /obj/item/clothing/under/dress/summer = 5, + /obj/item/clothing/under/dress/summer/blue = 5, + /obj/item/clothing/under/dress/summer/red = 5, + /obj/item/clothing/under/dress/summer/gold = 5, /obj/item/clothing/under/fluff/gnshorts = 5, + /obj/item/clothing/under/color/ranger = 5, /obj/item/clothing/under/color = 5, /obj/item/clothing/under/color/aqua = 5, /obj/item/clothing/under/color/black = 5, /obj/item/clothing/under/color/blackf = 5, - /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/darkblue = 5, /obj/item/clothing/under/color/blue = 5, /obj/item/clothing/under/color/brown = 5, - /obj/item/clothing/under/color/darkblue = 5, - /obj/item/clothing/under/color/darkred = 5, - /obj/item/clothing/under/color/green = 5, - /obj/item/clothing/under/color/grey = 5, - /obj/item/clothing/under/color/lightblue = 5, /obj/item/clothing/under/color/lightbrown = 5, + /obj/item/clothing/under/color/green = 5, /obj/item/clothing/under/color/lightgreen = 5, - /obj/item/clothing/under/color/lightpurple = 5, - /obj/item/clothing/under/color/lightred = 5, + /obj/item/clothing/under/color/grey = 5, /obj/item/clothing/under/color/orange = 5, /obj/item/clothing/under/color/pink = 5, - /obj/item/clothing/under/color/prison = 5, - /obj/item/clothing/under/color/ranger = 5, /obj/item/clothing/under/color/red = 5, /obj/item/clothing/under/color/white = 5, /obj/item/clothing/under/color/yellow = 5, /obj/item/clothing/under/color/yellowgreen = 5, + /obj/item/clothing/under/color/lightred = 5, + /obj/item/clothing/under/color/darkred = 5, + /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/pink_skirt = 5, + /obj/item/clothing/under/color/black_skirt = 5, + /obj/item/clothing/under/color/lgreen_skirt = 5, + /obj/item/clothing/under/color/green_skirt = 5, + /obj/item/clothing/under/color/orange_skirt = 5, + /obj/item/clothing/under/color/yellow_skirt = 5, + /obj/item/clothing/under/color/white_skirt = 5, + /obj/item/clothing/under/color/grey_skirt = 5, + /obj/item/clothing/under/color/lbrown_skirt = 5, + /obj/item/clothing/under/color/brown_skirt = 5, + /obj/item/clothing/under/color/red_skirt = 5, + /obj/item/clothing/under/color/teal_skirt = 5, + /obj/item/clothing/under/color/lblue_skirt = 5, + /obj/item/clothing/under/color/blue_skirt = 5, + /obj/item/clothing/under/color/lpurple_skirt = 5, + /obj/item/clothing/under/color/maroon_skirt = 5, + /obj/item/clothing/under/color/pink_skirt = 5, + /obj/item/clothing/under/assistantformal = 5, + /obj/item/clothing/under/assistantformal_fem = 5, /obj/item/clothing/under/brandjumpsuit/aether = 5, /obj/item/clothing/under/brandjumpsuit/focal = 5, /obj/item/clothing/under/brandjumpsuit/hephaestus = 5, /obj/item/clothing/under/brandjumpsuit/wardt = 5, /obj/item/clothing/under/kilt = 5, - /obj/item/clothing/under/fluff/latexmaid = 5, + /obj/item/clothing/under/blueshortskirt = 5, /obj/item/clothing/under/dress/lilacdress = 5, + /obj/item/clothing/under/dress/white = 5, /obj/item/clothing/under/dress/white2 = 5, + /obj/item/clothing/under/dress/white3 = 5, /obj/item/clothing/under/dress/white4 = 5, + /obj/item/clothing/under/fluff/latexmaid = 5, /obj/item/clothing/under/dress/maid = 5, /obj/item/clothing/under/dress/maid/sexy = 5, /obj/item/clothing/under/dress/maid/janitor = 5, + /obj/item/clothing/under/dress/maid/neko = 5, /obj/item/clothing/head/headband/maid = 5, /obj/item/clothing/under/kamishimo = 5, /obj/item/clothing/under/kimono = 5, @@ -325,6 +549,15 @@ /obj/item/clothing/under/oldwoman = 5, /obj/item/clothing/under/frontier = 5, /obj/item/clothing/under/brandjumpsuit/mbill = 5, + /obj/item/clothing/under/laconic = 5, + /obj/item/clothing/under/blueshift = 5, + /obj/item/clothing/under/office_worker = 5, + /obj/item/clothing/under/pants = 5, + /obj/item/clothing/under/pants/white = 5, + /obj/item/clothing/under/pants/red = 5, + /obj/item/clothing/under/pants/black = 5, + /obj/item/clothing/under/pants/tan = 5, + /obj/item/clothing/under/pants/khaki = 5, /obj/item/clothing/under/pants/baggy/ = 5, /obj/item/clothing/under/pants/baggy/classicjeans = 5, /obj/item/clothing/under/pants/baggy/mustangjeans = 5, @@ -351,8 +584,10 @@ /obj/item/clothing/under/pants/track/green = 5, /obj/item/clothing/under/pants/track/blue = 5, /obj/item/clothing/under/pants/yogapants = 5, + /obj/item/clothing/under/utility_fur_pants = 5, + /obj/item/clothing/under/tracksuit_blue = 5, /obj/item/clothing/under/ascetic = 5, - /obj/item/clothing/under/dress/white3 = 5, + /obj/item/clothing/under/ascetic_fem = 5, /obj/item/clothing/under/skirt/pleated = 5, /obj/item/clothing/under/dress/darkred = 5, /obj/item/clothing/under/dress/redeveninggown = 5, @@ -360,6 +595,7 @@ /obj/item/clothing/under/dress/sailordress = 5, /obj/item/clothing/under/dress/sari = 5, /obj/item/clothing/under/dress/sari/green = 5, + /obj/item/clothing/under/pentagramdress = 5, /obj/item/clothing/under/shorts/red = 5, /obj/item/clothing/under/shorts/green = 5, /obj/item/clothing/under/shorts/blue = 5, @@ -367,12 +603,17 @@ /obj/item/clothing/under/shorts/grey = 5, /obj/item/clothing/under/shorts/white = 5, /obj/item/clothing/under/shorts/jeans = 5, - /obj/item/clothing/under/shorts/jeans/ = 5, + /obj/item/clothing/under/shorts/jeans/female = 5, /obj/item/clothing/under/shorts/jeans/classic = 5, + /obj/item/clothing/under/shorts/jeans/classic/female = 5, /obj/item/clothing/under/shorts/jeans/mustang = 5, + /obj/item/clothing/under/shorts/jeans/mustang/female = 5, /obj/item/clothing/under/shorts/jeans/youngfolks = 5, + /obj/item/clothing/under/shorts/jeans/youngfolks/female = 5, /obj/item/clothing/under/shorts/jeans/black = 5, + /obj/item/clothing/under/shorts/jeans/black/female = 5, /obj/item/clothing/under/shorts/jeans/grey = 5, + /obj/item/clothing/under/shorts/jeans/grey/female = 5, /obj/item/clothing/under/shorts/khaki/ = 5, /obj/item/clothing/under/skirt/loincloth = 5, /obj/item/clothing/under/skirt/khaki = 5, @@ -384,7 +625,11 @@ /obj/item/clothing/under/skirt/outfit/plaid_red = 5, /obj/item/clothing/under/skirt/outfit/plaid_purple = 5, /obj/item/clothing/under/skirt/outfit/plaid_green = 5, + /obj/item/clothing/under/greyskirt_female = 5, + /obj/item/clothing/under/overalls = 5, + /obj/item/clothing/under/overalls_fem = 5, /obj/item/clothing/under/overalls/sleek = 5, + /obj/item/clothing/under/overalls/sleek_fem = 5, /obj/item/clothing/under/sl_suit = 5, /obj/item/clothing/under/gentlesuit = 5, /obj/item/clothing/under/gentlesuit/skirt = 5, @@ -405,16 +650,38 @@ /obj/item/clothing/under/suit_jacket/checkered/skirt = 5, /obj/item/clothing/under/suit_jacket/tan = 5, /obj/item/clothing/under/suit_jacket/tan/skirt = 5, + /obj/item/clothing/under/lawyer = 5, + /obj/item/clothing/under/lawyer/black = 5, + /obj/item/clothing/under/lawyer/black/skirt = 5, + /obj/item/clothing/under/lawyer/female = 5, + /obj/item/clothing/under/lawyer/red = 5, + /obj/item/clothing/under/lawyer/red/skirt = 5, + /obj/item/clothing/under/lawyer/blue = 5, + /obj/item/clothing/under/lawyer/blue/skirt = 5, + /obj/item/clothing/under/lawyer/bluesuit = 5, + /obj/item/clothing/under/lawyer/bluesuit/skirt = 5, + /obj/item/clothing/under/lawyer/purpsuit = 5, + /obj/item/clothing/under/lawyer/purpsuit/skirt = 5, + /obj/item/clothing/under/lawyer/oldman = 5, + /obj/item/clothing/under/fiendsuit = 5, + /obj/item/clothing/under/fienddress = 5, + /obj/item/clothing/under/sitri = 5, /obj/item/clothing/under/scratch = 5, /obj/item/clothing/under/scratch/skirt = 5, /obj/item/clothing/under/sundress = 5, /obj/item/clothing/under/sundress_white = 5, /obj/item/clothing/under/turtlebaggy = 5, + /obj/item/clothing/under/turtlebaggy/cream_fem = 5, /obj/item/clothing/under/turtlebaggy/purple = 5, + /obj/item/clothing/under/turtlebaggy/purple_fem = 5, /obj/item/clothing/under/turtlebaggy/red = 5, + /obj/item/clothing/under/turtlebaggy/red_fem = 5, /obj/item/clothing/under/turtlebaggy/blue = 5, + /obj/item/clothing/under/turtlebaggy/blue_fem = 5, /obj/item/clothing/under/turtlebaggy/green = 5, + /obj/item/clothing/under/turtlebaggy/green_fem = 5, /obj/item/clothing/under/turtlebaggy/black = 5, + /obj/item/clothing/under/turtlebaggy/black_fem = 5, /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5, /obj/item/storage/box/fluff/swimsuit = 5, /obj/item/storage/box/fluff/swimsuit/blue = 5, @@ -432,19 +699,72 @@ /obj/item/storage/box/fluff/swimsuit/highclass = 3, /obj/item/storage/box/fluff/swimsuit/latex = 3, /obj/item/storage/box/rainponcho = 5, + /obj/item/clothing/under/redpyjamas = 5, + /obj/item/clothing/under/redpyjamas_fem = 5, + /obj/item/clothing/under/bluepyjamas = 5, + /obj/item/clothing/under/bluepyjamas_fem = 5, /obj/item/clothing/under/utility = 5, /obj/item/clothing/under/utility/grey = 5, /obj/item/clothing/under/utility/blue = 5, /obj/item/clothing/under/fluff/v_nanovest = 5, /obj/item/clothing/under/dress/westernbustle = 5, + /obj/item/clothing/under/dutchuniform = 5, + /obj/item/clothing/under/victorianblred = 5, + /obj/item/clothing/under/fem_victorianblred = 5, + /obj/item/clothing/under/victorianredvest = 5, + /obj/item/clothing/under/fem_victorianredvest = 5, + /obj/item/clothing/under/victorianvest = 5, + /obj/item/clothing/under/fem_victorianvest = 5, + /obj/item/clothing/under/victorianlightfire = 5, + /obj/item/clothing/under/fem_victorianlightfire = 5, + /obj/item/clothing/under/victorianreddress = 5, + /obj/item/clothing/under/victorianblackdress = 5, + /obj/item/clothing/under/highwayman_clothes = 5, + /obj/item/clothing/under/highwayman_clothes_fem = 5, /obj/item/clothing/under/wedding/bride_white = 5, + /obj/item/clothing/under/wedding/bride_orange = 5, + /obj/item/clothing/under/wedding/bride_purple = 5, + /obj/item/clothing/under/wedding/bride_blue = 5, + /obj/item/clothing/under/wedding/bride_red = 5, /obj/item/clothing/under/redcoatformal = 2, + /obj/item/clothing/under/navy_gray = 5, + /obj/item/clothing/under/smooth_gray = 5, + /obj/item/clothing/under/chiming_dress = 5, + /obj/item/clothing/under/hasie = 5, + /obj/item/clothing/under/littleblackdress = 5, + /obj/item/clothing/under/haltertop = 5, + /obj/item/clothing/under/fluff/siren = 5, + /obj/item/clothing/under/half_moon = 5, + /obj/item/clothing/under/bodysuit = 5, + /obj/item/clothing/under/bodysuit_fem = 5, + /obj/item/clothing/under/bodysuit/bodysuiteva = 5, + /obj/item/clothing/under/bodysuit/bodysuiteva_fem = 5, + /obj/item/clothing/under/bodysuit/alt = 5, + /obj/item/clothing/under/bodysuit/alt_fem = 5, + /obj/item/clothing/under/bodysuit/alt/sleeveless = 5, + /obj/item/clothing/under/bodysuit/alt_fem/sleeveless = 5, + /obj/item/clothing/under/bodysuit/alt/pants = 5, + /obj/item/clothing/under/bodysuit/alt_fem/pants = 5, + /obj/item/clothing/under/skinsuit = 5, + /obj/item/clothing/under/skinsuit_fem = 5, + /obj/item/clothing/under/skinsuit/gray = 5, + /obj/item/clothing/under/skinsuit_fem/gray = 5, + /obj/item/clothing/under/skinsuit/leotard = 5, + /obj/item/clothing/under/skinsuit_fem/leotard = 5, + /obj/item/clothing/under/skinsuit/leotard/gray = 5, + /obj/item/clothing/under/skinsuit_fem/leotard/gray = 5, + /obj/item/clothing/under/skinsuit_striped = 5, /obj/item/clothing/under/leotardcolor = 5, /obj/item/clothing/under/leotard = 5, + /obj/item/clothing/under/leotardwindow = 5, + /obj/item/clothing/under/bountyskin = 5, /obj/item/clothing/under/bunnysuit_f = 5, /obj/item/clothing/under/bunnysuit_m = 5, + /obj/item/clothing/under/fashionminiskirt = 5, /obj/item/clothing/under/tabard_w = 5, /obj/item/clothing/under/tabard_b = 5, + /obj/item/clothing/under/hawaiian = 5, + /obj/item/clothing/under/tourist = 5, /obj/item/clothing/under/toga = 5, /obj/item/clothing/under/countess = 5, /obj/item/clothing/under/baroness = 5, @@ -452,15 +772,37 @@ /obj/item/clothing/under/belial = 5, /obj/item/clothing/under/lilin = 5, /obj/item/clothing/under/asmodai = 5, - /obj/item/storage/backpack/ = 5, - /obj/item/storage/backpack/messenger = 5, - /obj/item/storage/backpack/satchel = 5, + /obj/item/clothing/under/tribal_tunic = 5, + /obj/item/clothing/under/tribal_tunic_fem = 5, + /obj/item/clothing/under/druidic_gown = 5, + /obj/item/clothing/under/druidic_gown_fem = 5, + /obj/item/clothing/under/acolyte_hunter = 5, + /obj/item/clothing/under/acolyte_hunter_fem = 5, + /obj/item/clothing/under/shamanblue = 5, + /obj/item/clothing/under/shamanblue_fem = 5, + /obj/item/clothing/under/shamanred = 5, + /obj/item/clothing/under/shamanred_fem = 5, + /obj/item/clothing/under/hunter = 5, + /obj/item/clothing/under/hunter_fem = 5, + /obj/item/clothing/under/gatherer = 5, + /obj/item/clothing/under/gatherer_fem = 5, + /obj/item/storage/backpack = 10, + /obj/item/storage/backpack/messenger = 10, + /obj/item/storage/backpack/satchel = 10, + /obj/item/storage/backpack/rig = 10, + /obj/item/storage/backpack/dufflebag = 10, ) premium = list( /obj/item/clothing/under/color/rainbow = 1, ) contraband = list( /obj/item/clothing/under/rank/clown = 1, + /obj/item/clothing/under/pants/ripped = 5, + /obj/item/clothing/under/pants/classicjeans/ripped = 5, + /obj/item/clothing/under/pants/mustangjeans/ripped = 5, + /obj/item/clothing/under/pants/blackjeans/ripped = 5, + /obj/item/clothing/under/pants/greyjeans/ripped = 5, + /obj/item/clothing/under/blackshortsripped = 5, ) price_default = 10 @@ -483,6 +825,7 @@ /obj/item/paicard = 5, /obj/item/communicator = 10, /obj/item/communicator/watch = 10, + /obj/item/clothing/gloves/size = 10, /obj/item/radio = 10, /obj/item/camera = 5, /obj/item/tape_recorder = 5, @@ -543,9 +886,13 @@ vend_delay = 16 products = list( /obj/item/clothing/suit/storage/apron = 5, + /obj/item/clothing/suit/storage/apron/white = 5, /obj/item/clothing/suit/storage/flannel/aqua = 5, /obj/item/clothing/suit/storage/toggle/bomber = 5, /obj/item/clothing/suit/storage/bomber/alt = 5, + /obj/item/clothing/suit/storage/toggle/bomber/pilot = 5, + /obj/item/clothing/suit/storage/toggle/fur_bomber = 5, + /obj/item/clothing/suit/storage/bomj = 5, /obj/item/clothing/suit/storage/flannel/brown = 5, /obj/item/clothing/suit/storage/toggle/cardigan = 5, /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5, @@ -558,6 +905,7 @@ /obj/item/clothing/suit/greatcoat = 5, /obj/item/clothing/suit/storage/flannel = 5, /obj/item/clothing/suit/storage/greyjacket = 5, + /obj/item/clothing/suit/storage/stripe_jacket = 5, /obj/item/clothing/suit/storage/hazardvest = 5, /obj/item/clothing/suit/storage/toggle/hoodie/black = 5, /obj/item/clothing/suit/storage/toggle/hoodie/red = 5, @@ -577,6 +925,8 @@ /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 5, /obj/item/clothing/suit/kamishimo = 5, /obj/item/clothing/suit/kimono = 5, + /obj/item/clothing/suit/storage/aureate = 5, + /obj/item/clothing/suit/storage/aureate/dark = 5, /obj/item/clothing/suit/storage/toggle/labcoat = 5, /obj/item/clothing/suit/storage/toggle/labcoat/green = 5, /obj/item/clothing/suit/leathercoat = 5, @@ -591,18 +941,81 @@ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 5, /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 5, /obj/item/clothing/suit/storage/miljacket = 5, + /obj/item/clothing/suit/storage/miljacket/tan = 5, + /obj/item/clothing/suit/storage/miljacket/grey = 5, /obj/item/clothing/suit/storage/miljacket/alt = 5, + /obj/item/clothing/suit/storage/miljacket/navy = 5, + /obj/item/clothing/suit/storage/miljacket/black = 5, /obj/item/clothing/suit/storage/miljacket/green = 5, + /obj/item/clothing/suit/storage/miljacket/white = 5, + /obj/item/clothing/suit/storage/toggle/moto_jacket = 5, /obj/item/clothing/suit/storage/apron/overalls = 5, /obj/item/clothing/suit/storage/toggle/peacoat = 5, + /obj/item/clothing/suit/storage/dutchcoat = 5, + /obj/item/clothing/suit/storage/tailcoat = 5, + /obj/item/clothing/suit/storage/redladiesvictoriancoat = 5, + /obj/item/clothing/suit/storage/ladiesvictoriancoat = 5, + /obj/item/clothing/suit/darkfur = 5, + /obj/item/clothing/suit/storage/furcoat = 5, + /obj/item/clothing/suit/storage/noble_coat = 5, + /obj/item/clothing/suit/storage/triadkiller = 5, + /obj/item/clothing/suit/storage/hooded/mercy = 5, + /obj/item/clothing/suit/storage/bladerunner = 5, + /obj/item/clothing/suit/storage/overcoat_fancy = 5, + /obj/item/clothing/suit/storage/overcoat_fancy/black = 5, + /obj/item/clothing/suit/storage/cropped_turtleneck = 5, + /obj/item/clothing/suit/storage/cropped_hoodie = 5, + /obj/item/clothing/suit/storage/cropped_hoodie/croppier = 5, + /obj/item/clothing/suit/storage/cropped_hoodie/croppierer = 5, + /obj/item/clothing/suit/storage/cropped_hoodie/croppiest = 5, + /obj/item/clothing/suit/storage/leather_cropped = 5, + /obj/item/clothing/suit/storage/leather_supercropped = 5, + /obj/item/clothing/suit/cropped_sweater = 5, + /obj/item/clothing/suit/cropped_sweater/female = 5, /obj/item/clothing/accessory/poncho = 5, /obj/item/clothing/accessory/poncho/green = 5, /obj/item/clothing/accessory/poncho/red = 5, /obj/item/clothing/accessory/poncho/purple = 5, /obj/item/clothing/accessory/poncho/blue = 5, + /obj/item/clothing/accessory/poncho/dust_cloak = 5, + /obj/item/clothing/accessory/poncho/dust_cloak/dark = 5, + /obj/item/clothing/accessory/poncho/dust_cloak/white = 5, + /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5, + /obj/item/clothing/accessory/poncho/roles/cloak/glowing = 5, + /obj/item/clothing/accessory/poncho/roles/cloak/glowingdark = 5, + /obj/item/clothing/accessory/poncho/rough_cloak = 5, + /obj/item/clothing/accessory/poncho/rough_cloak/tan = 5, + /obj/item/clothing/suit/storage/toggle/slimleather = 5, + /obj/item/clothing/suit/storage/toggle/heated/ronincoat = 5, + /obj/item/clothing/suit/storage/toggle/heated = 5, + /obj/item/clothing/suit/storage/toggle/heated/half_pint = 5, + /obj/item/clothing/suit/storage/runner/half_moon = 5, /obj/item/clothing/suit/jacket/puffer = 5, /obj/item/clothing/suit/jacket/puffer/vest = 5, + /obj/item/clothing/suit/storage/toggle/brown_fancycoat = 5, + /obj/item/clothing/suit/storage/toggle/brown_fancycoat/black = 5, /obj/item/clothing/suit/storage/flannel/red = 5, + /obj/item/clothing/suit/storage/cyberpunk = 5, + /obj/item/clothing/suit/storage/cyberpunk/green = 5, + /obj/item/clothing/suit/storage/cyberpunk/black = 5, + /obj/item/clothing/suit/storage/cyberpunk/white = 5, + /obj/item/clothing/suit/storage/cyberpunk/long = 5, + /obj/item/clothing/suit/storage/cyberpunk/long/green = 5, + /obj/item/clothing/suit/storage/cyberpunk/long/black = 5, + /obj/item/clothing/suit/storage/cyberpunk/long/white = 5, + /obj/item/clothing/suit/storage/toggle/cybersun_paramedic = 5, + /obj/item/clothing/suit/storage/drive = 5, + /obj/item/clothing/suit/storage/drive/boxer = 5, + /obj/item/clothing/suit/storage/tunnelsnake = 5, + /obj/item/clothing/suit/storage/violet = 5, + /obj/item/clothing/suit/storage/jamrock = 5, + /obj/item/clothing/suit/storage/khaki = 5, + /obj/item/clothing/suit/storage/punkvest = 5, + /obj/item/clothing/suit/storage/onestar = 5, + /obj/item/clothing/suit/storage/vest/formal/dark = 5, + /obj/item/clothing/suit/storage/vest/formal/dark/caped = 5, + /obj/item/clothing/suit/storage/vest/formal/bleached = 5, + /obj/item/clothing/suit/laconic = 5, /obj/item/clothing/suit/unathi/robe = 5, /obj/item/clothing/suit/storage/snowsuit = 5, /obj/item/clothing/suit/storage/toggle/internalaffairs = 5, @@ -622,19 +1035,38 @@ /obj/item/clothing/suit/varsity/green = 5, /obj/item/clothing/suit/varsity/blue = 5, /obj/item/clothing/suit/varsity/brown = 5, + /obj/item/clothing/suit/storage/pullover = 5, + /obj/item/clothing/suit/storage/pullover/nt = 5, + /obj/item/clothing/suit/storage/mekkyaku = 5, + /obj/item/clothing/suit/storage/toggle/navy_coat_blue = 5, + /obj/item/clothing/suit/storage/toggle/navy_coat_brown = 5, + /obj/item/clothing/suit/storage/toggle/navy_coat_green = 5, + /obj/item/clothing/suit/storage/utility_fur_coat = 5, /obj/item/clothing/suit/storage/hooded/wintercoat = 5, /obj/item/clothing/suit/storage/hooded/wintercoat/aformal = 5, + /obj/item/clothing/suit/storage/hooded/wintercoat/olive = 5, + /obj/item/clothing/suit/storage/hooded/techpriest = 5, + /obj/item/clothing/suit/storage/hooded/vainglorious = 5, + /obj/item/clothing/suit/storage/hooded/raincoat = 5, + /obj/item/clothing/suit/storage/hooded/rainponcho = 5, /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 5, - /obj/item/clothing/suit/storage/gothcoat = 3, - /obj/item/clothing/suit/storage/hobo = 3, - /obj/item/clothing/suit/storage/kamina = 3, - /obj/item/clothing/suit/nerdshirt = 3, + /obj/item/clothing/suit/storage/gothcoat = 5, + /obj/item/clothing/suit/storage/hobo = 5, + /obj/item/clothing/suit/storage/kamina = 5, + /obj/item/clothing/suit/highwayman_jacket = 5, + /obj/item/clothing/suit/nerdshirt = 5, ) premium = list( /obj/item/clothing/suit/imperium_monk = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/ratvar/fake = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/narsie/fake = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/cosmic = 3, ) contraband = list( /obj/item/toy/katana = 1, + /obj/item/clothing/accessory/poncho/rough_cloak_torn = 5, + /obj/item/clothing/accessory/poncho/rough_cloak_torn/tan = 5, + /obj/item/clothing/suit/storage/toggle/varsity/worn = 5, ) price_default = 10 @@ -644,6 +1076,8 @@ product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!" icon_state = "Theater_b" products = list( + /obj/item/clothing/under/ballet = 5, + /obj/item/clothing/shoes/ballet = 5, /obj/item/clothing/suit/storage/hooded/carp_costume = 3, /obj/item/clothing/suit/storage/hooded/carp_costume = 3, /obj/item/clothing/suit/chickensuit = 3, @@ -686,6 +1120,7 @@ /obj/item/clothing/under/owl = 3, /obj/item/clothing/mask/gas/owl_mask = 3, /obj/item/clothing/under/waiter = 3, + /obj/item/clothing/under/waiter_fem = 3, /obj/item/clothing/suit/storage/apron = 3, /obj/item/clothing/under/pirate = 3, /obj/item/clothing/head/pirate = 3, @@ -787,6 +1222,10 @@ /obj/item/clothing/under/general = 3, /obj/item/clothing/under/american = 3, /obj/item/clothing/under/prussian = 3, + /obj/item/clothing/suit/samurai_replica = 3, + /obj/item/clothing/head/samurai_replica = 3, + /obj/item/clothing/mask/samurai = 3, + /obj/item/clothing/mask/samurai/colorable = 3, ) premium = list( /obj/item/clothing/suit/imperium_monk = 3, diff --git a/code/game/machinery/vending/medical.dm b/code/game/machinery/vending/medical.dm index 4cf792e7b35a..56ab1cdb70f8 100644 --- a/code/game/machinery/vending/medical.dm +++ b/code/game/machinery/vending/medical.dm @@ -30,6 +30,7 @@ /obj/item/storage/single_use/med_pouch/oxyloss = 3, /obj/item/storage/single_use/med_pouch/burn = 3, /obj/item/storage/single_use/med_pouch/trauma = 3, + /obj/item/hypospray = 6, /obj/item/storage/hypokit = 6, ) contraband = list( diff --git a/code/game/machinery/vending/misc.dm b/code/game/machinery/vending/misc.dm index 7da4832bdc2b..84fed03a186d 100644 --- a/code/game/machinery/vending/misc.dm +++ b/code/game/machinery/vending/misc.dm @@ -270,3 +270,213 @@ /obj/item/card/id/external/gaia = 150, /obj/item/card/id/external/gaia/vip = 250, ) + +/obj/machinery/vending/farmer + name = "Miaphus Farm vendor" + desc = "A vending machine put here by some farmers from Miaphus." + icon = 'icons/obj/vending.dmi' + icon_state = "generic" + icon_deny = "generic-deny" + icon_vend = "generic-vend" + product_slogans = "Its always fresh when it comes out from the ground !" + product_ads = "Buy my fruits and Vegetable !; Milk, eggs, You should totaly buy some !; Buy or else ill get mad !; No negociations !" + + products = list( + /obj/item/reagent_containers/food/condiment/flour = 10, + /obj/item/reagent_containers/food/drinks/bottle/milk = 10, + /obj/item/storage/fancy/egg_box = 10, + /obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 5, + /obj/item/reagent_containers/food/snacks/tomatomeat = 15, + /obj/item/reagent_containers/food/condiment/enzyme = 10, + /obj/item/farmbot_arm_assembly = 1, + /obj/item/seeds/tomatoseed = 10, + /obj/item/seeds/potatoseed = 15, + /obj/item/seeds/wheatseed = 15, + ) + + contraband = list( + /obj/item/gun/ballistic/shotgun/doublebarrel = 2, + /obj/item/storage/box/shotgunshells = 2, + ) + + prices = list( + /obj/item/reagent_containers/food/condiment/flour = 5, + /obj/item/reagent_containers/food/drinks/bottle/milk = 5, + /obj/item/storage/fancy/egg_box = 5, + /obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 4, + /obj/item/reagent_containers/food/snacks/tomatomeat = 3, + /obj/item/reagent_containers/food/condiment/enzyme = 8, + /obj/item/farmbot_arm_assembly = 50, + /obj/item/seeds/tomatoseed = 2, + /obj/item/seeds/potatoseed = 1, + /obj/item/seeds/wheatseed = 1, + ) + +/obj/machinery/vending/voidsuit + name = "Spacesuit Vendor" + desc = "A vending machine selling spacesuits." + icon = 'icons/obj/vending.dmi' + icon_state = "generic" + icon_deny = "generic-deny" + icon_vend = "generic-vend" + product_slogans = "My suits will protect you from space !" + product_ads = "Please buy my suits !; I just wanted this orange one, but I had to buy the full bundle ! Help me !; Look ! Those voidsuit are Fleeexible !" + + products = list( + /obj/item/clothing/suit/space/emergency = 5, + /obj/item/clothing/head/helmet/space/emergency = 5, + /obj/item/clothing/suit/space/syndicate = 2, + /obj/item/clothing/suit/space/syndicate/blue = 2, + /obj/item/clothing/suit/space/syndicate/green/dark = 2, + /obj/item/clothing/suit/space/syndicate/green = 2, + /obj/item/clothing/suit/space/syndicate/black = 2, + /obj/item/clothing/head/helmet/space/syndicate = 2, + /obj/item/clothing/head/helmet/space/syndicate/blue = 2, + /obj/item/clothing/head/helmet/space/syndicate/green/dark = 2, + /obj/item/clothing/head/helmet/space/syndicate/green = 2, + /obj/item/clothing/head/helmet/space/syndicate/black = 2, + /obj/item/clothing/head/helmet/space/void/explorer = 3, + /obj/item/clothing/suit/space/void/explorer = 3, + /obj/item/tank/emergency/oxygen = 10, + /obj/item/tank/emergency/oxygen/double = 2, + /obj/item/clothing/mask/gas/clear = 10, + ) + + prices = list( + /obj/item/clothing/suit/space/emergency = 10, + /obj/item/clothing/head/helmet/space/emergency = 10, + /obj/item/clothing/suit/space/syndicate = 15, + /obj/item/clothing/suit/space/syndicate/blue = 15, + /obj/item/clothing/suit/space/syndicate/green/dark = 15, + /obj/item/clothing/suit/space/syndicate/green = 15, + /obj/item/clothing/suit/space/syndicate/black = 15, + /obj/item/clothing/head/helmet/space/syndicate = 15, + /obj/item/clothing/head/helmet/space/syndicate/blue = 15, + /obj/item/clothing/head/helmet/space/syndicate/green/dark = 15, + /obj/item/clothing/head/helmet/space/syndicate/green = 15, + /obj/item/clothing/head/helmet/space/syndicate/black = 15, + /obj/item/clothing/head/helmet/space/void/explorer = 20, + /obj/item/clothing/suit/space/void/explorer = 20, + /obj/item/tank/emergency/oxygen = 5, + /obj/item/tank/emergency/oxygen/double = 30, + /obj/item/clothing/mask/gas/clear = 5, + ) + +/obj/machinery/vending/winter + name = "Wintergear Vendor" + desc = "A vending machine selling coats and winter gear." + icon = 'icons/obj/vending.dmi' + icon_state = "generic" + icon_deny = "generic-deny" + icon_vend = "generic-vend" + product_slogans = "snif... Lots of... Place here are ... Freezing... This will heat you up..." + product_ads = "2 ... Cold worlds here.; ATCHOOO !; ATCHOOO- snif; Snif-..." + + products = list( + /obj/item/clothing/mask/warmer = 10, + /obj/item/clothing/suit/storage/hooded/wintercoat = 10, + /obj/item/clothing/shoes/boots/winter = 10, + /obj/item/clothing/suit/storage/hooded/wintercoat/olive = 5, + /obj/machinery/space_heater = 4 + ) + + prices = list( + /obj/item/clothing/mask/warmer = 10, + /obj/item/clothing/suit/storage/hooded/wintercoat = 15, + /obj/item/clothing/shoes/boots/winter = 10, + /obj/item/clothing/suit/storage/hooded/wintercoat/olive = 15, + /obj/machinery/space_heater = 90, + ) + +/obj/machinery/vending/survivalist + name = "SDF Surplus Gear Vendor" + desc = "A vending machine put here by the System Defence Force, because of the rising ammount of pirates and danger in the sector." + icon = 'icons/obj/vending.dmi' + icon_state = "generic" + icon_deny = "generic-deny" + icon_vend = "generic-vend" + product_slogans = "Barely used only for 40 years !" + product_ads = "The SDF needs more funds !; By buying here you defend the system !; Better than a donation !;20 years of services..." + + products = list( + /obj/item/storage/box/survival_knife = 6, + /obj/item/storage/toolbox/lunchbox/survival = 4, + /obj/item/survivalcapsule = 2, + /obj/item/gps/survival = 10, + /obj/item/gun/ballistic/shotgun/flare = 8, + /obj/item/clothing/accessory/holster/machete/occupied = 2, + /obj/item/clothing/accessory/holster/machete/occupied/deluxe = 1, + /obj/item/material/knife/machete/hatchet = 4, + /obj/item/gun/ballistic/pistol = 4, + /obj/item/storage/box/flare = 10, + /obj/item/storage/box/handcuffs = 5, + /obj/item/storage/box/beanbags = 6, + /obj/item/storage/box/flashshells = 10, + /obj/item/storage/box/stunshells = 6, + /obj/item/storage/box/shotgunshells = 5, + /obj/item/ammo_magazine/a9mm/compact/rubber = 15, + /obj/item/ammo_magazine/a9mm/compact = 10, + /obj/item/storage/single_use/mre/random = 15, + /obj/item/clothing/suit/storage/vest/heavy = 1, + /obj/item/clothing/suit/storage/vest/press = 2, + /obj/item/clothing/suit/armor/vest = 4, + ) + + prices = list( + /obj/item/storage/box/survival_knife = 80, + /obj/item/storage/toolbox/lunchbox/survival = 5, + /obj/item/survivalcapsule = 100, + /obj/item/gps/survival = 10, + /obj/item/gun/ballistic/shotgun/flare = 100, + /obj/item/clothing/accessory/holster/machete/occupied = 100, + /obj/item/clothing/accessory/holster/machete/occupied/deluxe = 150, + /obj/item/material/knife/machete/hatchet = 120, + /obj/item/gun/ballistic/pistol = 300, + /obj/item/storage/box/flare = 50, + /obj/item/storage/box/handcuffs = 80, + /obj/item/storage/box/beanbags = 80, + /obj/item/storage/box/flashshells = 60, + /obj/item/storage/box/stunshells = 100, + /obj/item/storage/box/shotgunshells = 100, + /obj/item/ammo_magazine/a9mm/compact/rubber = 90, + /obj/item/ammo_magazine/a9mm/compact = 100, + /obj/item/storage/single_use/mre/random = 40, + /obj/item/clothing/suit/storage/vest/heavy = 350, + /obj/item/clothing/suit/storage/vest/press = 150, + /obj/item/clothing/suit/armor/vest = 150, + ) + +/obj/machinery/vending/motel + name = "Nebula Motel Vendor" + desc = "A vending machine selling the Keycards to the rooms on Nebula." + icon = 'icons/obj/vending.dmi' + icon_state = "laptop" + icon_deny = "laptop-deny" + icon_vend = "laptop-vend" + product_slogans = "A place to rest after a long journey !" + product_ads = "The VIP Room has a cool shuttle bundled in !; You can maybe see the zoo with Room 5 to 8 !; We clean regulary !; Pretty cheap !" + + products = list( + /obj/item/card/id/external/nebula/room1 = 1, + /obj/item/card/id/external/nebula/room2 = 1, + /obj/item/card/id/external/nebula/room3 = 1, + /obj/item/card/id/external/nebula/room4 = 1, + /obj/item/card/id/external/nebula/room5 = 1, + /obj/item/card/id/external/nebula/room6 = 1, + /obj/item/card/id/external/nebula/room7 = 1, + /obj/item/card/id/external/nebula/room8 = 1, + /obj/item/card/id/external/nebula/room9 = 1, + + ) + + prices = list( + /obj/item/card/id/external/nebula/room1 = 30, + /obj/item/card/id/external/nebula/room2 = 30, + /obj/item/card/id/external/nebula/room3 = 30, + /obj/item/card/id/external/nebula/room4 = 30, + /obj/item/card/id/external/nebula/room5 = 15, + /obj/item/card/id/external/nebula/room6 = 15, + /obj/item/card/id/external/nebula/room7 = 15, + /obj/item/card/id/external/nebula/room8 = 15, + /obj/item/card/id/external/nebula/room9 = 80, + ) diff --git a/code/game/machinery/virtual_reality/vr_console.dm b/code/game/machinery/virtual_reality/vr_console.dm index 92f25b7bb879..3e8e094da69f 100644 --- a/code/game/machinery/virtual_reality/vr_console.dm +++ b/code/game/machinery/virtual_reality/vr_console.dm @@ -50,8 +50,9 @@ visible_message("\The [src] sounds an alarm, swinging its hatch open.") go_out() -/obj/machinery/vr_sleeper/update_icon() +/obj/machinery/vr_sleeper/update_icon_state() icon_state = "[base_state][occupant ? "1" : "0"]" + return ..() /obj/machinery/vr_sleeper/Topic(href, href_list) if(..()) diff --git a/code/game/machinery/vitals_monitor.dm b/code/game/machinery/vitals_monitor.dm index e5f0c1197e9d..cc02115fcb6f 100644 --- a/code/game/machinery/vitals_monitor.dm +++ b/code/game/machinery/vitals_monitor.dm @@ -87,6 +87,7 @@ /obj/machinery/vitals_monitor/update_icon() cut_overlays() + . = ..() if(machine_stat & NOPOWER) return add_overlay("screen") diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 7c0232aa5b14..e55b32f41d78 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -67,8 +67,9 @@ if(state in list(1,3,6)) usr.loc = src.loc -/obj/machinery/washing_machine/update_icon() +/obj/machinery/washing_machine/update_icon_state() icon_state = "wm_[state][panel_open]" + return ..() /obj/machinery/washing_machine/attackby(obj/item/W as obj, mob/user as mob) if(state == 2 && washing.len < 1) diff --git a/code/game/objects/effects/debris/cleanable/aliens.dm b/code/game/objects/effects/debris/cleanable/aliens.dm index 5f40bfce1878..9fcd03427f69 100644 --- a/code/game/objects/effects/debris/cleanable/aliens.dm +++ b/code/game/objects/effects/debris/cleanable/aliens.dm @@ -11,9 +11,6 @@ random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6") basecolor = "#05EE05" -/obj/effect/debris/cleanable/blood/gibs/xeno/update_icon() - color = "#FFFFFF" - /obj/effect/debris/cleanable/blood/gibs/xeno/up random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1") diff --git a/code/game/objects/effects/debris/cleanable/blood.dm b/code/game/objects/effects/debris/cleanable/blood.dm index 220680d47bd7..1ee02af143cf 100644 --- a/code/game/objects/effects/debris/cleanable/blood.dm +++ b/code/game/objects/effects/debris/cleanable/blood.dm @@ -68,9 +68,10 @@ var/global/list/image/splatter_cache=list() addtimer(CALLBACK(src, PROC_REF(dry)), BLOOD_DRYING_TIME * (amount + 1)) /obj/effect/debris/cleanable/blood/update_icon() + . = ..() if(basecolor == "rainbow") basecolor = "#[get_random_colour(1)]" - add_atom_colour(basecolor, FIXED_COLOUR_PRIORITY) + add_atom_color(basecolor) if(basecolor == SYNTH_BLOOD_COLOUR) name = "oil" @@ -129,7 +130,7 @@ var/global/list/image/splatter_cache=list() name = dryname desc = drydesc var/newcolor = adjust_brightness(color, -50) - add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) + add_atom_color(newcolor) amount = 0 /obj/effect/debris/cleanable/blood/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) @@ -206,6 +207,8 @@ var/global/list/image/splatter_cache=list() var/fleshcolor = "#FFFFFF" /obj/effect/debris/cleanable/blood/gibs/update_icon() + cut_overlays() + . = ..() var/image/giblets = new(base_icon, "[icon_state]_flesh", dir) if(!fleshcolor || fleshcolor == "rainbow") @@ -217,7 +220,6 @@ var/global/list/image/splatter_cache=list() blood.Blend(basecolor,ICON_MULTIPLY) icon = blood - cut_overlays() add_overlay(giblets) /obj/effect/debris/cleanable/blood/gibs/up diff --git a/code/game/objects/effects/debris/cleanable/blood_tracks.dm b/code/game/objects/effects/debris/cleanable/blood_tracks.dm index 570758172f0b..c2bff1d4fb24 100644 --- a/code/game/objects/effects/debris/cleanable/blood_tracks.dm +++ b/code/game/objects/effects/debris/cleanable/blood_tracks.dm @@ -125,6 +125,7 @@ /obj/effect/debris/cleanable/blood/tracks/update_icon() cut_overlays() + . = ..() color = "#FFFFFF" var/truedir=0 diff --git a/code/game/objects/effects/debris/cleanable/robots.dm b/code/game/objects/effects/debris/cleanable/robots.dm index 171b7a35f1e2..49c3ceb7a3cd 100644 --- a/code/game/objects/effects/debris/cleanable/robots.dm +++ b/code/game/objects/effects/debris/cleanable/robots.dm @@ -7,6 +7,7 @@ random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") /obj/effect/debris/cleanable/blood/gibs/robot/update_icon() + . = ..() color = "#FFFFFF" /obj/effect/debris/cleanable/blood/gibs/robot/dry() //pieces of robots do not dry up like diff --git a/code/game/objects/effects/debris/debris.dm b/code/game/objects/effects/debris/debris.dm index db20905f1321..c25f8ef28701 100644 --- a/code/game/objects/effects/debris/debris.dm +++ b/code/game/objects/effects/debris/debris.dm @@ -60,19 +60,19 @@ //* Atom Color - we don't use the expensive system. *// -/obj/effect/debris/get_atom_colour() +/obj/effect/debris/get_atom_color() return color -/obj/effect/debris/add_atom_colour(coloration, colour_priority) +/obj/effect/debris/add_atom_color(coloration, colour_priority) color = coloration -/obj/effect/debris/remove_atom_colour(colour_priority, coloration) +/obj/effect/debris/remove_atom_color(colour_priority, coloration) color = null -/obj/effect/debris/update_atom_colour() +/obj/effect/debris/update_atom_color() return -/obj/effect/debris/copy_atom_colour(atom/other, colour_priority) +/obj/effect/debris/copy_atom_color(atom/other, colour_priority) if(isnull(other.color)) return color = other.color diff --git a/code/game/objects/effects/map_effects/radiation_emitter.dm b/code/game/objects/effects/map_effects/radiation_emitter.dm index 58a9cbf0ffbb..8ab448c6b0eb 100644 --- a/code/game/objects/effects/map_effects/radiation_emitter.dm +++ b/code/game/objects/effects/map_effects/radiation_emitter.dm @@ -1,10 +1,11 @@ -// Constantly emites radiation from the tile it's placed on. +// Constantly emits radiation from the tile it's placed on. /obj/effect/map_effect/radiation_emitter name = "radiation emitter" icon_state = "radiation_emitter" rad_flags = RAD_NO_CONTAMINATE | RAD_BLOCK_CONTENTS var/radiation_power = 200 // Bigger numbers means more radiation. var/radiation_falloff = RAD_FALLOFF_NORMAL + var/log_pulses = FALSE //mappers can choose exceptions for when this is logged if they really want to. It's spammy, however. /obj/effect/map_effect/radiation_emitter/Initialize(mapload) START_PROCESSING(SSobj, src) @@ -15,7 +16,7 @@ return ..() /obj/effect/map_effect/radiation_emitter/process(delta_time) - radiation_pulse(src, radiation_power, radiation_falloff) + radiation_pulse(src, radiation_power, radiation_falloff, log_pulses) /obj/effect/map_effect/radiation_emitter/strong radiation_power = 750 diff --git a/code/game/objects/effects/traps.dm b/code/game/objects/effects/traps.dm index 6aa6397fc601..1d56f96417f3 100644 --- a/code/game/objects/effects/traps.dm +++ b/code/game/objects/effects/traps.dm @@ -106,11 +106,12 @@ Add those other swinging traps you mentioned above! . = ..() update_icon() -/obj/effect/trap/update_icon() +/obj/effect/trap/update_icon_state() if(!tripped) icon_state = "[initial(icon_state)]" else if (tripped) icon_state = "[initial(icon_state)]_visible" + return ..() ////////////////// /// Pit Traps @@ -396,13 +397,14 @@ Add those other swinging traps you mentioned above! else to_chat(user, "You can't pry this sculpture off of the wall.") -/obj/effect/trap/launcher/update_icon() +/obj/effect/trap/launcher/update_icon_state() if(!tripped) icon_state = "[initial(icon_state)]" else if (tripped && !(atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_visible" else if (tripped && (atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_jammed" + return ..() //Stake Launcher /obj/effect/trap/launcher/stake @@ -473,13 +475,14 @@ Add those other swinging traps you mentioned above! . = ..() visible_message(SPAN_DANGER("\The [src] breaks! It was a trap!")) -/obj/effect/trap/pop_up/update_icon() +/obj/effect/trap/pop_up/update_icon_state() if(!tripped) icon_state = "[initial(icon_state)]" else if(tripped && !(atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_visible" else if (tripped && (atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_broken" + return ..() //Spear Trap @@ -708,13 +711,14 @@ if (istype(AM, /mob/living)) name = "crooked tile" desc = "The edges of this tile are lifted slightly." -/obj/effect/trap/pop_up/thrower/update_icon() +/obj/effect/trap/pop_up/thrower/update_icon_state() if(!tripped) icon_state = "[initial(icon_state)]" else if (tripped && !(atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_visible" else if (tripped && (atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_jammed" + return ..() ////////////////// // Falling Traps @@ -743,13 +747,14 @@ if (istype(AM, /mob/living)) to_chat(user, "You cut the ropes suspending the [src], breaking it.") update_icon() -/obj/effect/trap/falling/update_icon() +/obj/effect/trap/falling/update_icon_state() if(!tripped) icon_state = "[initial(icon_state)]" else if (tripped && !(atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_visible" else if (tripped && (atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_jammed" + return ..() //Falling Log /obj/effect/trap/falling/log @@ -808,10 +813,11 @@ if (istype(AM, /mob/living)) desc = "There's something strange about the lighting around this tile." update_icon() -/obj/effect/trap/falling/log/update_icon() +/obj/effect/trap/falling/log/update_icon_state() if(!tripped) icon_state = "[initial(icon_state)]" else if (tripped && !(atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_visible" else if (tripped && (atom_flags & ATOM_BROKEN)) icon_state = "[initial(icon_state)]_jammed" + return ..() diff --git a/code/game/objects/items-inventory-old.dm b/code/game/objects/items-inventory-old.dm index 25ee42b2f0fb..2e272b5e03bb 100644 --- a/code/game/objects/items-inventory-old.dm +++ b/code/game/objects/items-inventory-old.dm @@ -33,6 +33,7 @@ if((slot != SLOT_ID_HANDS) && equip_sound) playsound(src, equip_sound, 30, ignore_walls = FALSE) + // call the new hook instead on_equipped(user, slot == SLOT_ID_HANDS? user.get_held_index(src) : slot, flags) @@ -64,6 +65,9 @@ if(!(flags & INV_OP_DIRECTLY_DROPPING) && (slot != SLOT_ID_HANDS) && unequip_sound) playsound(src, unequip_sound, 30, ignore_walls = FALSE) + // on_unequipped cannot be called here, as we don't know the inventory index exactly + // todo: kill unequipped() + /** * called when a mob drops an item * diff --git a/code/game/objects/items-inventory-rendering.dm b/code/game/objects/items-inventory-rendering.dm index d28e70515cc5..a0e8fc2d44f7 100644 --- a/code/game/objects/items-inventory-rendering.dm +++ b/code/game/objects/items-inventory-rendering.dm @@ -472,7 +472,7 @@ var/mob/living/carbon/human/H = ishuman(M)? M : null var/datum/inventory_slot/slot_meta if(isnull(slot_or_id)) - slot_or_id = worn_slot + slot_or_id = inv_slot_or_index if(isnum(slot_or_id)) slot_meta = resolve_inventory_slot((slot_or_id % 2)? /datum/inventory_slot/abstract/hand/left : /datum/inventory_slot/abstract/hand/right) else diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 9e4845a365f0..115c23d1fa33 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -114,7 +114,7 @@ var/obj/structure/morgue/M = loc M.update(broadcast) -/obj/structure/closet/body_bag/update_icon() +/obj/structure/closet/body_bag/update_icon_state() if(opened) icon_state = icon_opened else @@ -122,7 +122,7 @@ icon_state = "bodybag_closed1" else icon_state = icon_closed - + return ..() /obj/item/bodybag/cryobag name = "stasis bag" diff --git a/code/game/objects/items/defib/defib_kit.dm b/code/game/objects/items/defib/defib_kit.dm index aecb0f11b6ed..5e279ac659a6 100644 --- a/code/game/objects/items/defib/defib_kit.dm +++ b/code/game/objects/items/defib/defib_kit.dm @@ -40,8 +40,8 @@ bcell = /obj/item/cell/apc /obj/item/defib_kit/update_icon() - cut_overlays() + . = ..() var/list/new_overlays = list() if(paddles && paddles.loc == src) //in case paddles got destroyed somehow. diff --git a/code/game/objects/items/defib/shockpaddles.dm b/code/game/objects/items/defib/shockpaddles.dm index 6194487dc220..57c2cbd2cb3f 100644 --- a/code/game/objects/items/defib/shockpaddles.dm +++ b/code/game/objects/items/defib/shockpaddles.dm @@ -47,6 +47,7 @@ ..() /obj/item/shockpaddles/update_icon() + . = ..() icon_state = "defibpaddles[wielded]" item_state = "defibpaddles[wielded]" if(cooldown) @@ -85,10 +86,10 @@ H.update_health() if(H.isSynthetic()) - if(H.health + H.getOxyLoss() + H.getToxLoss() <= config_legacy.health_threshold_dead) + if(H.health + H.getOxyLoss() + H.getToxLoss() <= H.getMinHealth()) return "buzzes, \"Resuscitation failed - Severe damage detected. Begin manual repair.\"" - else if(H.health + H.getOxyLoss() <= config_legacy.health_threshold_dead || (MUTATION_HUSK in H.mutations) || !H.can_defib) + else if(H.health + H.getOxyLoss() <= H.getMinHealth() || (MUTATION_HUSK in H.mutations) || !H.can_defib) // TODO: REFACTOR DEFIBS AND HEALTH return "buzzes, \"Resuscitation failed - Severe tissue damage makes recovery of patient impossible via defibrillator.\"" @@ -223,7 +224,7 @@ H.apply_damage(burn_damage_amt, DAMAGE_TYPE_BURN, BP_TORSO) //set oxyloss so that the patient is just barely in crit, if possible - var/barely_in_crit = config_legacy.health_threshold_crit - 1 + var/barely_in_crit = H.getCritHealth() - 1 var/adjust_health = barely_in_crit - H.health //need to increase health by this much H.adjustOxyLoss(-adjust_health) diff --git a/code/game/objects/items/devices/advnifrepair.dm b/code/game/objects/items/devices/advnifrepair.dm index ffde2c060629..a3454b36eba9 100644 --- a/code/game/objects/items/devices/advnifrepair.dm +++ b/code/game/objects/items/devices/advnifrepair.dm @@ -32,6 +32,7 @@ return /obj/item/nifrepairer/update_icon() + . = ..() if(supply.total_volume) icon_state = "[initial(icon_state)]2" else diff --git a/code/game/objects/items/devices/ai_detector.dm b/code/game/objects/items/devices/ai_detector.dm index ee6fd8ed2dd8..91ec58a41b5a 100644 --- a/code/game/objects/items/devices/ai_detector.dm +++ b/code/game/objects/items/devices/ai_detector.dm @@ -82,6 +82,7 @@ return PROXIMITY_NONE /obj/item/multitool/ai_detector/update_icon() + . = ..() icon_state = "[initial(icon_state)][detect_state]" /obj/item/multitool/ai_detector/proc/update_warning(var/old_state, var/new_state) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index f16209aeb0f0..6202ccb61f78 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -90,6 +90,7 @@ /obj/item/aicard/update_icon() cut_overlays() + . = ..() if(carded_ai) if (!carded_ai.control_disabled) add_overlay("aicard-on") @@ -174,6 +175,7 @@ /obj/item/aicard/aitater/update_icon() cut_overlays() + . = ..() if(carded_ai) if (!carded_ai.control_disabled) add_overlay("aitater-on") @@ -191,6 +193,7 @@ /obj/item/aicard/aispook/update_icon() cut_overlays() + . = ..() if(carded_ai) if (!carded_ai.control_disabled) add_overlay("aispook-on") diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 833e6837bdc1..3ac0a399fbf5 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -62,6 +62,7 @@ ..() /obj/item/flash/update_icon() + . = ..() var/obj/item/cell/battery = power_supply if(use_external_power) @@ -71,7 +72,6 @@ icon_state = "[base_icon]burnt" else icon_state = "[base_icon]" - return /obj/item/flash/get_cell(inducer) return power_supply diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 5e4f88d287b6..0ae10d896e47 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -410,6 +410,9 @@ START_PROCESSING(SSobj, src) return TRUE +/obj/item/flashlight/flare/survival + fuel = 15 MINUTES + //Glowsticks /obj/item/flashlight/glowstick diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index bcc0961b5634..c0a49b8d4da1 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -69,6 +69,7 @@ /obj/item/gps/update_icon() cut_overlays() + . = ..() if(emped) add_overlay("emp") else if(on) diff --git a/code/game/objects/items/devices/holowarrant.dm b/code/game/objects/items/devices/holowarrant.dm index 38c380ca2101..c59f50d59e0c 100644 --- a/code/game/objects/items/devices/holowarrant.dm +++ b/code/game/objects/items/devices/holowarrant.dm @@ -61,6 +61,7 @@ return CLICKCHAIN_DO_NOT_PROPAGATE /obj/item/holowarrant/update_icon() + . = ..() if(active) icon_state = "holowarrant_filled" else diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index e0cebf5059d3..d9a9bcfeb6f5 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -161,9 +161,9 @@ return new_bulbs /obj/item/lightreplacer/update_icon() + . = ..() icon_state = "lightreplacer[emagged]" - /obj/item/lightreplacer/proc/Use(var/mob/user) playsound(src.loc, 'sound/machines/click.ogg', 50, 1) diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 8ad2c75ccaeb..0340c914df27 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -20,6 +20,7 @@ GLOBAL_LIST_BOILERPLATE(all_beacons, /obj/item/radio/beacon) /obj/item/radio/beacon/update_icon() cut_overlays() + . = ..() if(!functioning) add_overlay("[base_icon_state]_malfunction") else diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 4a9e633a83bd..8a7624eae6f7 100755 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -109,6 +109,11 @@ origin_tech = list(TECH_ILLEGAL = 3) ks1type = /obj/item/encryptionkey/binary +/obj/item/radio/headset/trader/outsider + name = "Traveler headset" + desc = "While being a normal headset, it was upgraded with a shortwave frenquency... Altho the upgrade was done with just duck taping circuits of a shortwave radio to the headset" + adhoc_fallback = TRUE + /obj/item/radio/headset/headset_sec name = "security radio headset" desc = "This is used by your elite security force." diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index ae475848b9bf..fa64ba2b9c35 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -33,6 +33,7 @@ CREATE_WALL_MOUNTING_TYPES_SHIFTED(/obj/item/radio/intercom, 28) /obj/item/radio/intercom/update_icon(updates) cut_overlays() + . = ..() if(!on) icon_state = "intercom-p" else diff --git a/code/game/objects/items/devices/radio/jammer.dm b/code/game/objects/items/devices/radio/jammer.dm index 825855051c91..e6592aa6e8ca 100644 --- a/code/game/objects/items/devices/radio/jammer.dm +++ b/code/game/objects/items/devices/radio/jammer.dm @@ -100,6 +100,8 @@ var/global/list/active_radio_jammers = list() to_chat(user,"You insert \the [power_source] into \the [src].") /obj/item/radio_jammer/update_icon() + cut_overlays() + . = ..() if(on) icon_state = active_state else @@ -111,12 +113,9 @@ var/global/list/active_radio_jammers = list() else overlay_percent = 0 - // Only Cut() if we need to. - if(overlay_percent != last_overlay_percent) - cut_overlays() - var/image/I = image(src.icon, src, "jammer_overlay_[overlay_percent]") - add_overlay(I) - last_overlay_percent = overlay_percent + var/image/I = image(src.icon, src, "jammer_overlay_[overlay_percent]") + add_overlay(I) + last_overlay_percent = overlay_percent //Unlimited use, unlimited range jammer for admins. Turn it on, drop it somewhere, it works. /obj/item/radio_jammer/admin diff --git a/code/game/objects/items/devices/scanners_vr.dm b/code/game/objects/items/devices/scanners_vr.dm index 30e29279ffac..1d3c0acd0eb1 100644 --- a/code/game/objects/items/devices/scanners_vr.dm +++ b/code/game/objects/items/devices/scanners_vr.dm @@ -265,9 +265,8 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob return to_chat(usr,"Unable to find that mind in Soulcatcher!") - - /obj/item/sleevemate/update_icon() + . = ..() if(stored_mind) icon_state = "[initial(icon_state)]_on" else diff --git a/code/game/objects/items/devices/t_scanner.dm b/code/game/objects/items/devices/t_scanner.dm index c424401e8159..fcd03f85ef30 100644 --- a/code/game/objects/items/devices/t_scanner.dm +++ b/code/game/objects/items/devices/t_scanner.dm @@ -21,6 +21,7 @@ var/global/list/overlay_cache = list() //cache recent overlays /obj/item/t_scanner/update_icon() + . = ..() icon_state = "t-ray[on]" /obj/item/t_scanner/AltClick() @@ -121,7 +122,7 @@ continue for(var/obj/O in T.contents) - if(O.hides_underfloor == OBJ_UNDERFLOOR_NEVER) + if(!O.is_hidden_underfloor()) continue if(!O.invisibility) continue //if it's already visible don't need an overlay for it diff --git a/code/game/objects/items/gifts.dm b/code/game/objects/items/gifts.dm index 2c762e45b575..af41f9f6049e 100644 --- a/code/game/objects/items/gifts.dm +++ b/code/game/objects/items/gifts.dm @@ -77,7 +77,6 @@ GLOBAL_LIST_EMPTY(possible_gifts) return gift_type - /obj/item/a_gift/anything name = "christmas gift" desc = "It could be anything!" diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm index f118af45063a..edd1fd158641 100644 --- a/code/game/objects/items/glassjar.dm +++ b/code/game/objects/items/glassjar.dm @@ -84,6 +84,7 @@ /obj/item/glass_jar/update_icon() // Also updates name and desc underlays.Cut() cut_overlays() + . = ..() switch(contains) if(0) name = initial(name) diff --git a/code/game/objects/items/id_cards/cards.dm b/code/game/objects/items/id_cards/cards.dm index 3b5d767cf5cc..c530e1f5549e 100644 --- a/code/game/objects/items/id_cards/cards.dm +++ b/code/game/objects/items/id_cards/cards.dm @@ -101,6 +101,7 @@ update_icon() /obj/item/card_fluff/update_icon() + . = ..() if(!sprite_stack || !istype(sprite_stack) || sprite_stack == list("")) icon = base_icon icon_state = initial(icon_state) diff --git a/code/game/objects/items/id_cards/station_ids.dm b/code/game/objects/items/id_cards/station_ids.dm index df5ef7a9e202..8a455e75cccc 100644 --- a/code/game/objects/items/id_cards/station_ids.dm +++ b/code/game/objects/items/id_cards/station_ids.dm @@ -705,3 +705,67 @@ desc = "Issued to staff of the Happy Trails Company." icon_state = "gaia_staff" access = list(250,251,252) + +/obj/item/card/id/external/nebula/room1 + name = "Card to Room 1" + desc = "A card that grants usage of Room 1 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(161) + +/obj/item/card/id/external/nebula/room2 + name = "Card to Room 2" + desc = "A card that grants usage of Room 2 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(162) + +/obj/item/card/id/external/nebula/room3 + name = "Card to Room 3" + desc = "A card that grants usage of Room 3 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(163) + +/obj/item/card/id/external/nebula/room4 + name = "Card to Room 4" + desc = "A card that grants usage of Room 4 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(164) + +/obj/item/card/id/external/nebula/room5 + name = "Card to Room 5" + desc = "A card that grants usage of Room 5 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(165) + +/obj/item/card/id/external/nebula/room6 + name = "Card to Room 6" + desc = "A card that grants usage of Room 6 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(166) + +/obj/item/card/id/external/nebula/room7 + name = "Card to Room 7" + desc = "A card that grants usage of Room 7 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(167) + +/obj/item/card/id/external/nebula/room8 + name = "Card to Room 8" + desc = "A card that grants usage of Room 8 of the Nebula Motel" + icon_state = "guest" + job_access_type = null + access = list(169) + +/obj/item/card/id/external/nebula/room9 + name = "Card to the VIP Suit" + color = "#ffbd17" + desc = "A card that grants usage to the VIP suite of the Nebula Motel, and its Arrowhead shuttle." + icon_state = "guest" + job_access_type = null + access = list(170) diff --git a/code/game/objects/items/melee/types/misc.dm b/code/game/objects/items/melee/types/misc.dm index 89637a6aa540..5dfbe00339c8 100644 --- a/code/game/objects/items/melee/types/misc.dm +++ b/code/game/objects/items/melee/types/misc.dm @@ -47,7 +47,7 @@ // Randomizes color /obj/item/melee/umbrella/random/Initialize(mapload) - add_atom_colour("#"+get_random_colour(), FIXED_COLOUR_PRIORITY) + add_atom_color("#"+get_random_colour()) return ..() /obj/item/melee/cursedblade diff --git a/code/game/objects/items/melee/types/transforming/energy/saber.dm b/code/game/objects/items/melee/types/transforming/energy/saber.dm index 48e1eb491400..60f6d1a5fad4 100644 --- a/code/game/objects/items/melee/types/transforming/energy/saber.dm +++ b/code/game/objects/items/melee/types/transforming/energy/saber.dm @@ -83,6 +83,7 @@ armor_penetration = 35 colorable = TRUE attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + worn_render_flags = WORN_RENDER_SLOT_NO_RENDER | WORN_RENDER_INHAND_ONE_FOR_ALL passive_parry = /datum/passive_parry{ parry_chance_default = 60; diff --git a/code/game/objects/items/stacks/marker_beacons.dm b/code/game/objects/items/stacks/marker_beacons.dm index 7c8297d4bd16..2cfd67129499 100644 --- a/code/game/objects/items/stacks/marker_beacons.dm +++ b/code/game/objects/items/stacks/marker_beacons.dm @@ -27,6 +27,7 @@ var/list/marker_beacon_colors = list( max_amount = 100 no_variants = TRUE w_class = WEIGHT_CLASS_SMALL + skip_legacy_icon_update = TRUE var/picked_color = "random" /obj/item/stack/marker_beacon/ten @@ -47,8 +48,9 @@ var/list/marker_beacon_colors = list( . += "Use in-hand to place a [singular_name]." . += "Alt-click to select a color. Current color is [picked_color]." -/obj/item/stack/marker_beacon/update_icon() +/obj/item/stack/marker_beacon/update_icon_state() icon_state = "[initial(icon_state)][lowertext(picked_color)]" + return ..() /obj/item/stack/marker_beacon/attack_self(mob/user, datum/event_args/actor/actor) . = ..() @@ -94,6 +96,8 @@ var/list/marker_beacon_colors = list( /obj/structure/marker_beacon/Initialize(mapload, set_color) . = ..() picked_color = set_color + if(!picked_color || !marker_beacon_colors[picked_color]) + picked_color = pick(marker_beacon_colors) update_icon() /obj/structure/marker_beacon/examine(mob/user, dist) @@ -101,8 +105,7 @@ var/list/marker_beacon_colors = list( . += "Alt-click to select a color. Current color is [picked_color]." /obj/structure/marker_beacon/update_icon() - while(!picked_color || !marker_beacon_colors[picked_color]) - picked_color = pick(marker_beacon_colors) + . = ..() icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" set_light(light_range, light_power, marker_beacon_colors[picked_color]) @@ -145,22 +148,8 @@ var/list/marker_beacon_colors = list( /obj/structure/marker_beacon/red picked_color = "Burgundy" -/obj/structure/marker_beacon/red/update_icon() - while(!picked_color || !marker_beacon_colors[picked_color]) - picked_color = "Burgundy" - icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" - set_light(light_range, light_power, marker_beacon_colors[picked_color]) - /obj/structure/marker_beacon/yellow picked_color = "Yellow" -/obj/structure/marker_beacon/yellow/update_icon() - icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" - set_light(light_range, light_power, marker_beacon_colors[picked_color]) - /obj/structure/marker_beacon/green picked_color = "Green" - -/obj/structure/marker_beacon/green/update_icon() - icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" - set_light(light_range, light_power, marker_beacon_colors[picked_color]) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 748b839080cb..29984cce679e 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -1,7 +1,9 @@ /obj/item/stack/medical name = "medical pack" singular_name = "medical pack" - icon = 'icons/obj/stacks.dmi' + icon = 'icons/items/stacks/medical.dmi' + use_new_icon_update = TRUE + skip_legacy_icon_update = TRUE amount = 10 max_amount = 10 w_class = WEIGHT_CLASS_SMALL @@ -83,7 +85,9 @@ name = "crude bandage" singular_name = "crude bandage length" desc = "Some bandages to wrap around bloody stumps." - icon_state = "gauze" + icon_state = "bandage" + icon_state_count = 3 + base_icon_state = "bandage" origin_tech = list(TECH_BIO = 1) no_variants = FALSE apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg') @@ -146,8 +150,10 @@ /obj/item/stack/medical/bruise_pack name = "roll of gauze" singular_name = "gauze length" + icon_state = "gauze" + icon_state_count = 3 + base_icon_state = "gauze" desc = "Some sterile gauze to wrap around bloody stumps." - icon_state = "brutepack" origin_tech = list(TECH_BIO = 1) no_variants = FALSE apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg') @@ -216,6 +222,8 @@ gender = PLURAL singular_name = "ointment" icon_state = "ointment" + icon_state_count = 3 + base_icon_state = "ointment" heal_burn = 1 origin_tech = list(TECH_BIO = 1) no_variants = FALSE @@ -257,7 +265,9 @@ name = "advanced trauma kit" singular_name = "advanced trauma kit" desc = "An advanced trauma kit for severe injuries." - icon_state = "traumakit" + icon_state = "brute_adv" + icon_state_count = 6 + base_icon_state = "brute_adv" heal_brute = 7 origin_tech = list(TECH_BIO = 1) apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg','sound/effects/tape.ogg') @@ -319,7 +329,9 @@ name = "advanced burn kit" singular_name = "advanced burn kit" desc = "An advanced treatment kit for severe burns." - icon_state = "burnkit" + icon_state = "burn_adv" + icon_state_count = 6 + base_icon_state = "burn_adv" heal_burn = 7 origin_tech = list(TECH_BIO = 1) apply_sounds = list('sound/effects/ointment.ogg') @@ -360,6 +372,7 @@ singular_name = "medical splint" desc = "Modular splints capable of supporting and immobilizing bones in all areas of the body." icon_state = "splint" + base_icon_state = "splint" amount = 5 max_amount = 5 drop_sound = 'sound/items/drop/hat.ogg' @@ -421,7 +434,8 @@ name = "makeshift splints" singular_name = "makeshift splint" desc = "For holding your limbs in place with duct tape and scrap metal." - icon_state = "tape-splint" + icon_state = "splint_tape" + base_icon_state = "splint_tape" amount = 1 splintable_organs = list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG) @@ -429,37 +443,18 @@ name = "primitive splints" singular_name = "makeshift splint" desc = "For holding your limbs in place with hide and sinew." - icon_state = "primitive-splint" + icon_state = "splint_primitive" + base_icon_state = "splint_primitive" amount = 5 -// Begin Citadel Changes - New advanced kit sprites -/obj/item/stack/medical/advanced/Initialize(mapload) - . = ..() - update_icon() - -/obj/item/stack/medical/advanced/update_icon() - switch(amount) - if(1 to 2) - icon_state = initial(icon_state) - if(3 to 4) - icon_state = "[initial(icon_state)]_4" - if(5 to 6) - icon_state = "[initial(icon_state)]_6" - if(7 to 8) - icon_state = "[initial(icon_state)]_8" - if(9) - icon_state = "[initial(icon_state)]_9" - else - icon_state = "[initial(icon_state)]_10" -// End Citadel Changes +// todo: kick ashlander crap to ashlander faction or something, why is this here? //Ashlander Poultices - They basically use the same stack system as ointment and bruise packs. Gotta dupe some of the code since bruise pack/ointment chat messages are too specific. /obj/item/stack/medical/poultice_brute name = "poultice (juhtak)" singular_name = "poultice (juhtak)" desc = "A damp mush made from the pulp of a juhtak. It is used to treat flesh injuries." - icon_state = "poulticebrute" - no_variants = TRUE + icon_state = "brute_poultice" apply_sounds = list('sound/effects/ointment.ogg') drop_sound = 'sound/items/drop/herb.ogg' pickup_sound = 'sound/items/pickup/herb.ogg' @@ -525,7 +520,7 @@ desc = "A damp mush infused with pyrrhlea petals. It is used to treat burns." gender = PLURAL singular_name = "poultice (pyrrhlea)" - icon_state = "poulticeburn" + icon_state = "burn_poultice" heal_burn = 1 no_variants = TRUE apply_sounds = list('sound/effects/ointment.ogg') diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 13af5cc22f98..a4d0a46bd6d4 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -13,18 +13,20 @@ materials_base = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2) max_amount = 60 attack_verb = list("hit", "bludgeoned", "whacked") + skip_legacy_icon_update = TRUE /obj/item/stack/rods/generate_explicit_recipes() . = list() . += create_stack_recipe_datum(name = "grille", product = /obj/structure/grille, cost = 2, time = 1 SECONDS) . += create_stack_recipe_datum(name = "catwalk", product = /obj/structure/catwalk, cost = 2, time = 1 SECONDS) -/obj/item/stack/rods/update_icon() +/obj/item/stack/rods/update_icon_state() var/amount = get_amount() if((amount <= 5) && (amount > 0)) icon_state = "rods-[amount]" else icon_state = "rods" + return ..() /obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob) if (istype(W, /obj/item/weldingtool)) @@ -64,5 +66,6 @@ gender = NEUTER uses_charge = 1 charge_costs = list(500) - stacktype = /obj/item/stack/rods + stack_type = /obj/item/stack/rods + stacktype_legacy = /obj/item/stack/rods no_variants = TRUE diff --git a/code/game/objects/items/stacks/sandbag.dm b/code/game/objects/items/stacks/sandbag.dm index b7d9b67d49ab..a445097edec6 100644 --- a/code/game/objects/items/stacks/sandbag.dm +++ b/code/game/objects/items/stacks/sandbag.dm @@ -19,7 +19,7 @@ . = ..() update_icon() -/obj/item/stack/emptysandbag/update_icon() +/obj/item/stack/emptysandbag/update_icon_state() var/amount = get_amount() if((amount >= 35)) icon_state = "sandbag_empty_3" @@ -27,6 +27,7 @@ icon_state = "sandbag_empty_2" else icon_state = "sandbag_empty" + return ..() /obj/item/stack/emptysandbag/attackby(var/obj/item/W, var/mob/user) if(istype(W, /obj/item/stack/ore/glass) && !interact(user, src)) @@ -66,7 +67,7 @@ . = ..() update_icon() -/obj/item/stack/sandbags/update_icon() +/obj/item/stack/sandbags/update_icon_state() var/amount = get_amount() if((amount >= 35)) icon_state = "sandbags_3" @@ -74,6 +75,7 @@ icon_state = "sandbags_2" else icon_state = "sandbags" + return ..() /obj/item/stack/sandbags/generate_explicit_recipes() . = list() diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 750b1c97e7aa..242950b271ad 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -36,22 +36,39 @@ origin_tech = list(TECH_MATERIAL = 1) icon = 'icons/obj/stacks.dmi' item_flags = ITEM_CAREFUL_BLUDGEON | ITEM_ENCUMBERS_WHILE_HELD + + /// Always create this type when splitting, instead of our own type. + var/split_type + /// The type we actually are. This is what is used when things try to consume an amount of us. + /// * null = this current type + var/stack_type + var/singular_name var/amount = 1 /// See stack recipes initialisation, param "max_res_amount" must be equal to this max_amount. var/max_amount = 50 /// Determines whether different stack types can merge. - var/stacktype - /// enforce a certain type when splitting; useful if you have an infinite stack you don't want to be split into another one - var/split_type - /// Used when directly applied to a turf. - var/build_type = null + var/stacktype_legacy var/uses_charge = 0 var/list/charge_costs = null var/list/datum/matter_synth/synths = null /// Determines whether the item should update it's sprites based on amount. var/no_variants = TRUE + /// skip default / old update_icon() handling + var/skip_legacy_icon_update = FALSE + /// use new update icon system + /// * this is mandatory for all new stacks + var/use_new_icon_update = FALSE + + /// Total number of states used in updating icons. + /// todo: all stacks should use this, remove `use_new_icon_update + /// + /// * Only active when [use_new_icon_update] is set on + /// * This counts up from 1. + /// * If null, we don't do icon updates based on amount. + var/icon_state_count + /// Will the item pass its own color var to the created item? Dyed cloth, wood, etc. var/pass_color = FALSE /// Will the stack merge with other stacks that are different colors? (Dyed cloth, wood, etc). @@ -67,8 +84,8 @@ explicit_recipes = typelist(NAMEOF(src, explicit_recipes), generate_explicit_recipes()) if(new_amount != null) amount = new_amount - if(!stacktype) - stacktype = type + if(!stacktype_legacy) + stacktype_legacy = type . = ..() if(merge) for(var/obj/item/stack/S in loc) @@ -76,7 +93,18 @@ merge(S) update_icon() +/obj/item/stack/update_icon_state() + if(!use_new_icon_update) + return ..() + if(!icon_state_count) + return ..() + icon_state = "[base_icon_state || initial(icon_state)]-[get_amount_icon_notch(get_amount())]" + return ..() + /obj/item/stack/update_icon() + . = ..() + if(skip_legacy_icon_update) + return if(no_variants) icon_state = initial(icon_state) else @@ -184,7 +212,7 @@ return FALSE if((strict_color_stacking || other.strict_color_stacking) && (color != other.color)) return FALSE - return other.stacktype == stacktype + return other.stacktype_legacy == stacktype_legacy /obj/item/stack/proc/use(used) if (!can_use(used)) @@ -419,3 +447,37 @@ return FALSE update_icon() return TRUE + +//* Getters *// + +/** + * Get the number for `iconstate-[n]` icon state rendering. + * + * @return number, or null if `icon_state_count` isn't set. + */ +/obj/item/stack/proc/get_amount_icon_notch(the_amount) + if(!icon_state_count) + return null + return CEILING(the_amount / max_amount * icon_state_count, 1) + +//* Types *// + +/** + * Get our 'use as type'. + */ +/obj/item/stack/proc/get_use_as_type() + return stack_type || type + +/** + * We can be used as a specific stack type. + */ +/obj/item/stack/proc/can_use_as_type(path) + return stack_type == path || type == path + +/** + * Can merge into a type + * + * todo: use this instead of raw stacktype_legacy checks + */ +/obj/item/stack/proc/can_merge_into_type(path) + CRASH("Not implemented.") diff --git a/code/game/objects/items/stacks/tickets.dm b/code/game/objects/items/stacks/tickets.dm index a88abfc9fbb8..ae1ef53e8d13 100644 --- a/code/game/objects/items/stacks/tickets.dm +++ b/code/game/objects/items/stacks/tickets.dm @@ -11,7 +11,7 @@ . = ..() update_icon() -/obj/item/stack/arcadeticket/update_icon() +/obj/item/stack/arcadeticket/update_icon_state() var/amount = get_amount() switch(amount) if(12 to INFINITY) @@ -22,6 +22,7 @@ icon_state = "arcade-ticket_2" else icon_state = "arcade-ticket" + return ..() /obj/item/stack/arcadeticket/proc/pay_tickets() amount -= 2 diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 3f0955fd54bc..b0b1e5db320d 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -87,8 +87,8 @@ desc = "A device that makes wood floor tiles." uses_charge = 1 charge_costs = list(250) - stacktype = /obj/item/stack/tile/wood - build_type = /obj/item/stack/tile/wood + stack_type = /obj/item/stack/tile/wood + stacktype_legacy = /obj/item/stack/tile/wood /* * Carpets @@ -298,8 +298,8 @@ materials_base = null uses_charge = 1 charge_costs = list(250) - stacktype = /obj/item/stack/tile/floor - build_type = /obj/item/stack/tile/floor + stack_type = /obj/item/stack/tile/floor + stacktype_legacy = /obj/item/stack/tile/floor /obj/item/stack/tile/floor/sandstone name = "sandstone tile" @@ -353,8 +353,8 @@ desc = "A device that makes roofing tiles." uses_charge = 1 charge_costs = list(250) - stacktype = /obj/item/stack/tile/roofing - build_type = /obj/item/stack/tile/roofing + stack_type = /obj/item/stack/tile/roofing + stacktype_legacy = /obj/item/stack/tile/roofing /obj/item/stack/tile/roofing/wood name = "wood roofing" diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 415d4afd861c..4315f0701cd4 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -24,13 +24,14 @@ desc = "It's just an ordinary box." icon_state = "box" item_state = "syringe_kit" - var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard max_single_weight_class = WEIGHT_CLASS_SMALL max_combined_volume = STORAGE_VOLUME_BOX drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' worth_intrinsic = 25 + var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard + /// dynamic state support var/dynamic_state = TRUE /// dynamic state overlay, if any @@ -60,20 +61,20 @@ new foldable(get_turf(src)) qdel(src) -/obj/item/storage/box/survival +/obj/item/storage/box/legacy_survival name = "emergency supply box" desc = "A survival box issued to crew members for use in emergency situations." starts_with = list( /obj/item/clothing/mask/breath ) -/obj/item/storage/box/survival/synth +/obj/item/storage/box/legacy_survival/synth name = "synthetic supply box" desc = "A survival box issued to synthetic crew members for use in emergency situations." starts_with = list( ) -/obj/item/storage/box/survival/comp +/obj/item/storage/box/legacy_survival/comp name = "emergency supply box" desc = "A comprehensive survival box issued to crew members for use in emergency situations. Contains additional supplies." icon_state = "survival" @@ -624,20 +625,20 @@ icon_state = "firingpins" starts_with = list(/obj/item/firing_pin = 8) -/obj/item/storage/box/survival +/obj/item/storage/box/legacy_survival starts_with = list( /obj/item/tool/prybar/red, /obj/item/clothing/glasses/goggles, /obj/item/clothing/mask/breath ) -/obj/item/storage/box/survival/synth +/obj/item/storage/box/legacy_survival/synth starts_with = list( /obj/item/tool/prybar/red, /obj/item/clothing/glasses/goggles ) -/obj/item/storage/box/survival/comp +/obj/item/storage/box/legacy_survival/comp starts_with = list( /obj/item/tool/prybar/red, /obj/item/clothing/glasses/goggles, @@ -667,7 +668,7 @@ desc = "A box full of service keys, for the HoP to give out as necessary." starts_with = list(/obj/item/encryptionkey/headset_service = 7) -/obj/item/storage/box/survival/space +/obj/item/storage/box/legacy_survival/space name = "boxed emergency suit and helmet" icon_state = "survivaleng" starts_with = list( diff --git a/code/game/objects/items/storage/medical/hypokit.dm b/code/game/objects/items/storage/medical/hypokit.dm index 6409bb530a8e..90dd1d6b389c 100644 --- a/code/game/objects/items/storage/medical/hypokit.dm +++ b/code/game/objects/items/storage/medical/hypokit.dm @@ -11,28 +11,58 @@ /obj/item/hypospray, ) - var/hypospray_path = /obj/item/hypospray + var/hypospray_path = null var/vial_path = /obj/item/reagent_containers/glass/hypovial - var/vial_amount = 6 + var/vial_amount = 0 /obj/item/storage/hypokit/legacy_spawn_contents() . = ..() - new hypospray_path(src) + if(hypospray_path) + new hypospray_path(src) spawn_hypovials() /obj/item/storage/hypokit/proc/spawn_hypovials() + if(!vial_path) + return for(var/i in 1 to vial_amount) new vial_path(src) +/obj/item/storage/hypokit/full + hypospray_path = /obj/item/hypospray + vial_amount = 13 + +/obj/item/storage/hypokit/full/loaded + hypospray_path = /obj/item/hypospray/loaded + +/obj/item/storage/hypokit/full/loaded/spawn_hypovials() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/glass/hypovial/bicaridine(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/glass/hypovial/dylovene(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/glass/hypovial/kelotane(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/glass/hypovial/dexalin(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/glass/hypovial/tricordrazine(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/glass/hypovial/inaprovaline(src) + /obj/item/storage/hypokit/combat name = "combat hypospray kit" icon_state = "tactical" - hypospray_path = /obj/item/hypospray/combat/loaded vial_path = /obj/item/reagent_containers/glass/hypovial/large max_combined_volume = STORAGE_VOLUME_BOX * 2 weight_volume = WEIGHT_VOLUME_NORMAL * 1.5 -/obj/item/storage/hypokit/combat/loaded/spawn_hypovials() +/obj/item/storage/hypokit/combat/full + hypospray_path = /obj/item/hypospray/combat + vial_amount = 13 + +/obj/item/storage/hypokit/combat/full/loaded + hypospray_path = /obj/item/hypospray/combat/loaded + +/obj/item/storage/hypokit/combat/full/loaded/spawn_hypovials() for(var/i in 1 to 2) new /obj/item/reagent_containers/glass/hypovial/large/bicaridine(src) for(var/i in 1 to 2) @@ -52,12 +82,18 @@ icon = 'icons/items/storage/firstaid.dmi' icon_state = "briefcase" inhand_state = "normal" - hypospray_path = /obj/item/hypospray/advanced/loaded vial_path = /obj/item/reagent_containers/glass/hypovial/large max_combined_volume = STORAGE_VOLUME_BOX * 2 weight_volume = WEIGHT_VOLUME_NORMAL * 1.5 -/obj/item/storage/hypokit/advanced/loaded/spawn_hypovials() +/obj/item/storage/hypokit/advanced/full + hypospray_path = /obj/item/hypospray/advanced + vial_amount = 13 + +/obj/item/storage/hypokit/advanced/full/loaded + hypospray_path = /obj/item/hypospray/advanced/loaded + +/obj/item/storage/hypokit/advanced/full/loaded/spawn_hypovials() for(var/i in 1 to 2) new /obj/item/reagent_containers/glass/hypovial/large/bicaridine(src) for(var/i in 1 to 2) @@ -73,9 +109,17 @@ new /obj/item/reagent_containers/glass/hypovial/large/spaceacillin(src) /obj/item/storage/hypokit/advanced/cmo + hypospray_path = null + vial_amount = 0 + +/obj/item/storage/hypokit/advanced/cmo/full + hypospray_path = /obj/item/hypospray/advanced/cmo + vial_amount = 13 + +/obj/item/storage/hypokit/advanced/cmo/full/loaded hypospray_path = /obj/item/hypospray/advanced/cmo/loaded -/obj/item/storage/hypokit/advanced/cmo/loaded/spawn_hypovials() +/obj/item/storage/hypokit/advanced/cmo/full/loaded/spawn_hypovials() for(var/i in 1 to 2) new /obj/item/reagent_containers/glass/hypovial/large/bicaridine(src) for(var/i in 1 to 2) @@ -88,19 +132,3 @@ new /obj/item/reagent_containers/glass/hypovial/large/tramadol(src) new /obj/item/reagent_containers/glass/hypovial/large/arithrazine(src) new /obj/item/reagent_containers/glass/hypovial/large/spaceacillin(src) - -/obj/item/storage/hypokit/loaded - -/obj/item/storage/hypokit/loaded/spawn_hypovials() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/glass/hypovial/bicaridine(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/glass/hypovial/dylovene(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/glass/hypovial/kelotane(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/glass/hypovial/dexalin(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/glass/hypovial/tricordrazine(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/glass/hypovial/inaprovaline(src) diff --git a/code/game/objects/items/storage/misc/survival.dm b/code/game/objects/items/storage/misc/survival.dm new file mode 100644 index 000000000000..68b0df00e9e1 --- /dev/null +++ b/code/game/objects/items/storage/misc/survival.dm @@ -0,0 +1,9 @@ + +/** + * Unfoldable. Special survival box handed to most people on spawn. + */ +/obj/item/storage/box/survival + name = "emergency supply box" + desc = "A survival box issued to crew members for use in emergency situations." + icon_state = "survival" + foldable = FALSE diff --git a/code/game/objects/items/storage/misc_legacy/fancy.dm b/code/game/objects/items/storage/misc_legacy/fancy.dm index f90b8602fb9c..4a8aa3a8d47b 100644 --- a/code/game/objects/items/storage/misc_legacy/fancy.dm +++ b/code/game/objects/items/storage/misc_legacy/fancy.dm @@ -128,6 +128,7 @@ /obj/item/storage/fancy/crayons/update_icon() cut_overlays() + . = ..() for(var/obj/item/pen/crayon/crayon in contents) add_overlay(crayon.crayon_color_name) @@ -168,6 +169,7 @@ /obj/item/storage/fancy/markers/update_icon() cut_overlays() + . = ..() for(var/obj/item/pen/crayon/marker/marker in contents) add_overlay("m[marker.crayon_color_name]") @@ -205,6 +207,7 @@ /obj/item/storage/fancy/chalk/update_icon() cut_overlays() + . = ..() for(var/obj/item/pen/crayon/chalk/chalk in contents) add_overlay("c[chalk.crayon_color_name]") @@ -372,9 +375,9 @@ atom_flags |= NOREACT create_reagents(15 * max_items) -/obj/item/storage/fancy/cigar/update_icon() +/obj/item/storage/fancy/cigar/update_icon_state() icon_state = "[initial(icon_state)][contents.len]" - return + return ..() /obj/item/storage/fancy/cigar/Exited(atom/movable/AM, atom/newLoc) . = ..() @@ -436,11 +439,12 @@ update_icon() /obj/item/storage/lockbox/vials/update_icon(itemremoved = 0) + cut_overlays() + . = ..() + var/total_contents = contents.len - itemremoved icon_state = "vialbox[total_contents]" - cut_overlays() - var/list/overlays_to_add = list() if (!broken) overlays_to_add += image(icon, src, "led[locked]") @@ -486,6 +490,6 @@ . = ..() update_icon() -/obj/item/storage/fancy/heartbox/update_icon(var/itemremoved = 0) - if (contents.len == 0) - icon_state = "heartbox_empty" +/obj/item/storage/fancy/heartbox/update_icon_state() + icon_state = length(contents) ? "chocolate" : "heartbox_empty" + return ..() diff --git a/code/game/objects/items/storage/misc_legacy/misc.dm b/code/game/objects/items/storage/misc_legacy/misc.dm index 4a8c429dc18a..86652e3efac2 100644 --- a/code/game/objects/items/storage/misc_legacy/misc.dm +++ b/code/game/objects/items/storage/misc_legacy/misc.dm @@ -21,10 +21,12 @@ /obj/item/storage/box/donut/update_icon() cut_overlays() + . = ..() var/i = 0 for(var/obj/item/reagent_containers/food/snacks/donut/D in contents) - add_overlay("[i][D.overlay_state]") - i++ + add_overlay("[i++][D.overlay_state]") + if(i >= 6) + break /obj/item/storage/box/donut/empty empty = TRUE @@ -50,9 +52,9 @@ . = ..() obj_storage.update_icon_on_item_change = TRUE -/obj/item/storage/box/wormcan/update_icon(var/itemremoved = 0) - if (contents.len == 0) - icon_state = "wormcan_empty" +/obj/item/storage/box/wormcan/update_icon_state() + icon_state = length(contents) ? "wormcan" : "wormcan_empty" + return ..() /obj/item/storage/box/wormcan/sickly icon_state = "wormcan_sickly" @@ -61,9 +63,9 @@ max_combined_volume = WEIGHT_VOLUME_TINY * 6 starts_with = list(/obj/item/reagent_containers/food/snacks/wormsickly = 6) -/obj/item/storage/box/wormcan/sickly/update_icon(var/itemremoved = 0) - if (contents.len == 0) - icon_state = "wormcan_empty_sickly" +/obj/item/storage/box/wormcan/sickly/update_icon_state() + icon_state = length(contents) ? "wormcan_empty_sickly" : "wormcan_sickly" + return ..() /obj/item/storage/box/wormcan/deluxe icon_state = "wormcan_deluxe" @@ -73,8 +75,8 @@ starts_with = list(/obj/item/reagent_containers/food/snacks/wormdeluxe = 6) /obj/item/storage/box/wormcan/deluxe/update_icon(var/itemremoved = 0) - if (contents.len == 0) - icon_state = "wormcan_empty_deluxe" + icon_state = length(contents) ? "wormcan_deluxe" : "wormcan_empty_deluxe" + return ..() //Snowflake Survival Knife Code /obj/item/storage/box/survival_knife diff --git a/code/game/objects/items/storage/misc_legacy/trinket_box.dm b/code/game/objects/items/storage/misc_legacy/trinket_box.dm index ba2c70fc545a..5fd868b2fb25 100644 --- a/code/game/objects/items/storage/misc_legacy/trinket_box.dm +++ b/code/game/objects/items/storage/misc_legacy/trinket_box.dm @@ -18,6 +18,7 @@ /obj/item/storage/trinketbox/update_icon() cut_overlays() + . = ..() if(open) icon_state = open_state diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index ab6f5c2c6c7a..17a5ba3e52e7 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -1,3 +1,11 @@ +/** + * ## Paths + * + * For an example of `/obj/item/storage/box/gimmicks`, + * * /obj/item/storage/box/gimmicks should be empty + * * /obj/item/storage/box/gimmicks/full should have preloaded contents in starts_with / procs + * * /obj/item/storage/box/gimmicks/full/loaded should have filled containers, as an example, if it's a box of reagents or something. + */ /obj/item/storage name = "storage" icon = 'icons/obj/storage.dmi' @@ -42,14 +50,20 @@ var/storage_datum_path = /datum/object_system/storage /// Cleared after Initialize(). /// List of types associated to amounts. + // todo: stack handling var/list/starts_with /// set to prevent us from spawning starts_with var/empty = FALSE +/obj/item/storage/preload_from_stack_recipe(datum/stack_recipe/recipe) + ..() + if(recipe.product_auto_create_empty) + empty = TRUE + /obj/item/storage/Initialize(mapload, empty) . = ..() initialize_storage() - if(!empty) + if(!empty && !src.empty) spawn_contents() legacy_spawn_contents() else @@ -59,7 +73,7 @@ * Make sure to set [worth_dynamic] to TRUE if this does more than spawning what's in starts_with. */ /obj/item/storage/proc/spawn_contents() - if(length(starts_with) && !empty) + if(length(starts_with)) // this is way too permissive already var/safety = 256 var/atom/where_real_contents = obj_storage.real_contents_loc() diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 61f5957195bc..b8ae16dde897 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -72,6 +72,7 @@ /obj/item/storage/wallet/update_icon() cut_overlays() + . = ..() if(front_id) var/tiny_state = "id-generic" if(("id-"+front_id.icon_state) in icon_states(icon)) @@ -110,7 +111,7 @@ /obj/item/storage/wallet/poly/Initialize(mapload) . = ..() - add_atom_colour("#"+get_random_colour(), FIXED_COLOUR_PRIORITY) + add_atom_color("#"+get_random_colour()) update_icon() /obj/item/storage/wallet/poly/verb/change_color() @@ -125,7 +126,7 @@ var/new_color = input(usr, "Pick a new color", "Wallet Color", color) as color|null if(new_color) - add_atom_colour(new_color, FIXED_COLOUR_PRIORITY) + add_atom_color(new_color) /obj/item/storage/wallet/poly/emp_act() var/original_state = icon_state diff --git a/code/game/objects/items/stream_projector/medichine.dm b/code/game/objects/items/stream_projector/medichine.dm index 4583723dc05b..21c1652bc25b 100644 --- a/code/game/objects/items/stream_projector/medichine.dm +++ b/code/game/objects/items/stream_projector/medichine.dm @@ -182,7 +182,7 @@ GLOBAL_LIST_EMPTY(medichine_cell_datums) entity_beam.segmentation.color = beam_color /obj/item/stream_projector/medichine/proc/beam_color(color) - var/list/decoded = ReadRGB(color) + var/list/decoded = rgb2num(color) return list( decoded[1] / 255, decoded[2] / 255, decoded[3] / 255, 0, 0, 0, @@ -539,7 +539,7 @@ GLOBAL_LIST_EMPTY(medichine_cell_datums) var/list/color_rgb_list /datum/medichine_cell/New() - color_rgb_list = ReadRGB(color) + color_rgb_list = rgb2num(color) for(var/i in 1 to length(effects)) var/datum/medichine_effect/effect = effects[i] if(istype(effect)) diff --git a/code/game/objects/items/tools/switchtool.dm b/code/game/objects/items/tools/switchtool.dm index 61823b65d7b3..9b7499f08456 100644 --- a/code/game/objects/items/tools/switchtool.dm +++ b/code/game/objects/items/tools/switchtool.dm @@ -359,7 +359,7 @@ /obj/item/switchtool/holo/Initialize(mapload) . = ..() - add_atom_colour(light_color, FIXED_COLOUR_PRIORITY) + add_atom_color(light_color) /obj/item/switchtool/holo/deploy(var/obj/item/module) //We lightin' it up in here ..() diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index a2eced2bcc8e..be0ad32a794e 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -743,6 +743,7 @@ return /obj/item/weldingtool/electric/crystal/update_icon() + . = ..() icon_state = welding ? "crystal_welder_on" : "crystal_welder" item_state = welding ? "crystal_tool_lit" : "crystal_tool" update_worn_icon() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 069da682a19a..915f314f32cf 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -75,16 +75,14 @@ for(var/atom/A in get_turf(hit_atom)) src.reagents.touch(A) src.icon_state = "burst" - spawn(5) - if(src) - qdel(src) - return + QDEL_IN(src, 5) -/obj/item/toy/balloon/update_icon() - if(src.reagents.total_volume >= 1) +/obj/item/toy/balloon/update_icon_state() + if(reagents.total_volume) icon_state = "waterballoon" else icon_state = "waterballoon-e" + return ..() /obj/item/toy/syndicateballoon name = "criminal balloon" diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 6c997dd8d9f3..12eff7e01ba9 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -134,7 +134,7 @@ "Change Window Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "windowtype") ) */ - var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, user.is_holding(src) ? user : src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(choice) @@ -473,6 +473,7 @@ update_icon() /obj/effect/constructing_effect/update_icon() + . = ..() icon_state = "rcd" if (delay < 10) icon_state += "_shortest" diff --git a/code/game/objects/items/weapons/barrier_tape.dm b/code/game/objects/items/weapons/barrier_tape.dm index c12379f28bec..e4f3cf655366 100644 --- a/code/game/objects/items/weapons/barrier_tape.dm +++ b/code/game/objects/items/weapons/barrier_tape.dm @@ -40,6 +40,7 @@ var/list/tape_roll_applications = list() var/icon_base = "tape" /obj/item/barrier_tape_segment/update_icon() + . = ..() //Possible directional bitflags: 0 (AIRLOCK), 1 (NORTH), 2 (SOUTH), 4 (EAST), 8 (WEST), 3 (VERTICAL), 12 (HORIZONTAL) switch (tape_dir) if(0) // AIRLOCK @@ -50,7 +51,7 @@ var/list/tape_roll_applications = list() icon_state = "[icon_base]_h_[crumpled]" else // END POINT (1|2|4|8) icon_state = "[icon_base]_dir_[crumpled]" - dir = tape_dir + setDir(tape_dir) /obj/item/barrier_tape_segment/Initialize(mapload) . = ..() @@ -115,6 +116,7 @@ var/list/tape_roll_applications = list() /obj/item/barrier_tape_roll/update_icon() cut_overlays() + . = ..() var/image/overlay = image(icon = src.icon) overlay.appearance_flags = RESET_COLOR if(ismob(loc)) @@ -124,7 +126,6 @@ var/list/tape_roll_applications = list() overlay.icon_state = "stop" add_overlay(overlay) - /obj/item/barrier_tape_roll/dropped(mob/user, flags, atom/newLoc) update_icon() return ..() diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm index 733e0cac1d0c..ae5bc7ee4456 100644 --- a/code/game/objects/items/weapons/candle.dm +++ b/code/game/objects/items/weapons/candle.dm @@ -15,7 +15,7 @@ . = ..() wax -= rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average. -/obj/item/flame/candle/update_icon() +/obj/item/flame/candle/update_icon_state() var/i if(wax > 1500) i = 1 @@ -23,6 +23,7 @@ i = 2 else i = 3 icon_state = "[icon_type][i][lit ? "_lit" : ""]" + return ..() /obj/item/flame/candle/attackby(obj/item/W as obj, mob/user as mob) ..() @@ -103,6 +104,7 @@ wax = 20000 /obj/item/flame/candle/candelabra/update_icon() + . = ..() if(wax == 0) icon_state = "candelabra_melted" else diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index eaaaa9069fcd..9f649d070145 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -45,6 +45,7 @@ /obj/item/flamethrower/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() if(igniter) @@ -59,8 +60,6 @@ add_overlay(overlays_to_add) - return - /obj/item/flamethrower/afterattack(atom/target, mob/user, clickchain_flags, list/params) if(!(clickchain_flags & CLICKCHAIN_HAS_PROXIMITY)) return // Make sure our user is still holding us diff --git a/code/game/objects/items/weapons/grenades/supermatter.dm b/code/game/objects/items/weapons/grenades/supermatter.dm index d63c30e26a52..cc194536a677 100644 --- a/code/game/objects/items/weapons/grenades/supermatter.dm +++ b/code/game/objects/items/weapons/grenades/supermatter.dm @@ -20,6 +20,7 @@ /obj/item/grenade/supermatter/update_icon() cut_overlays() + . = ..() if(implode_at) add_overlay(image(icon = 'icons/rust.dmi', icon_state = "emfield_s1")) diff --git a/code/game/objects/items/weapons/material/ashtray.dm b/code/game/objects/items/weapons/material/ashtray.dm index 9c5552e072f8..01ddebf4bb40 100644 --- a/code/game/objects/items/weapons/material/ashtray.dm +++ b/code/game/objects/items/weapons/material/ashtray.dm @@ -20,6 +20,7 @@ var/global/list/ashtray_cache = list() color = null cut_overlays() + . = ..() var/datum/prototype/material/material = get_primary_material() var/list/overlays_to_add = list() diff --git a/code/game/objects/items/weapons/material/chainsaw.dm b/code/game/objects/items/weapons/material/chainsaw.dm index f59a85b91aa6..96403f333e51 100644 --- a/code/game/objects/items/weapons/material/chainsaw.dm +++ b/code/game/objects/items/weapons/material/chainsaw.dm @@ -107,6 +107,7 @@ return(BRUTELOSS) /obj/item/chainsaw/update_icon() + . = ..() if(on) icon_state = "chainsaw1" item_state = "chainsaw1" @@ -160,6 +161,7 @@ update_icon() /obj/item/chainsaw/chainsword/update_icon() + . = ..() if(on) icon_state = "chainsword1" item_state = "chainsword1" diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 027a90f6b4d9..851f42171367 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -54,6 +54,7 @@ update_icon() /obj/item/material/twohanded/update_icon() + . = ..() icon_state = "[base_icon][wielded]" item_state = icon_state diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 4a05db8d2370..6129f952413c 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -63,6 +63,7 @@ update_icon() /obj/item/melee/baton/update_icon() + . = ..() if(status) icon_state = "[initial(icon_state)]_active" else if(!bcell) diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm index 687963a5b24d..148977ece81f 100644 --- a/code/game/objects/items/weapons/towels.dm +++ b/code/game/objects/items/weapons/towels.dm @@ -39,4 +39,4 @@ /obj/item/towel/random/Initialize(mapload) . = ..() - add_atom_colour("#"+get_random_colour(), FIXED_COLOUR_PRIORITY) + add_atom_color("#"+get_random_colour()) diff --git a/code/game/objects/materials.dm b/code/game/objects/materials.dm index 8f6e73ce51cd..7a8c5573657d 100644 --- a/code/game/objects/materials.dm +++ b/code/game/objects/materials.dm @@ -91,7 +91,12 @@ if(islist(material_parts)) var/list/parts = list() for(var/key in material_parts) - parts[key] = RSmaterials.fetch(key) + var/datum/prototype/material/result = RSmaterials.fetch_or_defer(key) + switch(result) + if(REPOSITORY_FETCH_DEFER) + // todo: handle this + result = null + parts[key] = result update_material_multi(parts) else if(material_parts == MATERIAL_DEFAULT_DISABLED) else if(material_parts == MATERIAL_DEFAULT_ABSTRACTED) @@ -99,7 +104,12 @@ // skip specifying parts because abstracted update_material_multi() else - update_material_single((material_parts = RSmaterials.fetch(material_parts))) + var/datum/prototype/material/result = RSmaterials.fetch_or_defer(material_parts) + switch(result) + if(REPOSITORY_FETCH_DEFER) + // todo: handle this + result = null + update_material_single((material_parts = result)) /** * forces a material update diff --git a/code/game/objects/obj.dm b/code/game/objects/obj.dm index 237a5e97a615..b016c11a8af2 100644 --- a/code/game/objects/obj.dm +++ b/code/game/objects/obj.dm @@ -4,7 +4,6 @@ pass_flags_self = ATOM_PASS_OVERHEAD_THROW animate_movement = SLIDE_STEPS rad_flags = NONE - atom_colouration_system = TRUE integrity_enabled = TRUE armor_type = /datum/armor/object/default @@ -175,7 +174,7 @@ /// * gets set_underfloor(is_underfloor = TRUE | FALSE) called on init or turf init /// * we are assumed to not be underfloor when we are first made /// * if you want a var to track this make one yourself; we don't have one for memory concerns. - var/hides_underfloor = OBJ_UNDERFLOOR_DISABLED + var/hides_underfloor = OBJ_UNDERFLOOR_UNSUPPORTED /// call update icon after update_hiding_underfloor() /// /// * update_icon() called regardless of [hides_underfloor_defaulting] if TRUE @@ -249,7 +248,7 @@ // init material parts only if it wasn't initialized already if(!(obj_flags & OBJ_MATERIAL_INITIALIZED)) init_material_parts() - if(hides_underfloor != OBJ_UNDERFLOOR_NEVER && isturf(loc)) + if(hides_underfloor != OBJ_UNDERFLOOR_UNSUPPORTED && isturf(loc)) initialize_hiding_underfloor(mapload) if (set_obj_flags) var/flagslist = splittext(set_obj_flags,";") @@ -620,8 +619,8 @@ color = colors[1] if(COLORATION_MODE_RG_MATRIX) ASSERT(length(colors) == 2) - var/list/red_decoded = ReadRGB(colors[1]) - var/list/green_decoded = ReadRGB(colors[2]) + var/list/red_decoded = rgb2num(colors[1]) + var/list/green_decoded = rgb2num(colors[2]) color = list( red_decoded[1] / 255, red_decoded[2] / 255, red_decoded[3] / 255, 0, green_decoded[1] / 255, green_decoded[2] / 255, green_decoded[3] / 255, 0, @@ -630,8 +629,8 @@ ) if(COLORATION_MODE_GB_MATRIX) ASSERT(length(colors) == 2) - var/list/green_decoded = ReadRGB(colors[1]) - var/list/blue_decoded = ReadRGB(colors[2]) + var/list/green_decoded = rgb2num(colors[1]) + var/list/blue_decoded = rgb2num(colors[2]) color = list( 0, 0, 0, 0, green_decoded[1] / 255, green_decoded[2] / 255, green_decoded[3] / 255, 0, @@ -640,8 +639,8 @@ ) if(COLORATION_MODE_RB_MATRIX) ASSERT(length(colors) == 2) - var/list/red_decoded = ReadRGB(colors[1]) - var/list/blue_decoded = ReadRGB(colors[2]) + var/list/red_decoded = rgb2num(colors[1]) + var/list/blue_decoded = rgb2num(colors[2]) color = list( red_decoded[1] / 255, red_decoded[2] / 255, red_decoded[3] / 255, 0, 0, 0, 0, 0, @@ -650,9 +649,9 @@ ) if(COLORATION_MODE_RGB_MATRIX) ASSERT(length(colors) == 3) - var/list/red_decoded = ReadRGB(colors[1]) - var/list/green_decoded = ReadRGB(colors[2]) - var/list/blue_decoded = ReadRGB(colors[3]) + var/list/red_decoded = rgb2num(colors[1]) + var/list/green_decoded = rgb2num(colors[2]) + var/list/blue_decoded = rgb2num(colors[3]) color = list( red_decoded[1] / 255, red_decoded[2] / 255, red_decoded[3] / 255, 0, green_decoded[1] / 255, green_decoded[2] / 255, green_decoded[3] / 255, 0, @@ -1059,7 +1058,7 @@ if(OBJ_UNDERFLOOR_IF_CREATED_UNCOVERED, OBJ_UNDERFLOOR_UNLESS_PLACED_ONTOP) var/turf/where_we_are = loc if(istype(where_we_are) && where_we_are.hides_underfloor_objects()) - new_value = OBJ_UNDERFLOOR_ALWAYS + new_value = OBJ_UNDERFLOOR_INACTIVE else new_value = OBJ_UNDERFLOOR_NEVER hides_underfloor = new_value @@ -1068,7 +1067,7 @@ /** * called to inform us we should / shouldn't be underfloor * - * * this must be idempotent. we can get called at will by reconsider_hiding_underfloor() as we do not track if we are currently underfloor. + * * this must be idempotent. we can get called at will by reconsider_hiding_underfloor(). * * we are assumed to not be underfloor when we are first made * * that means this is called during Initialize() if and only if we need to be hiding underfloor */ @@ -1077,20 +1076,29 @@ invisibility = new_value? (hides_underfloor_invisibility_abstract? INVISIBILITY_ABSTRACT : INVISIBILITY_UNDERFLOOR) : 0 if(hides_underfloor_update_icon) update_icon() + if(hides_underfloor != OBJ_UNDERFLOOR_NEVER) + hides_underfloor = new_value ? OBJ_UNDERFLOOR_ACTIVE : OBJ_UNDERFLOOR_INACTIVE return TRUE /** - * **guesses** if we're hidden underfloor - * this is not the actual state! + * Checks if we will hide underfloor if covered + * + * * Only valid after Initialize(). */ -/obj/proc/is_probably_hidden_underfloor() +/obj/proc/will_hide_underfloor() switch(hides_underfloor) - if(OBJ_UNDERFLOOR_ALWAYS) - var/turf/where_we_are = loc - return where_we_are.hides_underfloor_objects() - if(OBJ_UNDERFLOOR_NEVER) + if(OBJ_UNDERFLOOR_ACTIVE, OBJ_UNDERFLOOR_INACTIVE) + return TRUE + if(OBJ_UNDERFLOOR_UNSUPPORTED, OBJ_UNDERFLOOR_NEVER) return FALSE - return FALSE + else + CRASH("Proc will_hide_underfloor() called witohut a valid underfloor value. Are you calling it too early in init?") + +/** + * Checks if we're hiding underfloor + */ +/obj/proc/is_hidden_underfloor() + return hides_underfloor == OBJ_UNDERFLOOR_ACTIVE /** * called at init @@ -1105,15 +1113,18 @@ var/hide_anyways = (hides_underfloor == OBJ_UNDERFLOOR_UNLESS_PLACED_ONTOP) && mapload var/we_are_hidden = where_we_are?.hides_underfloor_objects() if(istype(where_we_are) && (hide_anyways || !we_are_hidden)) - hides_underfloor = OBJ_UNDERFLOOR_ALWAYS if(!mapload && we_are_hidden) update_hiding_underfloor(TRUE) + else + hides_underfloor = OBJ_UNDERFLOOR_INACTIVE else hides_underfloor = OBJ_UNDERFLOOR_NEVER - if(OBJ_UNDERFLOOR_ALWAYS) + if(OBJ_UNDERFLOOR_ACTIVE, OBJ_UNDERFLOOR_INACTIVE) var/turf/where_we_are = loc if(!mapload && istype(where_we_are) && where_we_are.hides_underfloor_objects()) update_hiding_underfloor(TRUE) + else + hides_underfloor = OBJ_UNDERFLOOR_INACTIVE /** * called to re-call update_hiding_underfloor @@ -1122,13 +1133,13 @@ var/turf/where_we_are = loc var/turf_will_cover = istype(where_we_are) && where_we_are.hides_underfloor_objects() switch(hides_underfloor) - if(OBJ_UNDERFLOOR_ALWAYS) + if(OBJ_UNDERFLOOR_INACTIVE, OBJ_UNDERFLOOR_ACTIVE) update_hiding_underfloor(turf_will_cover) if(OBJ_UNDERFLOOR_NEVER) update_hiding_underfloor(FALSE) else // we're way beyond initialize, so.. - hides_underfloor = OBJ_UNDERFLOOR_DISABLED + hides_underfloor = OBJ_UNDERFLOOR_UNSUPPORTED //* VV hooks *// diff --git a/code/game/objects/random/maintenance.dm b/code/game/objects/random/maintenance.dm index a2613ba2563f..244aa5293f50 100644 --- a/code/game/objects/random/maintenance.dm +++ b/code/game/objects/random/maintenance.dm @@ -97,7 +97,7 @@ something, make sure it's not in one of the other lists.*/ prob(4);/obj/item/clothing/under/color/grey, prob(2);/obj/item/clothing/under/syndicate/tacticool, prob(2);/obj/item/clothing/under/pants/camo, - prob(1);/obj/item/clothing/under/harness, + prob(1);/obj/item/clothing/under/gear_harness, prob(1);/obj/item/clothing/under/tactical, prob(3);/obj/item/clothing/accessory/storage/webbing, prob(3);/obj/item/camera_assembly, diff --git a/code/game/objects/structures/barricade.dm b/code/game/objects/structures/barricade.dm index e490a2965fa4..e34557966bd6 100644 --- a/code/game/objects/structures/barricade.dm +++ b/code/game/objects/structures/barricade.dm @@ -13,7 +13,12 @@ /obj/structure/barricade/Initialize(mapload, datum/prototype/material/material_like) if(!isnull(material_like)) - set_primary_material(RSmaterials.fetch(material_like)) + var/resolved_material = RSmaterials.fetch_or_defer(material_like) + switch(resolved_material) + if(REPOSITORY_FETCH_DEFER) + // todo: handle + else + set_primary_material(resolved_material) return ..() /obj/structure/barricade/update_material_single(datum/prototype/material/material) diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index e014dc527dfc..76d39175bc39 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -200,6 +200,7 @@ /obj/structure/bonfire/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() if(burning) var/state @@ -373,6 +374,7 @@ /obj/structure/fireplace/update_icon() cut_overlays() + . = ..() if(burning) var/state switch(get_fuel_amount()) diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index 3c7e21c9f3a4..45a93625c590 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -46,6 +46,7 @@ /obj/structure/coatrack/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat)) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index 230c31e311ca..e503fe23d88e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -82,7 +82,7 @@ /obj/item/mining_scanner, /obj/item/gps/mining, /obj/item/survivalcapsule, - /obj/item/clothing/glasses/material, + /obj/item/clothing/glasses/meson, /obj/item/clothing/suit/storage/hooded/miner, /obj/item/clothing/suit/storage/hooded/wintercoat/miner, /obj/item/clothing/shoes/boots/winter/mining, 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 674f9ece5426..cdf9ffa818d5 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -145,7 +145,7 @@ /obj/item/radio/headset/heads/cmo, /obj/item/radio/headset/heads/cmo/alt, /obj/item/flash, - /obj/item/storage/hypokit/advanced/cmo, + /obj/item/storage/hypokit/advanced/cmo/full/loaded, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/cmo, /obj/item/clothing/shoes/boots/winter/medical, /obj/item/storage/box/freezer, diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index e5eac07358da..fed77c914bf3 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -564,7 +564,7 @@ starts_with = list( /obj/item/stack/material/plasteel = 10, - /obj/fiftyspawner/steel = 5, + /obj/item/stack/material/steel/full_stack = 5, /obj/fiftyspawner/glass = 4, /obj/item/cell/high = 4, /obj/item/stack/cable_coil = 2, diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 994b2e183976..09a66d6890bd 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -180,6 +180,7 @@ return /obj/structure/fireaxecabinet/update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers + . = ..() hasaxe = 0 if(fireaxe) hasaxe = 1 diff --git a/code/game/objects/structures/flora/trees.dm b/code/game/objects/structures/flora/trees.dm index fe7ac42a99f0..c7e74d35019d 100644 --- a/code/game/objects/structures/flora/trees.dm +++ b/code/game/objects/structures/flora/trees.dm @@ -18,14 +18,15 @@ /obj/structure/flora/tree/Initialize(mapload) icon_state = choose_icon_state() - return ..() -/obj/structure/flora/tree/update_transform() - var/matrix/M = matrix() - M.Scale(icon_scale_x, icon_scale_y) - M.Translate(0, 16*(icon_scale_y-1)) - animate(src, transform = M, time = 10) +/obj/structure/flora/tree/apply_transform(matrix/to_apply) + animate(src, transform = to_apply, time = 1 SECONDS) + +/obj/structure/flora/tree/base_transform(matrix/applying) + var/matrix/base_matrix = ..() + base_matrix.Translate(0, 16 * (icon_scale_y - 1)) + return base_matrix // Override this for special icons. /obj/structure/flora/tree/proc/choose_icon_state() diff --git a/code/game/objects/structures/gravemarker.dm b/code/game/objects/structures/gravemarker.dm index 57090b60c2b2..5c4305d974fc 100644 --- a/code/game/objects/structures/gravemarker.dm +++ b/code/game/objects/structures/gravemarker.dm @@ -28,7 +28,7 @@ if(!material) qdel(src) return - add_atom_colour(material.icon_colour, FIXED_COLOUR_PRIORITY) + add_atom_color(material.icon_colour) /obj/structure/gravemarker/examine(mob/user, dist) . = ..() diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm index 929746bae3fb..981c8140a1f8 100644 --- a/code/game/objects/structures/loot_piles.dm +++ b/code/game/objects/structures/loot_piles.dm @@ -192,7 +192,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/clothing/under/color/grey, /obj/item/clothing/under/syndicate/tacticool, /obj/item/clothing/under/pants/camo, - /obj/item/clothing/under/harness, + /obj/item/clothing/under/gear_harness, /obj/item/clothing/accessory/storage/webbing, /obj/item/spacecash/c1, /obj/item/spacecash/c10, @@ -313,7 +313,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/storage/box/ids, /obj/item/storage/box/mousetraps, /obj/item/storage/box/syringes, - /obj/item/storage/box/survival, + /obj/item/storage/box/legacy_survival, /obj/item/storage/box/gloves, /obj/item/storage/box/PDAs ) diff --git a/code/game/objects/structures/low_wall.dm b/code/game/objects/structures/low_wall.dm index e3419164af54..e3d4b324711c 100644 --- a/code/game/objects/structures/low_wall.dm +++ b/code/game/objects/structures/low_wall.dm @@ -48,9 +48,14 @@ GLOBAL_LIST_INIT(wallframe_typecache, typecacheof(list( paint_color = COLOR_WALL_GUNMETAL stripe_color = COLOR_WALL_GUNMETAL -/obj/structure/wall_frame/Initialize(mapload, material) - if(!isnull(material)) - set_primary_material(RSmaterials.fetch(material)) +/obj/structure/wall_frame/Initialize(mapload, datum/prototype/material/material_like) + if(!isnull(material_like)) + var/resolved_material = RSmaterials.fetch_or_defer(material_like) + switch(resolved_material) + if(REPOSITORY_FETCH_DEFER) + // todo: handle + else + set_primary_material(resolved_material) . = ..() update_overlays() diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 9a710c58a5f2..0bc1d2b3538c 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -1,40 +1,52 @@ +#define MAX_NOTICES 8 + /obj/structure/noticeboard name = "notice board" desc = "A board for pinning important notices upon." icon = 'icons/obj/stationobjs.dmi' - icon_state = "nboard00" - density = 0 - anchored = 1 + icon_state = "noticeboard" + density = FALSE + anchored = TRUE + integrity_max = 150 + /// Current number of a pinned notices var/notices = 0 /obj/structure/noticeboard/Initialize(mapload, dir, building = FALSE) + . = ..() + if(building) pixel_x = (dir & 3)? 0 : (dir == 4 ? -32 : 32) pixel_y = (dir & 3)? (dir ==1 ? -27 : 27) : 0 - update_icon() - if(mapload) - for(var/obj/item/I in loc) - if(notices > 4) - break - if(istype(I, /obj/item/paper)) - I.forceMove(src) - notices++ - icon_state = "nboard0[notices]" - . = ..() + update_appearance(UPDATE_ICON) + + if(!mapload) + return + + for(var/obj/item/I in loc) + if(notices > MAX_NOTICES) + break + if(istype(I, /obj/item/paper)) + I.forceMove(src) + notices++ + update_appearance(UPDATE_ICON) //attaching papers!! -/obj/structure/noticeboard/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/paper)) - if(notices < 5) - if(!user.attempt_insert_item_for_installation(O, src)) +/obj/structure/noticeboard/attackby(obj/item/O, mob/user, params) + if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo)) + if(!allowed(user)) + to_chat(user, SPAN_WARNING("You are not authorized to add notices!")) + return + if(notices < MAX_NOTICES) + if(!user.transfer_item_to_loc(O, src)) return - O.add_fingerprint(user) - add_fingerprint(user) notices++ - icon_state = "nboard0[notices]" //update sprite - to_chat(user, "You pin the paper to the noticeboard.") + update_appearance(UPDATE_ICON) + to_chat(user, SPAN_NOTICE("You pin the [O] to the noticeboard.")) else - to_chat(user, "You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.") + to_chat(user, SPAN_WARNING("The notice board is full!")) + // else + // return ..() + if(O.is_wrench()) to_chat(user, "You start to unwrench the noticeboard.") playsound(src.loc, O.tool_sound, 50, 1) @@ -43,52 +55,77 @@ new /obj/item/frame/noticeboard( src.loc ) qdel(src) -/obj/structure/noticeboard/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) - user.do_examinate(src) - -// Since Topic() never seems to interact with usr on more than a superficial -// level, it should be fine to let anyone mess with the board other than ghosts. -/obj/structure/noticeboard/examine(mob/user, dist) //why the fuck is this shit on examine - if(!user) - user = usr - if(user.Adjacent(src)) - var/dat = "Noticeboard
" - for(var/obj/item/paper/P in src) - dat += "[P.name] Write Remove
" - user << browse("Notices[dat]","window=noticeboard") - onclose(user, "noticeboard") +/obj/structure/noticeboard/ui_state(mob/user) + return GLOB.physical_state + +/obj/structure/noticeboard/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "NoticeBoard", name) + ui.open() + +/obj/structure/noticeboard/ui_data(mob/user) + var/list/data = list() + data["allowed"] = allowed(user) + data["items"] = list() + for(var/obj/item/content in contents) + var/list/content_data = list( + name = content.name, + ref = REF(content) + ) + data["items"] += list(content_data) + return data + +/obj/structure/noticeboard/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + + var/obj/item/item = locate(params["ref"]) in contents + if(!istype(item) || item.loc != src) + return + + var/mob/user = usr + + switch(action) + if("examine") + // if(istype(item, /obj/item/paper)) + // item.ui_interact(user) // not using tguipaper + // else + user.examinate(item) + return TRUE + if("remove") + if(!allowed(user)) + return + remove_item(item, user) + return TRUE + +/obj/structure/noticeboard/update_overlays() + . = ..() + if(notices) + . += "notices_[notices]" + +/** + * Removes an item from the notice board + * + * Arguments: + * * item - The item that is to be removed + * * user - The mob that is trying to get the item removed, if there is one + */ +/obj/structure/noticeboard/proc/remove_item(obj/item/item, mob/user) + item.forceMove(drop_location()) + if(user) + user.put_in_hands(item) + to_chat(user, SPAN_NOTICE("Removed from board.")) + notices-- + update_appearance(UPDATE_ICON) + +/obj/structure/noticeboard/deconstructed(disassembled = TRUE) + if(!disassembled) + new /obj/item/stack/material/wood(loc) else - ..() + new /obj/item/frame/noticeboard(loc) + for(var/obj/item/content in contents) + remove_item(content) -/obj/structure/noticeboard/Topic(href, href_list) - ..() - usr.set_machine(src) - if(href_list["remove"]) - if((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open - return - var/obj/item/P = locate(href_list["remove"]) - if(P && P.loc == src) - P.loc = get_turf(src) //dump paper on the floor because you're a clumsy fuck - P.add_fingerprint(usr) - add_fingerprint(usr) - notices-- - icon_state = "nboard0[notices]" - if(href_list["write"]) - if((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open - return - var/obj/item/P = locate(href_list["write"]) - if((P && P.loc == src)) //ifthe paper's on the board - var/mob/living/M = usr - if(istype(M)) - var/obj/item/pen/E = M.get_held_item_of_type(/obj/item/pen) - if(E) - add_fingerprint(M) - P.attackby(E, usr) - else - to_chat(M, "You'll need something to write with!") - if(href_list["read"]) - var/obj/item/paper/P = locate(href_list["read"]) - if((P && P.loc == src)) - usr << browse("[P.name][P.info]", "window=[P.name]") - onclose(usr, "[P.name]") - return +#undef MAX_NOTICES diff --git a/code/game/objects/structures/props/puzzledoor.dm b/code/game/objects/structures/props/puzzledoor.dm index 66c6b1736827..a73e4cd16311 100644 --- a/code/game/objects/structures/props/puzzledoor.dm +++ b/code/game/objects/structures/props/puzzledoor.dm @@ -36,7 +36,7 @@ /obj/machinery/door/blast/puzzle/Initialize(mapload) . = ..() - implicit_material = RSmaterials.fetch(/datum/prototype/material/alienalloy/dungeonium) + implicit_material = RSmaterials.fetch_local_or_throw(/datum/prototype/material/alienalloy/dungeonium) if(locks.len) return var/check_range = world.view * checkrange_mult diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm index e988470c54cd..6ce56654f822 100644 --- a/code/game/objects/structures/railing.dm +++ b/code/game/objects/structures/railing.dm @@ -93,10 +93,11 @@ R.update_icon(UpdateNeighbors = FALSE) /obj/structure/railing/update_icon(updates, UpdateNeighbors = TRUE) - NeighborsCheck(UpdateNeighbors) //layer = (dir == SOUTH) ? FLY_LAYER : initial(layer) // wtf does this even do cut_overlays() + . = ..() + NeighborsCheck(UpdateNeighbors) if (!check || !anchored)//|| !anchored icon_state = "railing0" else diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 7f4641ea6de5..b1e99b3a065f 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -48,27 +48,24 @@ FLOOR SAFES return 1 return 0 - /obj/structure/safe/proc/decrement(num) num -= 1 if(num < 0) num = 71 return num - /obj/structure/safe/proc/increment(num) num += 1 if(num > 71) num = 0 return num - -/obj/structure/safe/update_icon() +/obj/structure/safe/update_icon_state() if(open) icon_state = "[initial(icon_state)]-open" else icon_state = initial(icon_state) - + return ..() /obj/structure/safe/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) user.set_machine(src) diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index 273b68e575f6..5fd867f87ef6 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -15,9 +15,14 @@ var/isSwitchingStates = 0 var/oreAmount = 7 -/obj/structure/simple_door/Initialize(mapload, material) - if(!isnull(material)) - set_primary_material(RSmaterials.fetch(material)) +/obj/structure/simple_door/Initialize(mapload, datum/prototype/material/material_like) + if(!isnull(material_like)) + var/resolved_material = RSmaterials.fetch_or_defer(material_like) + switch(resolved_material) + if(REPOSITORY_FETCH_DEFER) + // todo: handle + else + set_primary_material(resolved_material) return ..() /obj/structure/simple_door/update_material_single(datum/prototype/material/material) @@ -112,7 +117,7 @@ isSwitchingStates = 0 update_nearby_tiles() -/obj/structure/simple_door/update_icon() +/obj/structure/simple_door/update_icon_state() var/datum/prototype/material/material = get_primary_material() if(isnull(material)) icon_state = state? "open" : "closed" @@ -121,6 +126,7 @@ icon_state = "[material.door_icon_base]open" else icon_state = material.door_icon_base + return ..() /obj/structure/simple_door/attackby(obj/item/W as obj, mob/user as mob) if(user.a_intent == INTENT_HARM) diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index d9e4a6b18fd1..b93d37331691 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -10,9 +10,6 @@ integrity = 100 integrity_max = 100 -/obj/structure/bed/nest/update_icon() - return - /obj/structure/bed/nest/mob_resist_buckle(mob/M, semantic) . = ..() if(!.) diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 091b68b8b811..5c2b92fff456 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -7,6 +7,7 @@ /* * Beds */ +// todo: /bed/material, same with chairs, same with tables, etc, because what the fuck is going on /obj/structure/bed name = "bed" desc = "This is used to lie in, sleep in or strap on." @@ -19,15 +20,19 @@ pass_flags_self = ATOM_PASS_TABLE | ATOM_PASS_OVERHEAD_THROW buckle_dir = SOUTH buckle_lying = 90 + + // todo: what a dumpster fire, unfuck / fully abstract this using new API, + // or get rid of it. wtf. var/datum/prototype/material/material var/datum/prototype/material/padding_material var/base_icon = "bed" var/material_color = 1 var/can_buckle = TRUE + var/legacy_do_not_use_material = FALSE /obj/structure/bed/Initialize(mapload, new_material, new_padding_material) . = ..(mapload) - remove_atom_colour(FIXED_COLOUR_PRIORITY) + remove_atom_color() if(!new_material) new_material = MAT_STEEL material = get_material_by_name(new_material) @@ -40,9 +45,12 @@ // Reuse the cache/code from stools, todo maybe unify. /obj/structure/bed/update_icon() + if(!material || legacy_do_not_use_material) + return ..() + cut_overlays() + . = ..() // Prep icon. icon_state = "" - cut_overlays() var/list/overlays_to_add = list() // Base icon. var/cache_key = "[base_icon]-[material.name]" @@ -189,10 +197,15 @@ base_icon_state = "rollerbed" anchored = FALSE surgery_odds = 75 + legacy_do_not_use_material = TRUE var/bedtype = /obj/structure/bed/roller var/rollertype = /obj/item/roller +/obj/structure/bed/roller/Initialize(mapload, new_material, new_padding_material) + . = ..() + material = null + /obj/structure/bed/roller/adv name = "advanced roller bed" icon_state = "rollerbedadv" @@ -232,9 +245,6 @@ for(var/mob/M in old_buckled) buckle_mob(M, BUCKLE_OP_FORCE) -/obj/structure/bed/roller/update_icon() - return - /obj/structure/bed/roller/attackby(obj/item/W as obj, mob/user as mob) if(W.is_wrench() || istype(W,/obj/item/stack) || W.is_wirecutter()) return @@ -375,8 +385,5 @@ icon = 'icons/obj/abductor.dmi' icon_state = "bed" -/obj/structure/bed/alien/update_icon() - return // Doesn't care about material or anything else. - /obj/structure/bed/alien/attackby(obj/item/W, mob/user) return // No deconning. diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm index 766492532319..30843bdca39f 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm @@ -42,6 +42,7 @@ // Baystation12 chairs with their larger update_icons proc /obj/structure/bed/chair/bay/update_icon() + // todo: this should call parent // Strings. desc = initial(desc) if(padding_material) diff --git a/code/game/objects/structures/tables/defense.dm b/code/game/objects/structures/tables/defense.dm index 856ffe96aece..4c02505208ed 100644 --- a/code/game/objects/structures/tables/defense.dm +++ b/code/game/objects/structures/tables/defense.dm @@ -9,11 +9,11 @@ new carpeted_type(where) else if(prob(20)) - material_reinforcing.place_sheet(where, 1) + material_reinforcing?.place_sheet(where, 1) else material_reinforcing?.place_shard(where) if(prob(20)) - material_base.place_sheet(where, 1) + material_base?.place_sheet(where, 1) else material_base?.place_shard(where) new /obj/item/stack/rods(where, 2) diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm index 7532fc01b19c..eab27406c2ca 100644 --- a/code/game/objects/structures/trash_pile.dm +++ b/code/game/objects/structures/trash_pile.dm @@ -202,7 +202,7 @@ prob(1);/obj/item/clothing/shoes/syndigaloshes, prob(1);/obj/item/clothing/suit/bio_suit/general, prob(1);/obj/item/clothing/suit/space/emergency, - prob(1);/obj/item/clothing/under/harness, + prob(1);/obj/item/clothing/under/gear_harness, prob(1);/obj/item/clothing/under/tactical, prob(1);/obj/item/clothing/suit/armor/material/makeshift, prob(1);/obj/item/flashlight/glowstick/orange, diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index e9574cada346..d22ccb6841c6 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -41,8 +41,9 @@ open = !open update_icon() -/obj/structure/toilet/update_icon() +/obj/structure/toilet/update_icon_state() icon_state = "toilet[open][cistern]" + return ..() /obj/structure/toilet/attackby(obj/item/I as obj, mob/living/user as mob) if(I.is_crowbar()) @@ -202,6 +203,7 @@ /obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up cut_overlays() //once it's been on for a while, in addition to handling the water overlay. + . = ..() if(mymist) qdel(mymist) mymist = null diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index c5c1968e6ae9..9e55a20c5805 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -48,12 +48,13 @@ update_nearby_tiles() /obj/structure/windoor_assembly/Destroy() - density = 0 + set_density(FALSE) update_nearby_tiles() - ..() + return ..() -/obj/structure/windoor_assembly/update_icon() +/obj/structure/windoor_assembly/update_icon_state() icon_state = "[facing]_[secure]windoor_assembly[state]" + return ..() /obj/structure/windoor_assembly/CanAllowThrough(atom/movable/mover, turf/target) if(!(get_dir(loc, mover) & dir)) diff --git a/code/game/objects/systems/storage/storage-filters.dm b/code/game/objects/systems/storage/storage-filters.dm new file mode 100644 index 000000000000..57e1d2bc088b --- /dev/null +++ b/code/game/objects/systems/storage/storage-filters.dm @@ -0,0 +1,29 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/datum/object_system/storage/proc/check_insertion_filters(obj/item/candidate) + if(insertion_allow_typecache?[candidate.type]) + return TRUE + if(!isnull(insertion_whitelist_typecache) && !insertion_whitelist_typecache?[candidate.type]) + return FALSE + if(insertion_blacklist_typecache?[candidate.type]) + return FALSE + return TRUE + +/datum/object_system/storage/proc/set_insertion_whitelist(list/types) + if(!length(types)) + src.insertion_whitelist_typecache = null + return + src.insertion_whitelist_typecache = cached_typecacheof(types) + +/datum/object_system/storage/proc/set_insertion_blacklist(list/types) + if(!length(types)) + src.insertion_blacklist_typecache = null + return + src.insertion_blacklist_typecache = cached_typecacheof(types) + +/datum/object_system/storage/proc/set_insertion_allow(list/types) + if(!length(types)) + src.insertion_allow_typecache = null + return + src.insertion_allow_typecache = cached_typecacheof(types) diff --git a/code/game/objects/systems/storage/storage-indirection.dm b/code/game/objects/systems/storage/storage-indirection.dm new file mode 100644 index 000000000000..ab0652c02ee9 --- /dev/null +++ b/code/game/objects/systems/storage/storage-indirection.dm @@ -0,0 +1,30 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/** + * **USE AT YOUR OWN PERIL** + */ +/datum/object_system/storage/proc/indirect(atom/where) + ASSERT(isnull(indirection)) + indirection = new(where, src) + +/** + * remove indirection by obliterating contents + */ +/datum/object_system/storage/proc/destructively_remove_indirection() + QDEL_NULL(indirection) + +/** + * remove indirection by moving contents + */ +/datum/object_system/storage/proc/relocate_remove_indirection(atom/where_to) + ASSERT(!isnull(where_to) && where_to != indirection) + for(var/atom/movable/AM as anything in indirection) + AM.forceMove(where_to) + QDEL_NULL(indirection) + +/** + * move indirection somewhere else + */ +/datum/object_system/storage/proc/move_indirection_to(atom/where_to) + indirection.forceMove(where_to) diff --git a/code/game/objects/systems/storage/storage-indirection_holder.dm b/code/game/objects/systems/storage/storage-indirection_holder.dm new file mode 100644 index 000000000000..ba0c1738ea04 --- /dev/null +++ b/code/game/objects/systems/storage/storage-indirection_holder.dm @@ -0,0 +1,46 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +/atom/movable/storage_indirection + atom_flags = ATOM_ABSTRACT + + /// owner + var/datum/object_system/storage/parent + +/atom/movable/storage_indirection/Initialize(mapload, datum/object_system/storage/parent) + src.parent = parent + return ..() + +/atom/movable/storage_indirection/Destroy() + if(src.parent.indirection == src) + src.parent.indirection = null + src.parent = null + return ..() + +/atom/movable/storage_indirection/CanReachIn(atom/movable/mover, atom/target, obj/item/tool, list/cache) + return TRUE + +/atom/movable/storage_indirection/CanReachOut(atom/movable/mover, atom/target, obj/item/tool, list/cache) + return TRUE + +/atom/movable/storage_indirection/Exited(atom/movable/AM, atom/newLoc) + . = ..() + if(isitem(AM)) + parent.on_item_exited(AM) + +/atom/movable/storage_indirection/Entered(atom/movable/AM, atom/oldLoc) + . = ..() + if(isitem(AM)) + parent.on_item_entered(AM) + +/atom/movable/storage_indirection/on_contents_weight_class_change(obj/item/item, old_weight_class, new_weight_class) + parent.on_contents_weight_class_change(item, old_weight_class, new_weight_class) + +/atom/movable/storage_indirection/on_contents_weight_volume_change(obj/item/item, old_weight_volume, new_weight_volume) + parent.on_contents_weight_volume_change(item, old_weight_volume, new_weight_volume) + +/atom/movable/storage_indirection/on_contents_weight_change(obj/item/item, old_weight, new_weight) + parent.on_contents_weight_change(item, old_weight, new_weight) + +/atom/movable/storage_indirection/on_contents_item_new(obj/item/item) + parent.on_contents_item_new(item) diff --git a/code/game/objects/systems/storage/storage-limits.dm b/code/game/objects/systems/storage/storage-limits.dm new file mode 100644 index 000000000000..798af8ca35d5 --- /dev/null +++ b/code/game/objects/systems/storage/storage-limits.dm @@ -0,0 +1,34 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +// todo: return a STORAGE_INSERTION_CHECK_RESULT_* or something to that accord, instead of having two procs + +/datum/object_system/storage/proc/check_insertion_limits(obj/item/candidate) + var/atom/movable/indirection = real_contents_loc() + if(!isnull(max_items) && length(indirection.contents) > max_items) + return FALSE + if(!isnull(max_combined_volume) && (cached_combined_volume + candidate.get_weight_volume() > max_combined_volume)) + return FALSE + var/their_weight_class = candidate.get_weight_class() + if(!isnull(max_single_weight_class) && (their_weight_class > max_single_weight_class)) + return FALSE + if(!isnull(max_combined_weight_class) && (cached_combined_weight_class + their_weight_class > max_combined_weight_class)) + return FALSE + if(candidate.obj_storage && (candidate.w_class >= parent.w_class) && disallow_equal_weight_class_storage_nesting) + return FALSE + return TRUE + +/datum/object_system/storage/proc/why_failed_insertion_limits(obj/item/candidate) + var/atom/movable/indirection = real_contents_loc() + if(!isnull(max_items) && length(indirection.contents) > max_items) + return "too many items" + if(!isnull(max_combined_volume) && (cached_combined_volume + candidate.get_weight_volume() > max_combined_volume)) + return "insufficient volume" + var/their_weight_class = candidate.get_weight_class() + if(!isnull(max_single_weight_class) && (their_weight_class > max_single_weight_class)) + return "too large" + if(!isnull(max_combined_weight_class) && (cached_combined_weight_class + their_weight_class > max_combined_weight_class)) + return "insufficient space" + if(candidate.obj_storage && (candidate.w_class >= parent.w_class) && disallow_equal_weight_class_storage_nesting) + return "can't nest storage" + return null diff --git a/code/game/objects/systems/storage/storage-ui.dm b/code/game/objects/systems/storage/storage-ui.dm index 76d987239ff9..a06a3a0dd64e 100644 --- a/code/game/objects/systems/storage/storage-ui.dm +++ b/code/game/objects/systems/storage/storage-ui.dm @@ -1,6 +1,13 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2024 Citadel Station Developers *// +//* Helper Datums *// + +/** + * Holds an object to render along with the amount. + * + * * This does hard-ref the rendered object for ease of use. Since UI is re-rendered on removals, this should be fine. + */ /datum/storage_numerical_display var/obj/item/rendered_object var/amount @@ -11,3 +18,251 @@ /proc/cmp_storage_numerical_displays_name_asc(datum/storage_numerical_display/A, datum/storage_numerical_display/B) return sorttext(B.rendered_object.name, A.rendered_object.name) || sorttext(B.rendered_object.type, A.rendered_object.type) + +//* UI Render Filters *// + +/** + * Do not modify the returned appearances; they might be real instances! + * + * @return list(/datum/storage_numerical_display instance, ...) + */ +/datum/object_system/storage/proc/render_numerical_display(list/obj/item/for_items) + RETURN_TYPE(/list) + . = list() + var/list/types = list() + for(var/obj/item/iterating in (for_items || real_contents_loc())) + var/datum/storage_numerical_display/collation + if(isnull(types[iterating.type])) + collation = new + collation.rendered_object = iterating + collation.amount = 0 + . += collation + types[iterating.type] = collation + collation = types[iterating.type] + ++collation.amount + tim_sort(., /proc/cmp_storage_numerical_displays_name_asc) + +//* UI Rendering *// + +// todo: refactor a bit? this is a little messy + +/datum/object_system/storage/proc/ui_queue_refresh() + if(ui_refresh_queued) + return + ui_refresh_queued = TRUE + addtimer(CALLBACK(src, PROC_REF(refresh)), 0) + +/datum/object_system/storage/proc/cleanup_ui(mob/user) + var/list/objects = ui_by_mob[user] + user.client?.screen -= objects + QDEL_LIST(objects) + ui_by_mob -= user + +/** + * we assume that the display style didn't change. + */ +/datum/object_system/storage/proc/refresh_ui(mob/user) + // for now, we just do a full redraw. + cleanup_ui(user) + create_ui(user) + +/datum/object_system/storage/proc/create_ui(mob/user) + var/uses_volumetric_ui = uses_volumetric_ui() + var/list/atom/movable/screen/storage/objects + if(uses_volumetric_ui) + objects += create_ui_volumetric_mode(user) + else + objects += create_ui_slot_mode(user) + LAZYINITLIST(ui_by_mob) + ui_by_mob[user] = objects + user.client?.screen += objects + +/** + * this should not rely on uses_numerical_ui() + */ +/datum/object_system/storage/proc/uses_volumetric_ui() + return max_combined_volume && !ui_numerical_mode && !ui_force_slot_mode + +/** + * this should not rely on uses_volumetric_ui() + */ +/datum/object_system/storage/proc/uses_numerical_ui() + return ui_numerical_mode + +/datum/object_system/storage/proc/create_ui_slot_mode(mob/user) + . = list() + var/atom/movable/screen/storage/closer/closer = new + . += closer + var/atom/movable/screen/storage/panel/slot/boxes/boxes = new + . += boxes + // todo: clientless support is awful here + var/list/decoded_view = decode_view_size(user.client?.view || world.view) + var/view_x = decoded_view[1] + // clamp to max items if needed + var/rendering_width = STORAGE_UI_TILES_FOR_SCREEN_VIEW_X(view_x) + if(max_items) + rendering_width = min(max_items, rendering_width) + // see if we need to process numerical display + var/list/datum/storage_numerical_display/numerical_rendered = uses_numerical_ui()? render_numerical_display() : null + // process indirection + var/atom/indirection = real_contents_loc() + // if we have expand when needed, only show 1 more than the actual amount. + if(ui_expand_when_needed) + rendering_width = min(rendering_width, (isnull(numerical_rendered)? length(indirection.contents) : length(numerical_rendered)) + 1) + // compute count and rows + var/item_count = isnull(numerical_rendered)? length(indirection.contents) : length(numerical_rendered) + var/rows_needed = ROUND_UP(item_count / rendering_width) || 1 + // prepare iteration + var/current_row = 1 + var/current_column = 1 + // render boxes + boxes.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X],BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y] to \ + LEFT+[STORAGE_UI_START_TILE_X + rendering_width - 1]:[STORAGE_UI_START_PIXEL_X],BOTTOM+[STORAGE_UI_START_TILE_Y + rows_needed - 1]:[STORAGE_UI_START_PIXEL_Y]" + // render closer + closer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X + rendering_width]:[STORAGE_UI_START_PIXEL_X],BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y]" + // render items + if(islist(numerical_rendered)) + for(var/datum/storage_numerical_display/display as anything in numerical_rendered) + var/atom/movable/screen/storage/item/slot/renderer = new(null, display.rendered_object) + . += renderer + // render amount + display.rendered_object.maptext = MAPTEXT("[display.amount]") + // position + renderer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X + current_column - 1]:[STORAGE_UI_START_PIXEL_X],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" + // advance + ++current_column + if(current_column > rendering_width) + current_column = 1 + ++current_row + if(current_row > STORAGE_UI_MAX_ROWS) + break + else + for(var/obj/item/item in indirection) + var/atom/movable/screen/storage/item/slot/renderer = new(null, item) + . += renderer + // position + renderer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X + current_column - 1]:[STORAGE_UI_START_PIXEL_X],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" + // advance + ++current_column + if(current_column > rendering_width) + current_column = 1 + ++current_row + if(current_row > STORAGE_UI_MAX_ROWS) + break + +/datum/object_system/storage/proc/create_ui_volumetric_mode(mob/user) + // guard against divide-by-0's + if(!max_combined_volume) + return create_ui_slot_mode(user) + . = list() + + //? resolve view and rendering + // todo: clientless support is awful here + + // resolve view + var/list/decoded_view = decode_view_size(user.client?.view || world.view) + var/view_x = decoded_view[1] + // setup initial width + var/rendering_width = STORAGE_UI_TILES_FOR_SCREEN_VIEW_X(view_x) + var/rendering_width_in_pixels = rendering_width * 32 + // effective max scales up if we're overrunning + var/effective_max_volume = max(max_combined_volume, cached_combined_volume) + // scale down width to volume + rendering_width_in_pixels = min(rendering_width_in_pixels, effective_max_volume * VOLUMETRIC_STORAGE_STANDARD_PIXEL_RATIO) + + //? resolve items + + // resolve indirection + var/atom/indirection = real_contents_loc() + + //? prepare iteration + + // max x used in all rows, including padding. + var/maximum_used_width = 0 + // current consumed x of row + var/iteration_used_width = 0 + // current consumed item padding of row + var/iteration_used_padding = 0 + // current row + var/current_row = 1 + // safety + var/safety = VOLUMETRIC_STORAGE_MAX_ITEMS + // iterate and render + for(var/obj/item/item in indirection) + // check safety + safety-- + if(safety <= 0) + to_chat(user, SPAN_WARNING("Some items in this storage have been truncated for performance reasons.")) + break + + // check row + if(iteration_used_width >= rendering_width_in_pixels) + // check if we're out of rows + if(current_row >= STORAGE_UI_MAX_ROWS) + to_chat(user, SPAN_WARNING("Some items in this storage have been truncated for performance reasons.")) + break + // make another row + current_row++ + // register to maximum used width + // we add the edge padding for both edges, but remove the last item's padding. + maximum_used_width = max(maximum_used_width, iteration_used_width + iteration_used_padding + VOLUMETRIC_STORAGE_EDGE_PADDING * 2 - VOLUMETRIC_STORAGE_ITEM_PADDING) + // reset vars + iteration_used_padding = 0 + iteration_used_width = 0 + + // render the item + var/atom/movable/screen/storage/item/volumetric/renderer = new(null, item) + // scale it as necessary, to nearest multiple of 2 + var/used_pixels = max(VOLUMETRIC_STORAGE_MINIMUM_PIXELS_PER_ITEM, CEILING(rendering_width_in_pixels * (item.get_weight_volume() / effective_max_volume), 2)) + // emit to renderer + renderer.set_pixel_width(used_pixels) + // set screen loc + renderer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + (iteration_used_width + iteration_used_padding + VOLUMETRIC_STORAGE_EDGE_PADDING) + (used_pixels - VOLUMETRIC_STORAGE_BOX_ICON_SIZE) * 0.5],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" + // add to emitted screen list + . += renderer + // add to iteration tracking + iteration_used_width += used_pixels + iteration_used_padding += VOLUMETRIC_STORAGE_ITEM_PADDING + // register to maximum used width + // we add the edge padding for both edges, but remove the last item's padding. + maximum_used_width = max(maximum_used_width, iteration_used_width + iteration_used_padding + VOLUMETRIC_STORAGE_EDGE_PADDING * 2 - VOLUMETRIC_STORAGE_ITEM_PADDING) + + // now that everything's set up, we can render everything based on the solved sizes. + // middle size; we also keep in account padding so there's a smooth expansion instead of a sudden expansion at the end. + var/middle_width = max(maximum_used_width, rendering_width_in_pixels + iteration_used_padding) + // i hate byond i hate byond i hate byond i hate byond; this is because things break if we don't extend by 2 pixels + // at a time for left/right as we use a dumb transform matrix and screen loc to shift, instead of a scale and shift matrix + middle_width = CEILING(middle_width, 2) + // todo: instead of this crap we should instead have the translation matrix do the shift + var/middle_shift = round(middle_width * 0.5 - VOLUMETRIC_STORAGE_BOX_ICON_SIZE * 0.5) + // render left + var/atom/movable/screen/storage/panel/volumetric/left/p_left = new + . += p_left + p_left.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X - VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ + BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y] to \ + LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X - VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" + // render middle + var/atom/movable/screen/storage/panel/volumetric/middle/p_box = new + . += p_box + p_box.set_pixel_width(middle_width) + p_box.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_shift],\ + BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y] to \ + LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_shift],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" + // render closer on bottom + var/atom/movable/screen/storage/closer/closer = new + . += closer + closer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_width],\ + BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y]" + // render right sides above closer + if(current_row > 1) + var/atom/movable/screen/storage/panel/volumetric/right/p_right = new + . += p_right + p_right.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_width - WORLD_ICON_SIZE + VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + 1]:[STORAGE_UI_START_PIXEL_Y] to \ + LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_width - WORLD_ICON_SIZE + VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ + BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" diff --git a/code/game/objects/systems/storage/storage.dm b/code/game/objects/systems/storage/storage.dm index b921ced493b1..204b0f90876d 100644 --- a/code/game/objects/systems/storage/storage.dm +++ b/code/game/objects/systems/storage/storage.dm @@ -8,7 +8,7 @@ */ /datum/object_system/storage - //* Access + //* Access *// /// if set, limit allowable random access to first n items var/limited_random_access_stack_amount @@ -16,7 +16,7 @@ /// * top down is from end of contents list, bottom up is from start of contents list var/limited_random_access_stack_bottom_first = FALSE - //* Actions + //* Actions *// /// the action we have for mode switching gathering var/datum/action/storage_gather_mode/action_mode_switch @@ -284,7 +284,6 @@ return action_mode_switch = new(src) action_mode_switch.button_additional_only = TRUE - action_mode_switch.button_additional_overlay = parent /datum/object_system/storage/proc/grant_buttons(mob/wearer) ensure_buttons() @@ -362,6 +361,12 @@ //* Hooks *// +/** + * Hooked into obj/Moved(). + */ +/datum/object_system/storage/proc/on_parent_moved(atom/old_loc, forced) + reconsider_mob_viewable() + /datum/object_system/storage/proc/on_pickup(mob/user) grant_buttons(user) @@ -404,35 +409,6 @@ physically_insert_item(item, no_move = TRUE) ui_queue_refresh() -//* Filters *// - -/datum/object_system/storage/proc/check_insertion_filters(obj/item/candidate) - if(insertion_allow_typecache?[candidate.type]) - return TRUE - if(!isnull(insertion_whitelist_typecache) && !insertion_whitelist_typecache?[candidate.type]) - return FALSE - if(insertion_blacklist_typecache?[candidate.type]) - return FALSE - return TRUE - -/datum/object_system/storage/proc/set_insertion_whitelist(list/types) - if(!length(types)) - src.insertion_whitelist_typecache = null - return - src.insertion_whitelist_typecache = cached_typecacheof(types) - -/datum/object_system/storage/proc/set_insertion_blacklist(list/types) - if(!length(types)) - src.insertion_blacklist_typecache = null - return - src.insertion_blacklist_typecache = cached_typecacheof(types) - -/datum/object_system/storage/proc/set_insertion_allow(list/types) - if(!length(types)) - src.insertion_allow_typecache = null - return - src.insertion_allow_typecache = cached_typecacheof(types) - //* Interaction *// /** @@ -447,6 +423,8 @@ //* Insertion & Removal *// /** + * todo: refactor? + * * @return TRUE / FALSE; if true, caller should stop clickchain. */ /datum/object_system/storage/proc/auto_handle_interacted_insertion(obj/item/inserting, datum/event_args/actor/actor, silent, suppressed) @@ -477,6 +455,38 @@ ) return TRUE +/** + * Called by inventory procs; skips some checks of interacted insertion. + * + * todo: refactor? + * + * @return TRUE on success, FALSE on failure. + */ +/datum/object_system/storage/proc/auto_handle_inventory_insertion(obj/item/inserting, datum/event_args/actor/actor, silent, suppressed) + if(is_locked(actor.performer)) + actor.chat_feedback( + msg = SPAN_WARNING("[parent] is locked."), + target = parent, + ) + return TRUE + if(!actor.performer.Reachability(indirection || parent)) + return TRUE + if(!try_insert(inserting, actor, silent, suppressed)) + return TRUE + // sound + // todo: put this in interacted_insert()..? + if(!suppressed && !isnull(actor)) + if(sfx_insert) + // todo: variable sound + playsound(actor.performer, sfx_insert, 50, 1, -5) + actor.visible_feedback( + target = parent, + range = MESSAGE_RANGE_INVENTORY_SOFT, + visible = "[actor.performer] puts [inserting] into [parent].", + visible_self = "You put [inserting] into [parent]", + ) + return TRUE + /datum/object_system/storage/proc/try_insert(obj/item/inserting, datum/event_args/actor/actor, silent, suppressed, no_update) if(!can_be_inserted(inserting, actor, silent)) return FALSE @@ -633,36 +643,6 @@ //* Limits *// -/datum/object_system/storage/proc/check_insertion_limits(obj/item/candidate) - var/atom/movable/indirection = real_contents_loc() - if(!isnull(max_items) && length(indirection.contents) > max_items) - return FALSE - if(!isnull(max_combined_volume) && (cached_combined_volume + candidate.get_weight_volume() > max_combined_volume)) - return FALSE - var/their_weight_class = candidate.get_weight_class() - if(!isnull(max_single_weight_class) && (their_weight_class > max_single_weight_class)) - return FALSE - if(!isnull(max_combined_weight_class) && (cached_combined_weight_class + their_weight_class > max_combined_weight_class)) - return FALSE - if(candidate.obj_storage && (candidate.w_class >= parent.w_class) && disallow_equal_weight_class_storage_nesting) - return FALSE - return TRUE - -/datum/object_system/storage/proc/why_failed_insertion_limits(obj/item/candidate) - var/atom/movable/indirection = real_contents_loc() - if(!isnull(max_items) && length(indirection.contents) > max_items) - return "too many items" - if(!isnull(max_combined_volume) && (cached_combined_volume + candidate.get_weight_volume() > max_combined_volume)) - return "insufficient volume" - var/their_weight_class = candidate.get_weight_class() - if(!isnull(max_single_weight_class) && (their_weight_class > max_single_weight_class)) - return "too large" - if(!isnull(max_combined_weight_class) && (cached_combined_weight_class + their_weight_class > max_combined_weight_class)) - return "insufficient space" - if(candidate.obj_storage && (candidate.w_class >= parent.w_class) && disallow_equal_weight_class_storage_nesting) - return "can't nest storage" - return null - /** * generally a bad idea to call, tbh. * @@ -713,34 +693,6 @@ //* Quickdraw *// // todo: quickdraw -/* -/datum/component/storage/proc/on_alt_click(datum/source, mob/user) - if(!isliving(user) || !user.CanReach(parent)) - return - if(check_locked(source, user, TRUE)) - return TRUE - - var/atom/A = parent - if(!quickdraw) - A.add_fingerprint(user) - user_show_to_mob(user, trigger_on_found = TRUE) - if(rustle_sound) - playsound(A, "rustle", 50, 1, -5) - return TRUE - - if(user.can_hold_items() && !user.incapacitated()) - var/obj/item/I = locate() in real_location() - if(!I) - return - A.add_fingerprint(user) - remove_from_storage(I, get_turf(user)) - if(!user.put_in_hands(I)) - user.visible_message("[user] fumbles with the [parent], letting [I] fall on the floor.", \ - "You fumble with [parent], letting [I] fall on the floor.") - return TRUE - user.visible_message("[user] draws [I] from [parent]!", "You draw [I] from [parent].") - return TRUE -*/ //* Redirection *// @@ -1169,12 +1121,6 @@ parent.object_storage_closed(viewer) -/** - * Hooked into obj/Moved(). - */ -/datum/object_system/storage/proc/on_parent_moved(atom/old_loc, forced) - reconsider_mob_viewable() - /datum/object_system/storage/proc/refresh(mob/viewer) ui_refresh_queued = FALSE if(isnull(viewer)) @@ -1183,26 +1129,6 @@ return refresh_ui(viewer) -/** - * Do not modify the returned appearances; they might be real instances! - * - * @return list(/datum/storage_numerical_display instance, ...) - */ -/datum/object_system/storage/proc/render_numerical_display(list/obj/item/for_items) - RETURN_TYPE(/list) - . = list() - var/list/types = list() - for(var/obj/item/iterating in (for_items || real_contents_loc())) - var/datum/storage_numerical_display/collation - if(isnull(types[iterating.type])) - collation = new - collation.rendered_object = iterating - collation.amount = 0 - . += collation - types[iterating.type] = collation - collation = types[iterating.type] - ++collation.amount - tim_sort(., /proc/cmp_storage_numerical_displays_name_asc) /datum/object_system/storage/proc/reconsider_mob_viewable(mob/user) if(isnull(user)) @@ -1213,264 +1139,22 @@ return hide(user) -/datum/object_system/storage/proc/ui_queue_refresh() - if(ui_refresh_queued) - return - ui_refresh_queued = TRUE - addtimer(CALLBACK(src, PROC_REF(refresh)), 0) - -/datum/object_system/storage/proc/cleanup_ui(mob/user) - var/list/objects = ui_by_mob[user] - user.client?.screen -= objects - QDEL_LIST(objects) - ui_by_mob -= user - -/** - * we assume that the display style didn't change. - */ -/datum/object_system/storage/proc/refresh_ui(mob/user) - // for now, we just do a full redraw. - cleanup_ui(user) - create_ui(user) - -/datum/object_system/storage/proc/create_ui(mob/user) - var/uses_volumetric_ui = uses_volumetric_ui() - var/list/atom/movable/screen/storage/objects - if(uses_volumetric_ui) - objects += create_ui_volumetric_mode(user) - else - objects += create_ui_slot_mode(user) - LAZYINITLIST(ui_by_mob) - ui_by_mob[user] = objects - user.client?.screen += objects - -/** - * this should not rely on uses_numerical_ui() - */ -/datum/object_system/storage/proc/uses_volumetric_ui() - return max_combined_volume && !ui_numerical_mode && !ui_force_slot_mode - -/** - * this should not rely on uses_volumetric_ui() - */ -/datum/object_system/storage/proc/uses_numerical_ui() - return ui_numerical_mode - -/datum/object_system/storage/proc/create_ui_slot_mode(mob/user) - . = list() - var/atom/movable/screen/storage/closer/closer = new - . += closer - var/atom/movable/screen/storage/panel/slot/boxes/boxes = new - . += boxes - // todo: clientless support is awful here - var/list/decoded_view = decode_view_size(user.client?.view || world.view) - var/view_x = decoded_view[1] - // clamp to max items if needed - var/rendering_width = STORAGE_UI_TILES_FOR_SCREEN_VIEW_X(view_x) - if(max_items) - rendering_width = min(max_items, rendering_width) - // see if we need to process numerical display - var/list/datum/storage_numerical_display/numerical_rendered = uses_numerical_ui()? render_numerical_display() : null - // process indirection - var/atom/indirection = real_contents_loc() - // if we have expand when needed, only show 1 more than the actual amount. - if(ui_expand_when_needed) - rendering_width = min(rendering_width, (isnull(numerical_rendered)? length(indirection.contents) : length(numerical_rendered)) + 1) - // compute count and rows - var/item_count = isnull(numerical_rendered)? length(indirection.contents) : length(numerical_rendered) - var/rows_needed = ROUND_UP(item_count / rendering_width) || 1 - // prepare iteration - var/current_row = 1 - var/current_column = 1 - // render boxes - boxes.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X],BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y] to \ - LEFT+[STORAGE_UI_START_TILE_X + rendering_width - 1]:[STORAGE_UI_START_PIXEL_X],BOTTOM+[STORAGE_UI_START_TILE_Y + rows_needed - 1]:[STORAGE_UI_START_PIXEL_Y]" - // render closer - closer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X + rendering_width]:[STORAGE_UI_START_PIXEL_X],BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y]" - // render items - if(islist(numerical_rendered)) - for(var/datum/storage_numerical_display/display as anything in numerical_rendered) - var/atom/movable/screen/storage/item/slot/renderer = new(null, display.rendered_object) - . += renderer - // render amount - display.rendered_object.maptext = MAPTEXT("[display.amount]") - // position - renderer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X + current_column - 1]:[STORAGE_UI_START_PIXEL_X],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" - // advance - ++current_column - if(current_column > rendering_width) - current_column = 1 - ++current_row - if(current_row > STORAGE_UI_MAX_ROWS) - break - else - for(var/obj/item/item in indirection) - var/atom/movable/screen/storage/item/slot/renderer = new(null, item) - . += renderer - // position - renderer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X + current_column - 1]:[STORAGE_UI_START_PIXEL_X],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" - // advance - ++current_column - if(current_column > rendering_width) - current_column = 1 - ++current_row - if(current_row > STORAGE_UI_MAX_ROWS) - break - -/datum/object_system/storage/proc/create_ui_volumetric_mode(mob/user) - // guard against divide-by-0's - if(!max_combined_volume) - return create_ui_slot_mode(user) - . = list() - - //? resolve view and rendering - // todo: clientless support is awful here - - // resolve view - var/list/decoded_view = decode_view_size(user.client?.view || world.view) - var/view_x = decoded_view[1] - // setup initial width - var/rendering_width = STORAGE_UI_TILES_FOR_SCREEN_VIEW_X(view_x) - var/rendering_width_in_pixels = rendering_width * 32 - // effective max scales up if we're overrunning - var/effective_max_volume = max(max_combined_volume, cached_combined_volume) - // scale down width to volume - rendering_width_in_pixels = min(rendering_width_in_pixels, effective_max_volume * VOLUMETRIC_STORAGE_STANDARD_PIXEL_RATIO) - - //? resolve items - - // resolve indirection - var/atom/indirection = real_contents_loc() - - //? prepare iteration - - // max x used in all rows, including padding. - var/maximum_used_width = 0 - // current consumed x of row - var/iteration_used_width = 0 - // current consumed item padding of row - var/iteration_used_padding = 0 - // current row - var/current_row = 1 - // safety - var/safety = VOLUMETRIC_STORAGE_MAX_ITEMS - // iterate and render - for(var/obj/item/item in indirection) - // check safety - safety-- - if(safety <= 0) - to_chat(user, SPAN_WARNING("Some items in this storage have been truncated for performance reasons.")) - break - - // check row - if(iteration_used_width >= rendering_width_in_pixels) - // check if we're out of rows - if(current_row >= STORAGE_UI_MAX_ROWS) - to_chat(user, SPAN_WARNING("Some items in this storage have been truncated for performance reasons.")) - break - // make another row - current_row++ - // register to maximum used width - // we add the edge padding for both edges, but remove the last item's padding. - maximum_used_width = max(maximum_used_width, iteration_used_width + iteration_used_padding + VOLUMETRIC_STORAGE_EDGE_PADDING * 2 - VOLUMETRIC_STORAGE_ITEM_PADDING) - // reset vars - iteration_used_padding = 0 - iteration_used_width = 0 - - // render the item - var/atom/movable/screen/storage/item/volumetric/renderer = new(null, item) - // scale it as necessary, to nearest multiple of 2 - var/used_pixels = max(VOLUMETRIC_STORAGE_MINIMUM_PIXELS_PER_ITEM, CEILING(rendering_width_in_pixels * (item.get_weight_volume() / effective_max_volume), 2)) - // emit to renderer - renderer.set_pixel_width(used_pixels) - // set screen loc - renderer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + (iteration_used_width + iteration_used_padding + VOLUMETRIC_STORAGE_EDGE_PADDING) + (used_pixels - VOLUMETRIC_STORAGE_BOX_ICON_SIZE) * 0.5],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" - // add to emitted screen list - . += renderer - // add to iteration tracking - iteration_used_width += used_pixels - iteration_used_padding += VOLUMETRIC_STORAGE_ITEM_PADDING - // register to maximum used width - // we add the edge padding for both edges, but remove the last item's padding. - maximum_used_width = max(maximum_used_width, iteration_used_width + iteration_used_padding + VOLUMETRIC_STORAGE_EDGE_PADDING * 2 - VOLUMETRIC_STORAGE_ITEM_PADDING) - - // now that everything's set up, we can render everything based on the solved sizes. - // middle size; we also keep in account padding so there's a smooth expansion instead of a sudden expansion at the end. - var/middle_width = max(maximum_used_width, rendering_width_in_pixels + iteration_used_padding) - // i hate byond i hate byond i hate byond i hate byond; this is because things break if we don't extend by 2 pixels - // at a time for left/right as we use a dumb transform matrix and screen loc to shift, instead of a scale and shift matrix - middle_width = CEILING(middle_width, 2) - // todo: instead of this crap we should instead have the translation matrix do the shift - var/middle_shift = round(middle_width * 0.5 - VOLUMETRIC_STORAGE_BOX_ICON_SIZE * 0.5) - // render left - var/atom/movable/screen/storage/panel/volumetric/left/p_left = new - . += p_left - p_left.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X - VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ - BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y] to \ - LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X - VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" - // render middle - var/atom/movable/screen/storage/panel/volumetric/middle/p_box = new - . += p_box - p_box.set_pixel_width(middle_width) - p_box.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_shift],\ - BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y] to \ - LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_shift],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" - // render closer on bottom - var/atom/movable/screen/storage/closer/closer = new - . += closer - closer.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_width],\ - BOTTOM+[STORAGE_UI_START_TILE_Y]:[STORAGE_UI_START_PIXEL_Y]" - // render right sides above closer - if(current_row > 1) - var/atom/movable/screen/storage/panel/volumetric/right/p_right = new - . += p_right - p_right.screen_loc = "LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_width - WORLD_ICON_SIZE + VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + 1]:[STORAGE_UI_START_PIXEL_Y] to \ - LEFT+[STORAGE_UI_START_TILE_X]:[STORAGE_UI_START_PIXEL_X + middle_width - WORLD_ICON_SIZE + VOLUMETRIC_STORAGE_BOX_BORDER_SIZE],\ - BOTTOM+[STORAGE_UI_START_TILE_Y + current_row - 1]:[STORAGE_UI_START_PIXEL_Y]" - -//* Indirection *// - -/** - * **USE AT YOUR OWN PERIL** - */ -/datum/object_system/storage/proc/indirect(atom/where) - ASSERT(isnull(indirection)) - indirection = new(where, src) - -/** - * remove indirection by obliterating contents - */ -/datum/object_system/storage/proc/destructively_remove_indirection() - QDEL_NULL(indirection) - -/** - * remove indirection by moving contents - */ -/datum/object_system/storage/proc/relocate_remove_indirection(atom/where_to) - ASSERT(!isnull(where_to) && where_to != indirection) - for(var/atom/movable/AM as anything in indirection) - AM.forceMove(where_to) - QDEL_NULL(indirection) - -/** - * move indirection somewhere else - */ -/datum/object_system/storage/proc/move_indirection_to(atom/where_to) - indirection.forceMove(where_to) - -//? Numerical Display Helper - //? Action /datum/action/storage_gather_mode name = "Switch Gather Mode" +/datum/action/storage_gather_mode/pre_render_hook() + if(istype(target, /datum/object_system/storage)) + var/datum/object_system/storage/storage_datum = target + var/obj/storage_target = storage_datum.parent + var/image/generated = new + generated.appearance = storage_target + generated.layer = FLOAT_LAYER + generated.plane = FLOAT_PLANE + button_additional_overlay = generated + return ..() + //? Hooks /obj/proc/object_storage_opened(mob/user) @@ -1495,49 +1179,3 @@ else obj_storage.indirect(src) return obj_storage - -//? Indirection Holder - -/atom/movable/storage_indirection - atom_flags = ATOM_ABSTRACT - - /// owner - var/datum/object_system/storage/parent - -/atom/movable/storage_indirection/Initialize(mapload, datum/object_system/storage/parent) - src.parent = parent - return ..() - -/atom/movable/storage_indirection/Destroy() - if(src.parent.indirection == src) - src.parent.indirection = null - src.parent = null - return ..() - -/atom/movable/storage_indirection/CanReachIn(atom/movable/mover, atom/target, obj/item/tool, list/cache) - return TRUE - -/atom/movable/storage_indirection/CanReachOut(atom/movable/mover, atom/target, obj/item/tool, list/cache) - return TRUE - -/atom/movable/storage_indirection/Exited(atom/movable/AM, atom/newLoc) - . = ..() - if(isitem(AM)) - parent.on_item_exited(AM) - -/atom/movable/storage_indirection/Entered(atom/movable/AM, atom/oldLoc) - . = ..() - if(isitem(AM)) - parent.on_item_entered(AM) - -/atom/movable/storage_indirection/on_contents_weight_class_change(obj/item/item, old_weight_class, new_weight_class) - parent.on_contents_weight_class_change(item, old_weight_class, new_weight_class) - -/atom/movable/storage_indirection/on_contents_weight_volume_change(obj/item/item, old_weight_volume, new_weight_volume) - parent.on_contents_weight_volume_change(item, old_weight_volume, new_weight_volume) - -/atom/movable/storage_indirection/on_contents_weight_change(obj/item/item, old_weight, new_weight) - parent.on_contents_weight_change(item, old_weight, new_weight) - -/atom/movable/storage_indirection/on_contents_item_new(obj/item/item) - parent.on_contents_item_new(item) diff --git a/code/game/rendering/atom_huds/atom_hud_provider.dm b/code/game/rendering/atom_huds/atom_hud_provider.dm index c32ed4e3511d..fa59438d0ead 100644 --- a/code/game/rendering/atom_huds/atom_hud_provider.dm +++ b/code/game/rendering/atom_huds/atom_hud_provider.dm @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(atom_hud_providers, initialize_atom_hud_providers()) if(M.stat == DEAD) I.icon_state = "-100" else - I.icon_state = RoundHealth((M.health-config_legacy.health_threshold_crit)/(M.getMaxHealth()-config_legacy.health_threshold_crit)*100) + I.icon_state = RoundHealth((M.health-M.getCritHealth())/(M.getMaxHealth()-M.getCritHealth())*100) /datum/atom_hud_provider/security_implant icon = 'icons/screen/atom_hud/implant.dmi' diff --git a/code/game/rendering/legacy/ability_screen_objects.dm b/code/game/rendering/legacy/ability_screen_objects.dm index f0ed59a261ee..29e4f52a0af0 100644 --- a/code/game/rendering/legacy/ability_screen_objects.dm +++ b/code/game/rendering/legacy/ability_screen_objects.dm @@ -104,7 +104,9 @@ ability.maptext = "[ability.index]" // Slot number i++ +// todo: what the fuck? /atom/movable/screen/movable/ability_master/update_icon() + . = ..() if(ability_objects.len) invisibility = 0 else @@ -249,6 +251,7 @@ // else // icon_state = "[spell_base]_spell_ready" cut_overlays() + . = ..() icon_state = "[background_base_state]_spell_base" add_overlay(ability_icon_state) diff --git a/code/game/rendering/legacy/radial.dm b/code/game/rendering/legacy/radial.dm index 0cb587ad8654..6d37d8f09e08 100644 --- a/code/game/rendering/legacy/radial.dm +++ b/code/game/rendering/legacy/radial.dm @@ -252,6 +252,10 @@ GLOBAL_LIST_EMPTY(radial_menus) //! perform fixup I.plane = FLOAT_PLANE I.layer = FLOAT_LAYER + I.maptext = MAPTEXT(I.maptext) + I.maptext_width = 64 + I.maptext_height = 32 + I.maptext_y = 32 //! end choices_icons[id] = I else diff --git a/code/game/rendering/mob.dm b/code/game/rendering/mob.dm index bfcd07a224dd..b49319562e29 100644 --- a/code/game/rendering/mob.dm +++ b/code/game/rendering/mob.dm @@ -24,6 +24,8 @@ client.global_planes.apply(client) client.update_clickcatcher() client.using_perspective?.reload(client, TRUE) + client.actor_huds.reassert_onto_owner() + client.action_drawer.reassert_screen() INVOKE_ASYNC(client, TYPE_PROC_REF(/client, init_viewport_blocking)) reload_fullscreen() hud_used?.reorganize_alerts() diff --git a/code/game/rendering/screen.dm b/code/game/rendering/screen.dm index 8a035b91b981..79f6536adcb4 100644 --- a/code/game/rendering/screen.dm +++ b/code/game/rendering/screen.dm @@ -3,7 +3,6 @@ /atom/movable/screen appearance_flags = PIXEL_SCALE | NO_CLIENT_COLOR - atom_colouration_system = FALSE plane = HUD_PLANE layer = HUD_LAYER_BASE var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. diff --git a/code/game/rendering/screen_legacy.dm b/code/game/rendering/screen_legacy.dm index a73cce930e51..112f7981d4bb 100644 --- a/code/game/rendering/screen_legacy.dm +++ b/code/game/rendering/screen_legacy.dm @@ -118,6 +118,7 @@ /atom/movable/screen/zone_sel/update_icon() cut_overlays() + . = ..() add_overlay(image('icons/mob/zone_sel.dmi', "[selecting]")) /// The UI Button to open the TGUI Crafting Menu diff --git a/code/game/statistics.dm b/code/game/statistics.dm index e8f73892bd62..2a67a26b9058 100644 --- a/code/game/statistics.dm +++ b/code/game/statistics.dm @@ -9,7 +9,7 @@ log_game("SQL ERROR during population polling. Failed to connect.") else var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("population")] (playercount, admincount, time) VALUES (:pc, :ac, NOW())", + "INSERT INTO [DB_PREFIX_TABLE_NAME("population")] (playercount, admincount, time) VALUES (:pc, :ac, NOW())", list( "pc" = sanitizeSQL(playercount), "ac" = sanitizeSQL(admincount), @@ -48,7 +48,7 @@ log_game("SQL ERROR during death reporting. Failed to connect.") else var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("death")] (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("death")] (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES \ (:name, :key, :job, :special, :pod, :time, :laname, :lakey, :gender, :bruteloss, :fireloss, :brainloss, :oxyloss, :coord)", list( "name" = sqlname, @@ -98,7 +98,7 @@ log_game("SQL ERROR during death reporting. Failed to connect.") else var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("death")] (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("death")] (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES \ (:name, :key, :job, :special, :pod, :time, :laname, :lakey, :geender, :bruteloss, :fireloss, :brainloss, :oxyloss, :coord)", list( "name" = sqlname, @@ -146,7 +146,7 @@ else var/datum/db_query/max_query = SSdbcore.RunQuery( - "SELECT MAX(roundid) AS max_round_id FROM [format_table_name("feedback")]", + "SELECT MAX(roundid) AS max_round_id FROM [DB_PREFIX_TABLE_NAME("feedback")]", list(), ) @@ -168,7 +168,7 @@ var/value = item.get_value() var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("feedback")] (id, roundid, time, variable, value) VALUES (null, :rid, Now(), :var, :val)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("feedback")] (id, roundid, time, variable, value) VALUES (null, :rid, Now(), :var, :val)", list( "rid" = newroundid, "var" = sanitizeSQL(variable), diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index 460a7a3985e3..01648427d842 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(multiz_hole_baseturfs, typecacheof(list( T.icon_state = icon_state if(T.icon != icon) T.icon = icon - T.copy_atom_colour(src) + T.copy_atom_color(src) if(T.dir != dir) T.setDir(dir) return T diff --git a/code/game/turfs/simulated/floor/floor-construction.dm b/code/game/turfs/simulated/floor/floor-construction.dm index 319c589de13a..d0a37d37eacb 100644 --- a/code/game/turfs/simulated/floor/floor-construction.dm +++ b/code/game/turfs/simulated/floor/floor-construction.dm @@ -22,12 +22,17 @@ using_stack = with_mat_stack else var/obj/item/stack/with_stack = with_item - possible = RSflooring.build_item_lookup[with_stack.type] + possible = RSflooring.build_item_lookup[with_stack.get_use_as_type()] has_amount = with_stack.amount using_stack = with_stack - if(!length(possible)) + if(!possible) return FALSE - var/datum/prototype/flooring/trying_to_make + var/datum/prototype/flooring/trying_to_make = possible + if(force_flooring && !(trying_to_make.id == force_flooring || trying_to_make.type == force_flooring)) + return FALSE + // todo: multiple possible floorings are disabled for UI/UX reasons. put the selector on the stack + // with client-local-state sometime, and re-enable it. + /* if(force_flooring) for(var/datum/prototype/flooring/potential as anything in possible) if(potential.type == force_flooring || potential.id == force_flooring) @@ -42,16 +47,24 @@ else var/list/built_choices = list() var/list/pick_choices = list() + var/matrix/three_fourths_size = matrix() + three_fourths_size.Scale(3 / 4, 3 / 4) for(var/datum/prototype/flooring/potential as anything in possible) built_choices[potential.name] = potential var/image/preview = image(potential.icon, potential.icon_base) + preview.transform = three_fourths_size preview.maptext = MAPTEXT_CENTER(potential.name) preview.maptext_width = 64 - pick_choices[potential.name] = preview + var/use_name = potential.name + var/notch = 1 + while(pick_choices[use_name]) + use_name = "[potential.name] ([notch++])" + pick_choices[use_name] = preview var/choice_name = show_radial_menu(e_args.initiator, src, pick_choices) trying_to_make = built_choices[choice_name] if(!trying_to_make) return FALSE + */ if(trying_to_make.build_cost > has_amount) e_args.chat_feedback(SPAN_WARNING("You require at least [trying_to_make.build_cost] [with_item.name] to lay down those [trying_to_make.descriptor]")) return FALSE diff --git a/code/game/turfs/simulated/floor/floor.dm b/code/game/turfs/simulated/floor/floor.dm index 793169f852d6..98b2f44c5577 100644 --- a/code/game/turfs/simulated/floor/floor.dm +++ b/code/game/turfs/simulated/floor/floor.dm @@ -73,7 +73,7 @@ CRASH("additional arg detected in /floor Initialize. turfs do not have init arguments as ChangeTurf does not accept them.") var/datum/prototype/flooring/set_flooring_to - if(initial_flooring && (set_flooring_to = RSflooring.fetch(initial_flooring))) + if(initial_flooring && (set_flooring_to = RSflooring.fetch_local_or_throw(initial_flooring))) set_flooring(set_flooring_to, TRUE) else // todo: these are only here under else because set flooring will trigger it diff --git a/code/game/turfs/simulated/floor_types/water.dm b/code/game/turfs/simulated/floor_types/water.dm index 3e1fd52501f9..a8e27e660e1f 100644 --- a/code/game/turfs/simulated/floor_types/water.dm +++ b/code/game/turfs/simulated/floor_types/water.dm @@ -24,7 +24,7 @@ /turf/simulated/floor/water/Initialize(mapload) . = ..() - var/datum/prototype/flooring/F = RSflooring.fetch(/datum/prototype/flooring/water) + var/datum/prototype/flooring/F = RSflooring.fetch_local_or_throw(/datum/prototype/flooring/water) footstep_sounds = F?.footstep_sounds update_icon() @@ -91,6 +91,8 @@ return if(!istype(newloc, /turf/simulated/floor/water)) to_chat(L, "You climb out of \the [src].") + // attempt to remove this if possible + L.remove_a_modifier_of_type(/datum/modifier/trait/underwater_stealth) ..() /turf/simulated/floor/water/pre_fishing_query(obj/item/fishing_rod/rod, mob/user) @@ -129,7 +131,7 @@ /mob/living/carbon/human/can_breathe_water() if(species) - return species.can_breathe_water() + return species.can_breathe_water() || HAS_TRAIT(src, TRAIT_MOB_WATER_BREATHER) return ..() /mob/living/proc/check_submerged() diff --git a/code/game/turfs/simulated/flooring/flooring.dm b/code/game/turfs/simulated/flooring/flooring.dm index 2e846cbf7142..b8e70f205cf4 100644 --- a/code/game/turfs/simulated/flooring/flooring.dm +++ b/code/game/turfs/simulated/flooring/flooring.dm @@ -71,6 +71,11 @@ /// /// * Supports /obj/item/stack /// * Supports /datum/material + /// + /// todo: as of right now, only a single floor can ever be allowed to be built in this way + /// for a given stack or material id. + /// at some point, we need to investigate having multiple possibilities + /// todo: remove 'subtype build_type suppression' from New() var/build_type /// Amount of material needed to build. var/build_cost = 1 @@ -162,6 +167,13 @@ dismantle_tool = dismantle_tool ? list(dismantle_tool) : list() if(!islist(destroy_tool)) destroy_tool = destroy_tool ? list(destroy_tool) : list() + // subtype build suppression + // erase our build_type if our parent type defaults to it + // this way only the first declaration on the tree of a certain build type applies + if(ispath(parent_type, /datum/prototype/flooring)) + var/datum/prototype/flooring/parent = parent_type + if(initial(parent.build_type) == build_type) + build_type = null /datum/prototype/flooring/proc/get_flooring_overlay(cache_key, base_state, icon_dir = 0, layer = FLOOR_DECAL_LAYER) if(!flooring_cache[cache_key]) diff --git a/code/game/turfs/simulated/flooring/flooring_types.dm b/code/game/turfs/simulated/flooring/flooring_types.dm index 594a892aeecc..e92d3e9be392 100644 --- a/code/game/turfs/simulated/flooring/flooring_types.dm +++ b/code/game/turfs/simulated/flooring/flooring_types.dm @@ -161,7 +161,6 @@ icon_base = "orange" build_type = /obj/item/stack/tile/carpet/patterned/orange - /datum/prototype/flooring/tiling name = "floor" desc = "Scuffed from the passage of countless greyshirts." @@ -251,7 +250,6 @@ icon_base = "asteroidfloor" has_damage_range = null flooring_flags = TURF_REMOVE_CROWBAR - build_type = /obj/item/stack/tile/floor/steel /datum/prototype/flooring/tiling/white name = "floor" @@ -277,12 +275,10 @@ /datum/prototype/flooring/tiling/hydro name = "floor" icon_base = "hydrofloor" - build_type = /obj/item/stack/tile/floor/steel /datum/prototype/flooring/tiling/neutral name = "floor" icon_base = "neutral" - build_type = /obj/item/stack/tile/floor/steel /datum/prototype/flooring/tiling/freezer name = "floor" diff --git a/code/game/turfs/simulated/wall/materials.dm b/code/game/turfs/simulated/wall/materials.dm index 507a17b1032d..1867c7a0725b 100644 --- a/code/game/turfs/simulated/wall/materials.dm +++ b/code/game/turfs/simulated/wall/materials.dm @@ -1,7 +1,7 @@ /turf/simulated/wall/proc/init_materials(datum/prototype/material/outer = material_outer, datum/prototype/material/reinforcing = material_reinf, datum/prototype/material/girder = material_girder) - outer = RSmaterials.fetch(outer) - reinforcing = RSmaterials.fetch(reinforcing) - girder = RSmaterials.fetch(girder) + outer = RSmaterials.fetch_local_or_throw(outer) + reinforcing = RSmaterials.fetch_local_or_throw(reinforcing) + girder = RSmaterials.fetch_local_or_throw(girder) if(!isnull(outer)) material_outer = outer diff --git a/code/game/turfs/simulated/wall_types/shuttle.dm b/code/game/turfs/simulated/wall_types/shuttle.dm index 347ccd03924b..fe61b5b91e95 100644 --- a/code/game/turfs/simulated/wall_types/shuttle.dm +++ b/code/game/turfs/simulated/wall_types/shuttle.dm @@ -167,6 +167,7 @@ update_icon() /turf/simulated/shuttle/wall/voidcraft/update_icon() + . = ..() if(stripe_color) cut_overlays() var/image/I = image(icon = src.icon, icon_state = "o_[icon_state]") diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6e5cfe55d6ed..5df54506c2bb 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -162,7 +162,7 @@ //atom color stuff if(color) - add_atom_colour(color, FIXED_COLOUR_PRIORITY) + add_atom_color(color) // todo: uh oh. // TODO: what would tg do (but maybe not that much component signal abuse?) @@ -570,19 +570,19 @@ //* Atom Color - we don't use the expensive system. *// -/turf/get_atom_colour() +/turf/get_atom_color() return color -/turf/add_atom_colour(coloration, colour_priority) +/turf/add_atom_color(coloration, colour_priority) color = coloration -/turf/remove_atom_colour(colour_priority, coloration) +/turf/remove_atom_color(colour_priority, coloration) color = null -/turf/update_atom_colour() +/turf/update_atom_color() return -/turf/copy_atom_colour(atom/other, colour_priority) +/turf/copy_atom_color(atom/other, colour_priority) if(isnull(other.color)) return color = other.color @@ -664,8 +664,13 @@ /turf/proc/update_underfloor_objects() var/we_should_cover = hides_underfloor_objects() for(var/obj/thing in contents) - if(thing.hides_underfloor == OBJ_UNDERFLOOR_DISABLED) + if(thing.hides_underfloor == OBJ_UNDERFLOOR_UNSUPPORTED) continue thing.update_hiding_underfloor( (thing.hides_underfloor != OBJ_UNDERFLOOR_NEVER) && we_should_cover, ) + +//* VV *// + +/turf/vv_delete() + ScrapeAway() diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index 2d578a59ddfb..a4b5b53ee4c3 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -116,9 +116,6 @@ msg += " (Inactive \[10m+\])" msg += "\n" - - if(config_legacy.admin_irc) - to_chat(src, "Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond.") msg = "Current Admins ([num_admins_online]):\n" + msg to_chat(src, msg) diff --git a/code/game/world.dm b/code/game/world.dm index c794705f2cf2..4a2834e4322b 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -1,7 +1,7 @@ #define RESTART_COUNTER_PATH "data/round_counter.txt" GLOBAL_VAR(restart_counter) - +GLOBAL_VAR_INIT(hub_visibility, TRUE) GLOBAL_VAR(topic_status_lastcache) GLOBAL_LIST(topic_status_cache) @@ -10,11 +10,17 @@ GLOBAL_LIST(topic_status_cache) turf = /turf/space/basic area = /area/space view = "15x15" - hub = "Exadv1.spacestation13" - hub_password = "kMZy3U5jJHSiBQjr" name = "Citadel Station 13 - Roleplay" status = "ERROR: Default status" + /// world visibility. this should never, ever be touched. + /// a weird byond bug yet to be resolved is probably making this + /// permanently delist the server if this is disabled at any point. visibility = TRUE + /// static value, do not change + hub = "Exadv1.spacestation13" + /// static value, do not change, except to toggle visibility + /// * use this instead of `visibility` to toggle, via `update_hub_visibility` + hub_password = "kMZy3U5jJHSiBQjr" movement_mode = PIXEL_MOVEMENT_MODE fps = 20 #ifdef FIND_REF_NO_CHECK_TICK @@ -78,14 +84,12 @@ GLOBAL_LIST(topic_status_cache) // shunt redirected world log from Master's init back into world log proper, now that logging has been set up. shunt_redirected_log() - config_legacy.post_load() - if(config && config_legacy.server_name != null && config_legacy.server_suffix && world.port > 0) // dumb and hardcoded but I don't care~ config_legacy.server_name += " #[(world.port % 1000) / 100]" // TODO - Figure out what this is. Can you assign to world.log? - // if(config && config_legacy.log_runtime) + // if(config && Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/runtime)) // log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM-DD-(hh-mm-ss)")]-runtime.log") GLOB.timezoneOffset = get_timezone_offset() @@ -410,16 +414,17 @@ GLOBAL_LIST(topic_status_cache) status = . -/world/proc/update_hub_visibility(new_value) //CITADEL PROC: TG's method of changing visibility - if(new_value) //I'm lazy so this is how I wrap it to a bool number - new_value = TRUE - else - new_value = FALSE - if(new_value == visibility) +/** + * Sets whether or not we're visible on the hub. + * * This is the only place where `hub_password` should be touched! + * * Never, ever modify `hub` or `visibility`. + */ +/world/proc/update_hub_visibility(new_visibility) + new_visibility = !!new_visibility + if(new_visibility == GLOB.hub_visibility) return - - visibility = new_value - if(visibility) + GLOB.hub_visibility = new_visibility + if(GLOB.hub_visibility) hub_password = "kMZy3U5jJHSiBQjr" else hub_password = "SORRYNOPASSWORD" diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index 0f195dd1d715..e332f48c88f2 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -72,7 +72,7 @@ computerid = "" if(isnull(ip)) ip = "" - var/sql = "INSERT INTO [format_table_name("ban")] \ + var/sql = "INSERT INTO [DB_PREFIX_TABLE_NAME("ban")] \ (`id`,`bantime`,`serverip`,`bantype`,`reason`,`job`,`duration`,`rounds`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`,`edits`,`unbanned`,`unbanned_datetime`,`unbanned_ckey`,`unbanned_computerid`,`unbanned_ip`) \ VALUES (null, Now(), :serverip, :type, :reason, :job, :duration, :rounds, Now() + INTERVAL :duration MINUTE, :ckey, :cid, :ip, :a_ckey, :a_cid, :a_ip, :who, :adminwho, '', null, null, null, null, null)" SSdbcore.RunQuery( @@ -133,7 +133,7 @@ else bantype_sql = "bantype = '[bantype_str]'" - var/sql = "SELECT id FROM [format_table_name("ban")] WHERE ckey = :ckey AND [bantype_sql] AND (unbanned is null OR unbanned = false)" + var/sql = "SELECT id FROM [DB_PREFIX_TABLE_NAME("ban")] WHERE ckey = :ckey AND [bantype_sql] AND (unbanned is null OR unbanned = false)" if(job) sql += " AND job = :job" @@ -183,7 +183,7 @@ return var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT ckey, duration, reason FROM [format_table_name("ban")] WHERE id = :id", + "SELECT ckey, duration, reason FROM [DB_PREFIX_TABLE_NAME("ban")] WHERE id = :id", list( "id" = banid ) @@ -215,7 +215,7 @@ return SSdbcore.RunQuery( - "UPDATE [format_table_name("ban")] SET reason = :reason, \ + "UPDATE [DB_PREFIX_TABLE_NAME("ban")] SET reason = :reason, \ edits = CONCAT(edits, '- :ckey changed ban reason from \\\":oldreason\\\" to \\\":reason\\\"
') \ WHERE id = :id", list( @@ -233,7 +233,7 @@ to_chat(usr, "Cancelled") return SSdbcore.RunQuery( - "UPDATE [format_table_name("ban")] SET duration = :duration, \ + "UPDATE [DB_PREFIX_TABLE_NAME("ban")] SET duration = :duration, \ edits = CONCAT(edits, '- :ckey changed ban duration from :oldduration to :duration
'), expiration_time = DATE_ADD(bantime, INTERVAL :duration MINUTE) \ WHERE id = :id", list( @@ -264,7 +264,7 @@ var/pckey var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT ckey FROM [format_table_name("ban")] WHERE id = :id", + "SELECT ckey FROM [DB_PREFIX_TABLE_NAME("ban")] WHERE id = :id", list( "id" = id ) @@ -292,7 +292,7 @@ message_admins("[key_name_admin(usr)] has lifted [pckey]'s ban.",1) SSdbcore.RunQuery( - "UPDATE [format_table_name("ban")] SET unbanned = 1, unbanned_datetime = Now(), unbanned_ckey = :ckey, unbanned_computerid = :cid, unbanned_ip = :ip WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("ban")] SET unbanned = 1, unbanned_datetime = Now(), unbanned_ckey = :ckey, unbanned_computerid = :cid, unbanned_ip = :ip WHERE id = :id", list( "ckey" = unban_ckey, "cid" = unban_computerid, @@ -458,7 +458,7 @@ var/datum/db_query/select_query = SSdbcore.RunQuery( "SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits, ip, computerid \ - FROM [format_table_name("ban")] \ + FROM [DB_PREFIX_TABLE_NAME("ban")] \ WHERE 1 [playersearch] [adminsearch] [ipsearch] [cidsearch] [bantypesearch] ORDER BY bantime DESC LIMIT 100", search_params ) diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 2eb8325ac572..42bfc1dc3650 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -88,7 +88,7 @@ cidquery = " OR computerid = ':cid' " var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT ckey, ip, computerid, a_ckey, reason, expiration_time, duration, bantime, bantype FROM [format_table_name("ban")] WHERE (ckey = :ckey [ipquery] [cidquery]) AND (bantype = 'PERMABAN' OR (bantype = 'TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned)", + "SELECT ckey, ip, computerid, a_ckey, reason, expiration_time, duration, bantime, bantype FROM [DB_PREFIX_TABLE_NAME("ban")] WHERE (ckey = :ckey [ipquery] [cidquery]) AND (bantype = 'PERMABAN' OR (bantype = 'TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned)", list( "ckey" = ckeytext, "ip" = address, diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 22333c2e4879..db7fd3e20eac 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -717,7 +717,7 @@ var/datum/legacy_announcement/minor/admin_min_announcer = new //Time to find how they screwed up. //Wasn't the right length - if((decomposed.len) % 3) //+1 to accomidate the lack of a wait time for the last message + if((length(decomposed)+1) % 3) //+1 to accomidate the lack of a wait time for the last message to_chat(usr,"You passed [decomposed.len] segments (senders+messages+pauses). You must pass a multiple of 3, minus 1 (no pause after the last message). That means a sender and message on every other line (starting on the first), separated by a pipe character (|), and a number every other line that is a pause in seconds.") return @@ -827,9 +827,9 @@ var/datum/legacy_announcement/minor/admin_min_announcer = new if(!check_rights(R_ADMIN)) return - world.update_hub_visibility(!world.visibility) + world.update_hub_visibility(!GLOB.hub_visibility) log_admin("[key_name(usr)] toggled hub visibility.") - message_admins("[key_name_admin(usr)] toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility]).", 1) + message_admins("[key_name_admin(usr)] toggled hub visibility. The server is now [GLOB.hub_visibility ? "visible" : "invisible"] ([GLOB.hub_visibility]).", 1) feedback_add_details("admin_verb","THUB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc /datum/admins/proc/toggletraitorscaling() diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 29500fb71be7..58583b9bad28 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -113,7 +113,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights return var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT ckey, rank, level, flags FROM [format_table_name("admin")]", + "SELECT ckey, rank, level, flags FROM [DB_PREFIX_TABLE_NAME("admin")]", list() ) diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 147e5c3cd7cc..65148f569a98 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -74,7 +74,7 @@ DEBUG //Job permabans var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT ckey, job FROM [format_table_name("ban")] WHERE bantype = 'JOB_PERMABAN' AND isnull(unbanned)", + "SELECT ckey, job FROM [DB_PREFIX_TABLE_NAME("ban")] WHERE bantype = 'JOB_PERMABAN' AND isnull(unbanned)", list() ) @@ -86,7 +86,7 @@ DEBUG //Job tempbans var/datum/db_query/query1 = SSdbcore.RunQuery( - "SELECT ckey, job FROM [format_table_name("ban")] WHERE bantype = 'JOB_TEMPBAN' AND isnull(unbanned) AND expiration_time > Now()", + "SELECT ckey, job FROM [DB_PREFIX_TABLE_NAME("ban")] WHERE bantype = 'JOB_TEMPBAN' AND isnull(unbanned) AND expiration_time > Now()", list() ) diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index fad215244819..d3a701a40555 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -78,7 +78,7 @@ return var/datum/db_query/select_query = SSdbcore.RunQuery( - "SELECT id FROM [format_table_name("admin")] WHERE ckey = :ckey", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("admin")] WHERE ckey = :ckey", list( "ckey" = adm_ckey ) @@ -92,14 +92,14 @@ if(new_admin) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("admin")] (id, ckey, rank, level, flags) VALUES (null, :ckey, :rank, -1, 0)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("admin")] (id, ckey, rank, level, flags) VALUES (null, :ckey, :rank, -1, 0)", list( "ckey" = adm_ckey, "rank" = new_rank ) ) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, NOW(), :ckey, :ip, :logstr)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, NOW(), :ckey, :ip, :logstr)", list( "ckey" = sanitizeSQL(usr.ckey), "ip" = sanitizeSQL(usr.client.address), @@ -110,14 +110,14 @@ else if(!isnull(admin_id) && isnum(admin_id)) SSdbcore.RunQuery( - "UPDATE [format_table_name("admin")] SET rank = :rank WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("admin")] SET rank = :rank WHERE id = :id", list( "rank" = new_rank, "id" = admin_id ) ) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, Now(), :ckey, :addr, :log)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, Now(), :ckey, :addr, :log)", list( "ckey" = usr.ckey, "addr" = usr.client.address, @@ -155,7 +155,7 @@ return var/datum/db_query/select_query = SSdbcore.RunQuery( - "SELECT id, flags FROM [format_table_name("admin")] WHERE ckey = :ckey", + "SELECT id, flags FROM [DB_PREFIX_TABLE_NAME("admin")] WHERE ckey = :ckey", list( "ckey" = adm_ckey ) @@ -172,14 +172,14 @@ if(admin_rights & new_permission) //This admin already has this permission, so we are removing it. SSdbcore.RunQuery( - "UPDATE [format_table_name("admin")] SET flags = :flags WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("admin")] SET flags = :flags WHERE id = :id", list( "flags" = admin_rights & ~new_permission, "id" = admin_id ) ) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, Now(), :ckey, :addr, :log)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, Now(), :ckey, :addr, :log)", list( "ckey" = usr.ckey, "addr" = usr.client.address, @@ -189,14 +189,14 @@ to_chat(usr, "Permission removed.") else //This admin doesn't have this permission, so we are adding it. SSdbcore.RunQuery( - "UPDATE [format_table_name("admin")] SET flags = :flags WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("admin")] SET flags = :flags WHERE id = :id", list( "flags" = admin_rights | new_permission, "id" = admin_id ) ) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, Now(), :ckey, :addr, :log)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("admin_log")] (id, datetime, adminckey, adminip, log) VALUES (NULL, Now(), :ckey, :addr, :log)", list( "ckey" = usr.ckey, "addr" = usr.client.address, diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index dadf4d391a96..197f2cabe870 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -607,10 +607,6 @@ to_chat(usr, "You do not have the appropriate permissions to add job bans!") return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !config_legacy.mods_can_job_tempban) // If mod and tempban disabled - to_chat(usr, "Mod jobbanning is disabled!") - return - var/mob/M = locate(href_list["jobban4"]) if(!ismob(M)) to_chat(usr, "This can only be used on instances of type /mob") @@ -705,9 +701,6 @@ var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null if(!mins) return - if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config_legacy.mod_job_tempban_max) - to_chat(usr, " Moderators can only job tempban up to [config_legacy.mod_job_tempban_max] minutes!") - return var/reason = sanitize(input(usr,"Reason?","Please State Reason","") as text|null) if(!reason) return @@ -821,10 +814,6 @@ to_chat(usr, "You do not have the appropriate permissions to add bans!") return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !config_legacy.mods_can_job_tempban) // If mod and tempban disabled - to_chat(usr, "Mod jobbanning is disabled!") - return - var/target_ckey = href_list["oocban"] // clients can gc at any time, do not use this outside of getting existing mob var/client/_existing_client = GLOB.directory[target_ckey] @@ -878,10 +867,6 @@ to_chat(usr, "You do not have the appropriate permissions to add bans!") return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !config_legacy.mods_can_job_tempban) // If mod and tempban disabled - to_chat(usr, "Mod jobbanning is disabled!") - return - var/mob/M = locate(href_list["newban"]) if(!ismob(M)) return @@ -892,9 +877,6 @@ var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null if(!mins) return - if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config_legacy.mod_tempban_max) - to_chat(usr, "Moderators can only job tempban up to [config_legacy.mod_tempban_max] minutes!") - return if(mins >= 525600) mins = 525599 var/reason = sanitize(input(usr,"Reason?","reason","Griefer") as text|null) if(!reason) diff --git a/code/modules/admin/verbs/SDQL2/wrappers/map.dm b/code/modules/admin/verbs/SDQL2/wrappers/map.dm index 10eb86995ca1..ea7014d05c4f 100644 --- a/code/modules/admin/verbs/SDQL2/wrappers/map.dm +++ b/code/modules/admin/verbs/SDQL2/wrappers/map.dm @@ -1,5 +1,5 @@ //* This file is explicitly licensed under the MIT license. *// -//* Copyright (c) 2024 silicons *// +//* Copyright (c) 2024 Citadel Station Developers *// // * Mapping Functions * // @@ -156,9 +156,10 @@ results = range(radius, A) if(!length(results)) continue + . += results if(length(.) > safety) stack_trace("hit safety limit") - return + break else var/list/hashed = list() for(var/atom/A in movables) diff --git a/code/modules/admin/verbs/SDQL2/wrappers/math.dm b/code/modules/admin/verbs/SDQL2/wrappers/math.dm new file mode 100644 index 000000000000..e147b1b29490 --- /dev/null +++ b/code/modules/admin/verbs/SDQL2/wrappers/math.dm @@ -0,0 +1,28 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +// * Math Functions * // + +/proc/sdql_sin(n) + return sin(n) + +/proc/sdql_cos(n) + return cos(n) + +/proc/sdql_tan(n) + return tan(n) + +/proc/sdql_arctan(a, b) + return arctan(a, b) + +/proc/sdql_max(...) + return max(arglist(args)) + +/proc/sdql_min(...) + return min(arglist(args)) + +/proc/sdql_clamp(a, b, c) + return clamp(a, b, c) + +/proc/sdql_turn(dir, angle) + return turn(dir, angle) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 7f0f2d1d55ef..e6f754f3357f 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -184,20 +184,6 @@ //always play non-admin recipients the adminhelp sound SEND_SOUND(recipient, sound('sound/effects/adminhelp.ogg')) - - //AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config_legacy.txt ~Carn - if(config_legacy.popup_admin_pm) - spawn() //so we don't hold the caller proc up - var/sender = src - var/sendername = key - var/reply = input(recipient, msg,"Admin PM from-[sendername]", "") as message|null //show message and await a reply - if(recipient && reply) - if(sender) - recipient.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them - else - adminhelp(reply) //sender has left, adminhelp instead - return - else //neither are admins to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.") return diff --git a/code/modules/admin/verbs/check_customitem_activity.dm b/code/modules/admin/verbs/check_customitem_activity.dm index 02e577d13e4d..6b329a5fadb0 100644 --- a/code/modules/admin/verbs/check_customitem_activity.dm +++ b/code/modules/admin/verbs/check_customitem_activity.dm @@ -55,7 +55,7 @@ var/inactive_keys = "None
" var/list/inactive_ckeys = list() if(ckeys_with_customitems.len) var/datum/db_query/query_inactive = SSdbcore.RunQuery( - "SELECT ckey, lastseen FROM [format_table_name("player_lookup")] WHERE datediff(Now(), lastseen) > 60", + "SELECT ckey, lastseen FROM [DB_PREFIX_TABLE_NAME("player_lookup")] WHERE datediff(Now(), lastseen) > 60", list() ) while(query_inactive.NextRow()) @@ -69,7 +69,7 @@ var/inactive_keys = "None
" if(ckeys_with_customitems.len) for(var/cur_ckey in ckeys_with_customitems) var/datum/db_query/query_inactive = SSdbcore.RunQuery( - "SELECT ckey FROM [format_table_name("player_lookup")] WHERE ckey = :ckey", + "SELECT ckey FROM [DB_PREFIX_TABLE_NAME("player_lookup")] WHERE ckey = :ckey", list( "ckey" = cur_ckey ) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index fa96e39a4c46..f390727d7486 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -64,9 +64,9 @@ to_chat(user, "\The [I] does [DPS] damage per second.") if(DPS > 0) to_chat(user, "At your maximum health ([user.getMaxHealth()]), it would take approximately;") - to_chat(user, "[(user.getMaxHealth() - config_legacy.health_threshold_softcrit) / DPS] seconds to softcrit you. ([config_legacy.health_threshold_softcrit] health)") - to_chat(user, "[(user.getMaxHealth() - config_legacy.health_threshold_crit) / DPS] seconds to hardcrit you. ([config_legacy.health_threshold_crit] health)") - to_chat(user, "[(user.getMaxHealth() - config_legacy.health_threshold_dead) / DPS] seconds to kill you. ([config_legacy.health_threshold_dead] health)") + to_chat(user, "[(user.getMaxHealth() - user.getCritHealth()) / DPS] seconds to softcrit you. ([user.getSoftCritHealth()] health)") + to_chat(user, "[(user.getMaxHealth() - user.getCritHealth()) / DPS] seconds to hardcrit you. ([user.getCritHealth()] health)") + to_chat(user, "[(user.getMaxHealth() - user.getMinHealth()) / DPS] seconds to kill you. ([user.getMinHealth()] health)") else to_chat(user, "You need to be a living mob, with hands, and for an object to be in your active hand, to use this verb.") @@ -687,16 +687,6 @@ message_admins(log) log_admin(log) -/client/proc/reload_configuration() - set category = "Debug" - set name = "Reload Configuration" - set desc = "Force config reload to world default" - if(!check_rights(R_DEBUG)) - return - if(alert(usr, "Are you absolutely sure you want to reload the configuration from the default path on the disk, wiping any in-round modificatoins?", "Really reset?", "No", "Yes") == "Yes") - config.admin_reload() - load_configuration() //for legacy - /datum/admins/proc/quick_nif() set category = "Fun" set name = "Quick NIF" diff --git a/code/modules/admin/verbs/debug/reload_configuration.dm b/code/modules/admin/verbs/debug/reload_configuration.dm new file mode 100644 index 000000000000..fd80f16133f8 --- /dev/null +++ b/code/modules/admin/verbs/debug/reload_configuration.dm @@ -0,0 +1,12 @@ + +/client/proc/reload_configuration() + set category = "Debug" + set name = "Reload Configuration" + set desc = "Force config reload to world default" + if(!check_rights(R_DEBUG)) + return + if(alert(usr, "Are you absolutely sure you want to reload the configuration from the default path on the disk, wiping any in-round modificatoins?", "Really reset?", "No", "Yes") == "Yes") + log_and_message_admins("[key_name(usr)] reloaded server configuration.") + config.admin_reload() + Configuration.admin_reload() + load_configuration() //for legacy diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm index 4fda1c1a7638..02210dca182f 100644 --- a/code/modules/admin/verbs/possess.dm +++ b/code/modules/admin/verbs/possess.dm @@ -5,11 +5,6 @@ if(!O.loc) return // erm erm erm maybe not? - if(istype(O,/obj/singularity)) - if(config_legacy.forbid_singulo_possession) - to_chat(usr, "It is forbidden to possess singularities.") - return - var/turf/T = get_turf(O) if(T) diff --git a/code/modules/admin/view_variables/admin_delete.dm b/code/modules/admin/view_variables/admin_delete.dm index 7157a1cce2bd..16c84012c99f 100644 --- a/code/modules/admin/view_variables/admin_delete.dm +++ b/code/modules/admin/view_variables/admin_delete.dm @@ -16,9 +16,9 @@ //SSblackbox.record_feedback("tally", "admin_verb", 1, "Delete") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! if(isturf(D)) var/turf/T = D - T.ScrapeAway() + T.vv_delete() else vv_update_display(D, "deleted", VV_MSG_DELETED) - qdel(D) + D.vv_delete() if(!QDELETED(D)) vv_update_display(D, "deleted", "") diff --git a/code/modules/artwork/crayon_decal_meta.dm b/code/modules/artwork/crayon_decal_meta.dm index fc1051634f79..3b9227a8eb19 100644 --- a/code/modules/artwork/crayon_decal_meta.dm +++ b/code/modules/artwork/crayon_decal_meta.dm @@ -74,11 +74,17 @@ GLOBAL_LIST_EMPTY(crayon_data_lookup_by_string_icon_path) var/centering_pixel_y /datum/crayon_decal_meta/proc/tgui_crayon_data() + //! uh oh! byond alert! !// + //! associative lists are contagious and we really need a flat list or tgui crashes! !// + //! manually flatten it. !// + var/list/i_really_dislike_byond = list() + for(var/key in states) + i_really_dislike_byond += key + return list( "name" = name, - "states" = states, + "states" = i_really_dislike_byond, "width" = width, "height" = height, "id" = id, ) - diff --git a/code/modules/artwork/items/crayon.dm b/code/modules/artwork/items/crayon.dm index 30acd4e54bcc..9cc2db193432 100644 --- a/code/modules/artwork/items/crayon.dm +++ b/code/modules/artwork/items/crayon.dm @@ -10,6 +10,7 @@ pen_color = "#FF0000" //RGB clickable = FALSE + // todo: reorganize vars /// color name var/crayon_color_name = "red" /// what we show as; e.g. 'crayon', 'marker' @@ -35,6 +36,7 @@ /// can eat var/crayon_edible = TRUE + // todo: per user this so you can't see what someone else was about to do lmao /// currently picked datapack string path var/current_graffiti_icon_string_path /// currently picked datapack icon state diff --git a/code/modules/artwork/items/poster.dm b/code/modules/artwork/items/poster.dm index be689b6a4f99..0e76ddfa48a2 100644 --- a/code/modules/artwork/items/poster.dm +++ b/code/modules/artwork/items/poster.dm @@ -26,11 +26,11 @@ poster_design_id = pick(RSposter_designs.fetch_by_tag_mutable(poster_random_tag)) if(poster_design_id != src.poster_design_id) src.poster_design_id = poster_design_id - set_poster_design(RSposter_designs.fetch(poster_design_id)) + set_poster_design(RSposter_designs.fetch_local_or_throw(poster_design_id)) /obj/item/poster/proc/set_poster_design(datum/prototype/poster_design/design) src.name = "rolled-up-poster - [design.name]" - src.desc = "[initial(src.desc)] [design.desc]" + src.desc = "[/obj/item/poster::desc] [design.desc]" src.poster_design_id = design.id //Places the poster on a wall diff --git a/code/modules/artwork/structures/poster.dm b/code/modules/artwork/structures/poster.dm index 4b707581a185..5aff09145088 100644 --- a/code/modules/artwork/structures/poster.dm +++ b/code/modules/artwork/structures/poster.dm @@ -41,11 +41,11 @@ poster_design_id = pick(RSposter_designs.fetch_by_tag_mutable(poster_random_tag)) if(poster_design_id != src.poster_design_id) src.poster_design_id = poster_design_id - set_poster_design(RSposter_designs.fetch(poster_design_id)) + set_poster_design(RSposter_designs.fetch_local_or_throw(poster_design_id)) /obj/structure/poster/proc/set_poster_design(datum/prototype/poster_design/design) src.name = "rolled-up-poster - [design.name]" - src.desc = "[initial(src.desc)] [design.desc]" + src.desc = "[/obj/structure/poster::desc] [design.desc]" src.poster_design_id = design.id src.icon = design.icon src.icon_state = design.icon_state diff --git a/code/modules/artwork/structures/sculpting_block.dm b/code/modules/artwork/structures/sculpting_block.dm index d9e53ef0ced6..b8598d4cbbde 100644 --- a/code/modules/artwork/structures/sculpting_block.dm +++ b/code/modules/artwork/structures/sculpting_block.dm @@ -78,9 +78,15 @@ /// sculpting mask for our block var/icon/sculpting_rolldown_mask -/obj/structure/sculpting_block/Initialize(mapload, material) +/obj/structure/sculpting_block/Initialize(mapload, datum/prototype/material/material_like) // todo: materials system - src.material = RSmaterials.fetch(material || src.material) + if(!isnull(material_like)) + var/resolved_material = RSmaterials.fetch_or_defer(material_like) + switch(resolved_material) + if(REPOSITORY_FETCH_DEFER) + // todo: handle + else + src.material = resolved_material || RSmaterials.fetch_local_or_throw(/datum/prototype/material/steel) // todo: if it autoinit'd, don't do this reset_sculpting() return ..() diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 6cc9c57a6b7f..b8587accaec2 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -45,6 +45,7 @@ /obj/item/assembly_holder/update_icon() cut_overlays() + . = ..() if(a_left) add_overlay("[a_left.icon_state]_left") for(var/O in a_left.attached_overlays) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm index 232a6bac8d05..52cda8da29f1 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm @@ -72,7 +72,7 @@ if(!istype(T)) return - if(T.hides_underfloor_objects() && istype(node1, /obj/machinery/atmospherics/pipe) && istype(node2, /obj/machinery/atmospherics/pipe) && node1.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS && node2.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T.hides_underfloor_objects() && istype(node1, /obj/machinery/atmospherics/pipe) && istype(node2, /obj/machinery/atmospherics/pipe) && node1.will_hide_underfloor() && node2.will_hide_underfloor()) vent_icon += "h" if(!powered()) @@ -88,7 +88,7 @@ var/turf/T = get_turf(src) if(!istype(T)) return - if(T.hides_underfloor_objects() && istype(node1, /obj/machinery/atmospherics/pipe) && istype(node2, /obj/machinery/atmospherics/pipe) && node1.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS && node2.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T.hides_underfloor_objects() && istype(node1, /obj/machinery/atmospherics/pipe) && istype(node2, /obj/machinery/atmospherics/pipe) && node1.will_hide_underfloor() && node2.will_hide_underfloor()) return else if (node1) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 2fb80cbb03af..687d758c207c 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -101,11 +101,12 @@ Thus, the two variables affect pump operation are set in New(): icon_state = "map_on-aux" use_power = 1 -/obj/machinery/atmospherics/component/binary/pump/update_icon() +/obj/machinery/atmospherics/component/binary/pump/update_icon_state() if(!powered()) icon_state = "[base_icon]-off" else icon_state = "[use_power ? "[base_icon]-on" : "[base_icon]-off"]" + return ..() /obj/machinery/atmospherics/component/binary/pump/update_underlays() if(..()) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index be7fc2a85e66..679bcc91a75e 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -22,11 +22,11 @@ open = 1 icon_state = "map_valve1" -/obj/machinery/atmospherics/valve/update_icon(animation) - if(animation) - flick("valve[src.open][!src.open]",src) - else - icon_state = "valve[open]" +/obj/machinery/atmospherics/valve/update_icon_state() + // if(animation) + // flick("valve[src.open][!src.open]",src) + icon_state = "valve[open]" + return ..() /obj/machinery/atmospherics/valve/update_underlays() if(..()) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index b5569a6e056f..6c4eebb9aa4f 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -13,7 +13,9 @@ use_power = USE_POWER_IDLE icon_state = "map_on" -/obj/machinery/atmospherics/component/binary/pump/high_power/update_icon() +/obj/machinery/atmospherics/component/binary/pump/high_power/update_icon_state() + // todo: no don't do this + SHOULD_CALL_PARENT(FALSE) if(!powered()) icon_state = "off" else diff --git a/code/modules/atmospherics/machinery/components/component.dm b/code/modules/atmospherics/machinery/components/component.dm index 33a2b2ba6fc7..444cedb9f9f0 100644 --- a/code/modules/atmospherics/machinery/components/component.dm +++ b/code/modules/atmospherics/machinery/components/component.dm @@ -125,7 +125,7 @@ if(!default_access_interface) return FALSE // todo: refactor silicon interaction - if(interface_require_exposed && is_probably_hidden_underfloor() && !issilicon(user)) + if(interface_require_exposed && is_hidden_underfloor() && !issilicon(user)) return FALSE return ..() @@ -144,7 +144,7 @@ return if(isnull(default_multitool_hijack)) return FALSE - if(hijack_require_exposed && is_probably_hidden_underfloor()) + if(hijack_require_exposed && is_hidden_underfloor()) e_args.chat_feedback(SPAN_WARNING("You can't reach the controls of [src] while it's covered by flooring."), src) return TRUE e_args.visible_feedback( diff --git a/code/modules/atmospherics/machinery/components/omni_devices/omni_base.dm b/code/modules/atmospherics/machinery/components/omni_devices/omni_base.dm index ddfabc06cb6d..3402aca06c88 100644 --- a/code/modules/atmospherics/machinery/components/omni_devices/omni_base.dm +++ b/code/modules/atmospherics/machinery/components/omni_devices/omni_base.dm @@ -49,6 +49,7 @@ build_icons() /obj/machinery/atmospherics/component/quaternary/update_icon() + . = ..() if(machine_stat & NOPOWER) set_overlays(overlays_off.Copy()) else if(error_check()) @@ -193,7 +194,7 @@ var/turf/T = get_turf(src) if(!istype(T)) return - if(T.hides_underfloor_objects() && istype(P.node, /obj/machinery/atmospherics/pipe) && P.node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T.hides_underfloor_objects() && istype(P.node, /obj/machinery/atmospherics/pipe) && P.node.will_hide_underfloor()) //pipe_state = icon_manager.get_atmos_icon("underlay_down", P.dir, color_cache_name(P.node)) pipe_state = icon_manager.get_atmos_icon("underlay", P.dir, color_cache_name(P.node), "down") else diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 1af33310211e..8cd2766430db 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -20,7 +20,8 @@ //node 3 is the outlet, nodes 1 & 2 are intakes -/obj/machinery/atmospherics/component/trinary/mixer/update_icon(var/safety = 0) +/obj/machinery/atmospherics/component/trinary/mixer/update_icon() + . = ..() if(tee) icon_state = "t" else if(mirrored) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm b/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm index 6df7bc5a6a39..f82149660609 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm @@ -27,8 +27,9 @@ icon_state = "map_tvalve1" state = 1 -/obj/machinery/atmospherics/tvalve/update_icon(animation) +/obj/machinery/atmospherics/tvalve/update_icon_state() icon_state = "tvalve[mirrored ? "m" : ""][state]" + return ..() /obj/machinery/atmospherics/tvalve/proc/animation() flick("tvalve[mirrored ? "m" : ""][src.state][!src.state]",src) diff --git a/code/modules/atmospherics/machinery/components/unary/gas_freezer.dm b/code/modules/atmospherics/machinery/components/unary/gas_freezer.dm index e7c576661f2c..4a3b8d4dd0ad 100644 --- a/code/modules/atmospherics/machinery/components/unary/gas_freezer.dm +++ b/code/modules/atmospherics/machinery/components/unary/gas_freezer.dm @@ -46,7 +46,7 @@ if(node) update_icon() -/obj/machinery/atmospherics/component/unary/freezer/update_icon() +/obj/machinery/atmospherics/component/unary/freezer/update_icon_state() if(node) if(use_power && cooling) icon_state = "freezer_1" @@ -54,7 +54,7 @@ icon_state = "freezer" else icon_state = "freezer_0" - return + return ..() /obj/machinery/atmospherics/component/unary/freezer/attack_ai(mob/user as mob) ui_interact(user) diff --git a/code/modules/atmospherics/machinery/components/unary/gas_heater.dm b/code/modules/atmospherics/machinery/components/unary/gas_heater.dm index 022f5157f20b..dbf37cc78662 100644 --- a/code/modules/atmospherics/machinery/components/unary/gas_heater.dm +++ b/code/modules/atmospherics/machinery/components/unary/gas_heater.dm @@ -37,8 +37,7 @@ if(node) update_icon() - -/obj/machinery/atmospherics/component/unary/heater/update_icon() +/obj/machinery/atmospherics/component/unary/heater/update_icon_state() if(node) if(use_power && heating) icon_state = "heater_1" @@ -46,8 +45,7 @@ icon_state = "heater" else icon_state = "heater_0" - return - + return ..() /obj/machinery/atmospherics/component/unary/heater/process(delta_time) ..() diff --git a/code/modules/atmospherics/machinery/components/unary/generator_input.dm b/code/modules/atmospherics/machinery/components/unary/generator_input.dm index f5b184e99dfe..d4fa86c80595 100644 --- a/code/modules/atmospherics/machinery/components/unary/generator_input.dm +++ b/code/modules/atmospherics/machinery/components/unary/generator_input.dm @@ -8,12 +8,12 @@ var/update_cycle -/obj/machinery/atmospherics/component/unary/generator_input/update_icon() +/obj/machinery/atmospherics/component/unary/generator_input/update_icon_state() if(node) icon_state = "intact" else icon_state = "exposed" - return + return ..() /obj/machinery/atmospherics/component/unary/generator_input/proc/return_exchange_air() return air_contents diff --git a/code/modules/atmospherics/machinery/components/unary/heat_exchanger.dm b/code/modules/atmospherics/machinery/components/unary/heat_exchanger.dm index 421b61be1f82..9a3279f6c2f1 100644 --- a/code/modules/atmospherics/machinery/components/unary/heat_exchanger.dm +++ b/code/modules/atmospherics/machinery/components/unary/heat_exchanger.dm @@ -16,11 +16,12 @@ /// * values above 1 currently do nothing var/thermal_conduction_power = 1 -/obj/machinery/atmospherics/component/unary/heat_exchanger/update_icon() +/obj/machinery/atmospherics/component/unary/heat_exchanger/update_icon_state() if(node) icon_state = "intact" else icon_state = "exposed" + return ..() /obj/machinery/atmospherics/component/unary/heat_exchanger/process() ..() @@ -49,7 +50,7 @@ /obj/machinery/atmospherics/component/unary/heat_exchanger/attackby(var/obj/item/W as obj, var/mob/user as mob) if (!W.is_wrench()) return ..() - if(is_probably_hidden_underfloor()) + if(is_hidden_underfloor()) to_chat(user, "You must remove the plating first.") return 1 if(unsafe_pressure()) diff --git a/code/modules/atmospherics/machinery/components/unary/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary/outlet_injector.dm index ca0498f07b66..77510a782b3f 100644 --- a/code/modules/atmospherics/machinery/components/unary/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary/outlet_injector.dm @@ -31,11 +31,12 @@ unregister_radio(src, frequency) . = ..() -/obj/machinery/atmospherics/component/unary/outlet_injector/update_icon() +/obj/machinery/atmospherics/component/unary/outlet_injector/update_icon_state() if(!powered()) icon_state = "off" else icon_state = "[use_power ? "on" : "off"]" + return ..() /obj/machinery/atmospherics/component/unary/outlet_injector/update_underlays() if(..()) diff --git a/code/modules/atmospherics/machinery/components/unary/oxygen_generator.dm b/code/modules/atmospherics/machinery/components/unary/oxygen_generator.dm index d47883ae893d..fc787125d6e2 100644 --- a/code/modules/atmospherics/machinery/components/unary/oxygen_generator.dm +++ b/code/modules/atmospherics/machinery/components/unary/oxygen_generator.dm @@ -12,6 +12,7 @@ var/oxygen_content = 10 /obj/machinery/atmospherics/component/unary/oxygen_generator/update_icon() + . = ..() if(node) icon_state = "intact_[on?("on"):("off")]" else diff --git a/code/modules/atmospherics/machinery/components/unary/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary/portables_connector.dm index 525aeffd03eb..6115334e3a77 100644 --- a/code/modules/atmospherics/machinery/components/unary/portables_connector.dm +++ b/code/modules/atmospherics/machinery/components/unary/portables_connector.dm @@ -38,8 +38,9 @@ /obj/machinery/atmospherics/portables_connector/init_dir() initialize_directions = dir -/obj/machinery/atmospherics/portables_connector/update_icon() +/obj/machinery/atmospherics/portables_connector/update_icon_state() icon_state = "connector" + return ..() /obj/machinery/atmospherics/portables_connector/update_underlays() if(..()) diff --git a/code/modules/atmospherics/machinery/components/unary/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary/vent_pump.dm index 9635f2fcafc8..51a6c780bd8c 100644 --- a/code/modules/atmospherics/machinery/components/unary/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary/vent_pump.dm @@ -88,11 +88,13 @@ //QDEL_NULL(soundloop) return ..() -/obj/machinery/atmospherics/component/unary/vent_pump/update_icon(safety = 0) +/obj/machinery/atmospherics/component/unary/vent_pump/update_icon() + cut_overlays() + . = ..() + if(!check_icon_cache()) return - cut_overlays() var/vent_icon = "vent" @@ -100,7 +102,7 @@ if(!istype(T)) return - if(is_probably_hidden_underfloor() && istype(node, /obj/machinery/atmospherics/pipe) && node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(is_hidden_underfloor() && istype(node, /obj/machinery/atmospherics/pipe) && node.will_hide_underfloor()) vent_icon += "h" if(welded) @@ -118,7 +120,7 @@ var/turf/T = get_turf(src) if(!istype(T)) return - if(is_probably_hidden_underfloor() && istype(node, /obj/machinery/atmospherics/pipe) && node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(is_hidden_underfloor() && istype(node, /obj/machinery/atmospherics/pipe) && node.will_hide_underfloor()) return else if(node) @@ -276,7 +278,7 @@ if (!(machine_stat & NOPOWER) && on) to_chat(user, "You cannot unwrench \the [src], turn it off first.") return 1 - if(is_probably_hidden_underfloor() && node?.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(is_hidden_underfloor() && node?.will_hide_underfloor()) to_chat(user, "You must remove the plating first.") return 1 if(unsafe_pressure()) @@ -497,7 +499,7 @@ if(!istype(T)) return - if(T.hides_underfloor_objects() && istype(node, /obj/machinery/atmospherics/pipe) && node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T.hides_underfloor_objects() && istype(node, /obj/machinery/atmospherics/pipe) && node.will_hide_underfloor()) vent_icon += "h" if(welded) diff --git a/code/modules/atmospherics/machinery/components/unary/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary/vent_scrubber.dm index a3551e56ae16..e0018fac2e08 100644 --- a/code/modules/atmospherics/machinery/components/unary/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary/vent_scrubber.dm @@ -104,12 +104,12 @@ else if(isnum(key)) scrub_groups |= key -/obj/machinery/atmospherics/component/unary/vent_scrubber/update_icon(safety = 0) +/obj/machinery/atmospherics/component/unary/vent_scrubber/update_icon() + cut_overlays() + . = ..() if(!check_icon_cache()) return - cut_overlays() - var/scrubber_icon = "scrubber" var/turf/T = get_turf(src) @@ -131,7 +131,7 @@ var/turf/T = get_turf(src) if(!istype(T)) return - if(T.hides_underfloor_objects() && istype(node, /obj/machinery/atmospherics/pipe) && node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T.hides_underfloor_objects() && istype(node, /obj/machinery/atmospherics/pipe) && node.will_hide_underfloor()) return else if(node) @@ -234,7 +234,7 @@ to_chat(user, "You cannot unwrench \the [src], turn it off first.") return 1 var/turf/T = src.loc - if(T?.hides_underfloor_objects() && node?.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T?.hides_underfloor_objects() && node?.will_hide_underfloor()) to_chat(user, "You must remove the plating first.") return 1 if(unsafe_pressure()) @@ -428,12 +428,12 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/retro/on/welded welded = 1 -/obj/machinery/atmospherics/component/unary/vent_scrubber/retro/update_icon(safety = 0) +/obj/machinery/atmospherics/component/unary/vent_scrubber/retro/update_icon() + cut_overlays() + . = ..() if(!check_icon_cache()) return - cut_overlays() - var/scrubber_icon = "scrubber" var/turf/T = get_turf(src) diff --git a/code/modules/atmospherics/machinery/machinery.dm b/code/modules/atmospherics/machinery/machinery.dm index 68b5ff4a4d84..c05093fe0ff6 100644 --- a/code/modules/atmospherics/machinery/machinery.dm +++ b/code/modules/atmospherics/machinery/machinery.dm @@ -19,7 +19,6 @@ Pipelines + Other Objects -> Pipe network obj_flags = OBJ_ON_BLUEPRINTS | OBJ_MELEE_TARGETABLE // why block contents? so you ventcrawling little fucks don't pull a 2020 Citadel Main. rad_flags = RAD_BLOCK_CONTENTS | RAD_NO_CONTAMINATE - atom_colouration_system = FALSE climb_allowed = FALSE depth_projected = FALSE hides_underfloor = OBJ_UNDERFLOOR_UNLESS_PLACED_ONTOP @@ -115,7 +114,7 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/add_underlay(var/turf/T, var/obj/machinery/atmospherics/node, var/direction, var/icon_connect_type) if(node) - if(istype(node, /obj/machinery/atmospherics/pipe) && (node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) && T.hides_underfloor_objects()) + if(istype(node, /obj/machinery/atmospherics/pipe) && (node.will_hide_underfloor()) && T.hides_underfloor_objects()) //underlays += icon_manager.get_atmos_icon("underlay_down", direction, color_cache_name(node)) underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type) else diff --git a/code/modules/atmospherics/machinery/meter.dm b/code/modules/atmospherics/machinery/meter.dm index 768aad460259..3119c92e4a95 100644 --- a/code/modules/atmospherics/machinery/meter.dm +++ b/code/modules/atmospherics/machinery/meter.dm @@ -25,7 +25,7 @@ /obj/machinery/meter/proc/select_target() var/obj/machinery/atmospherics/pipe/P for(P in loc) - if(!P.is_probably_hidden_underfloor()) + if(!P.is_hidden_underfloor()) break if(!P) P = locate(/obj/machinery/atmospherics/pipe) in loc diff --git a/code/modules/atmospherics/machinery/pipes/cap.dm b/code/modules/atmospherics/machinery/pipes/cap.dm index 4bb605aa5eef..5c7b5b1cc8cf 100644 --- a/code/modules/atmospherics/machinery/pipes/cap.dm +++ b/code/modules/atmospherics/machinery/pipes/cap.dm @@ -45,7 +45,8 @@ if(node) node.update_underlays() -/obj/machinery/atmospherics/pipe/cap/update_icon(safety = 0) +/obj/machinery/atmospherics/pipe/cap/update_icon() + . = ..() if(!check_icon_cache()) return diff --git a/code/modules/atmospherics/machinery/pipes/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/he_pipes.dm index e47c45c9e71f..2afbad129463 100644 --- a/code/modules/atmospherics/machinery/pipes/he_pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/he_pipes.dm @@ -28,7 +28,7 @@ /obj/machinery/atmospherics/pipe/simple/heat_exchanging/Initialize(mapload) . = ..() - add_atom_colour("#404040", FIXED_COLOUR_PRIORITY) //we don't make use of the fancy overlay system for colours, use this to set the default. + add_atom_color("#404040") //we don't make use of the fancy overlay system for colours, use this to set the default. /obj/machinery/atmospherics/pipe/simple/heat_exchanging/init_dir() ..() diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index 81514c4bc765..f6999981c210 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -79,7 +79,8 @@ if(node3) node3.update_underlays() -/obj/machinery/atmospherics/pipe/manifold/update_icon(safety = 0) +/obj/machinery/atmospherics/pipe/manifold/update_icon() + . = ..() if(!check_icon_cache()) return diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm index bf2b52ea8d87..bf4626778a04 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm @@ -79,7 +79,8 @@ if(node4) node4.update_underlays() -/obj/machinery/atmospherics/pipe/manifold4w/update_icon(safety = 0) +/obj/machinery/atmospherics/pipe/manifold4w/update_icon() + . = ..() if(!check_icon_cache()) return diff --git a/code/modules/atmospherics/machinery/pipes/pipe_base.dm b/code/modules/atmospherics/machinery/pipes/pipe_base.dm index 092553eebf3c..deb88dab9799 100644 --- a/code/modules/atmospherics/machinery/pipes/pipe_base.dm +++ b/code/modules/atmospherics/machinery/pipes/pipe_base.dm @@ -27,7 +27,7 @@ // pipes are always underfloor if inside a wall // we just check for loc.density 'cause speed lmao if(loc?.density) - hides_underfloor = OBJ_UNDERFLOOR_ALWAYS + hides_underfloor = OBJ_UNDERFLOOR_ACTIVE return ..() /obj/machinery/atmospherics/pipe/handle_grid_overlap(grid_flags) @@ -96,7 +96,7 @@ if (!W.is_wrench()) return ..() - if (is_probably_hidden_underfloor()) + if (is_hidden_underfloor()) to_chat(user, "You must remove the plating first.") return 1 if(unsafe_pressure()) diff --git a/code/modules/atmospherics/machinery/pipes/simple.dm b/code/modules/atmospherics/machinery/pipes/simple.dm index 54e53ab5d648..f67ded35be67 100644 --- a/code/modules/atmospherics/machinery/pipes/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/simple.dm @@ -98,7 +98,8 @@ if(node2) node2.update_underlays() -/obj/machinery/atmospherics/pipe/simple/update_icon(safety = 0) +/obj/machinery/atmospherics/pipe/simple/update_icon() + . = ..() if(!check_icon_cache()) return diff --git a/code/modules/atmospherics/machinery/pipes/universal.dm b/code/modules/atmospherics/machinery/pipes/universal.dm index ff049e78369c..20f8d9c6ce87 100644 --- a/code/modules/atmospherics/machinery/pipes/universal.dm +++ b/code/modules/atmospherics/machinery/pipes/universal.dm @@ -121,7 +121,7 @@ /obj/machinery/atmospherics/proc/add_underlay_adapter(var/turf/T, var/obj/machinery/atmospherics/node, var/direction, var/icon_connect_type) //modified from add_underlay, does not make exposed underlays if(node) - if(T.hides_underfloor_objects() && istype(node, /obj/machinery/atmospherics/pipe) && node.hides_underfloor == OBJ_UNDERFLOOR_ALWAYS) + if(T.hides_underfloor_objects() && istype(node, /obj/machinery/atmospherics/pipe) && node.will_hide_underfloor()) underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type) else underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) diff --git a/code/modules/atmospherics/machinery/pipes/vent.dm b/code/modules/atmospherics/machinery/pipes/vent.dm index cd43dbb8159a..72600a4656a3 100644 --- a/code/modules/atmospherics/machinery/pipes/vent.dm +++ b/code/modules/atmospherics/machinery/pipes/vent.dm @@ -40,8 +40,9 @@ return list(node1) /obj/machinery/atmospherics/pipe/vent/update_icon() + . = ..() if(node1) - if(is_probably_hidden_underfloor()) + if(is_hidden_underfloor()) icon_state = "hintact" else icon_state = "intact" diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index be7402f1ffa5..1ad9bb188669 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -194,6 +194,7 @@ return 0 /obj/machinery/portable_atmospherics/canister/update_icon() + . = ..() /* update_flag 1 = holding diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 1e314a16cb8f..5073a2db087c 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -26,6 +26,7 @@ /obj/machinery/portable_atmospherics/powered/pump/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() if(on && cell && cell.charge) @@ -39,7 +40,6 @@ if(connected_port) overlays_to_add += "siphon-connector" add_overlay(overlays_to_add) - return /obj/machinery/portable_atmospherics/powered/pump/emp_act(severity) if(machine_stat & (BROKEN|NOPOWER)) @@ -207,7 +207,7 @@ /obj/machinery/portable_atmospherics/powered/pump/huge/update_icon() cut_overlays() - + . = ..() if(on && !(machine_stat & (NOPOWER|BROKEN))) icon_state = "siphon:1" else diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index 145bc59c2455..dd2f1c5f0243 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -139,6 +139,7 @@ /obj/machinery/portable_atmospherics/powered/scrubber/huge/update_icon() cut_overlays() + . = ..() if(on && !(machine_stat & (NOPOWER|BROKEN))) icon_state = "scrubber:1" diff --git a/code/modules/automata/__automata.dm b/code/modules/automata/automata.dm similarity index 100% rename from code/modules/automata/__automata.dm rename to code/modules/automata/automata.dm diff --git a/code/modules/automata/explosion.dm b/code/modules/automata/types/explosion.dm similarity index 100% rename from code/modules/automata/explosion.dm rename to code/modules/automata/types/explosion.dm diff --git a/code/modules/automata/sonar.dm b/code/modules/automata/types/sonar.dm similarity index 100% rename from code/modules/automata/sonar.dm rename to code/modules/automata/types/sonar.dm diff --git a/code/modules/automata/_wave.dm b/code/modules/automata/types/wave.dm similarity index 100% rename from code/modules/automata/_wave.dm rename to code/modules/automata/types/wave.dm diff --git a/code/modules/awaymissions/pamphlet.dm b/code/modules/awaymissions/pamphlet.dm index 3170b322f928..f623f704b219 100644 --- a/code/modules/awaymissions/pamphlet.dm +++ b/code/modules/awaymissions/pamphlet.dm @@ -33,10 +33,6 @@ Though complete safety is assured, participants are advised to prepare for inhospitable \ environs." -//we don't want the silly text overlay! -/obj/item/paper/pamphlet/update_icon() - return - /obj/item/paper/pamphlet/violent_video_games name = "pamphlet - \'Violent Video Games and You\'" desc = "A pamphlet encouraging the reader to maintain a balanced lifestyle and take care of their mental health, while still enjoying video games in a healthy way. You probably don't need this..." diff --git a/code/modules/blob2/blobs/base_blob.dm b/code/modules/blob2/blobs/base_blob.dm index 505d6c155dab..63164294cd35 100644 --- a/code/modules/blob2/blobs/base_blob.dm +++ b/code/modules/blob2/blobs/base_blob.dm @@ -37,6 +37,7 @@ var/list/blobs = list() return ..() /obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. + . = ..() if(overmind) name = "[overmind.blob_type.name] [base_name]" // This is in update_icon() because inert blobs can turn into other blobs with magic if another blob core claims it with pulsing. color = overmind.blob_type.color diff --git a/code/modules/blob2/blobs/core.dm b/code/modules/blob2/blobs/core.dm index 6a737206a128..8f799a5d1d8c 100644 --- a/code/modules/blob2/blobs/core.dm +++ b/code/modules/blob2/blobs/core.dm @@ -103,6 +103,7 @@ var/list/blob_cores = list() /obj/structure/blob/core/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() color = null var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") diff --git a/code/modules/blob2/blobs/node.dm b/code/modules/blob2/blobs/node.dm index 7f39e3ad3afb..b4d4d8d45d72 100644 --- a/code/modules/blob2/blobs/node.dm +++ b/code/modules/blob2/blobs/node.dm @@ -22,6 +22,7 @@ var/list/blob_nodes = list() /obj/structure/blob/node/update_icon() cut_overlays() + . = ..() var/list/overlays_to_add = list() color = null var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index bb1edf8d647a..8d20b0cbcad9 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -467,7 +467,7 @@ var/sql_system_ckey = sanitizeSQL(system_ckey) var/sql_ckey = sanitizeSQL(ckey) //check to see if we noted them in the last day. - var/datum/DBQuery/query_get_notes = SSdbcore.NewQuery("SELECT id FROM [format_table_name("messages")] WHERE type = 'note' AND targetckey = '[sql_ckey]' AND adminckey = '[sql_system_ckey]' AND timestamp + INTERVAL 1 DAY < NOW() AND deleted = 0 AND expire_timestamp > NOW()") + var/datum/DBQuery/query_get_notes = SSdbcore.NewQuery("SELECT id FROM [DB_PREFIX_TABLE_NAME("messages")] WHERE type = 'note' AND targetckey = '[sql_ckey]' AND adminckey = '[sql_system_ckey]' AND timestamp + INTERVAL 1 DAY < NOW() AND deleted = 0 AND expire_timestamp > NOW()") if(!query_get_notes.Execute()) qdel(query_get_notes) return @@ -476,7 +476,7 @@ return qdel(query_get_notes) //regardless of above, make sure their last note is not from us, as no point in repeating the same note over and over. - query_get_notes = SSdbcore.NewQuery("SELECT adminckey FROM [format_table_name("messages")] WHERE targetckey = '[sql_ckey]' AND deleted = 0 AND expire_timestamp > NOW() ORDER BY timestamp DESC LIMIT 1") + query_get_notes = SSdbcore.NewQuery("SELECT adminckey FROM [DB_PREFIX_TABLE_NAME("messages")] WHERE targetckey = '[sql_ckey]' AND deleted = 0 AND expire_timestamp > NOW() ORDER BY timestamp DESC LIMIT 1") if(!query_get_notes.Execute()) qdel(query_get_notes) return diff --git a/code/modules/client/connection.dm b/code/modules/client/connection.dm index 5e45f624d366..8f52aebf6ecb 100644 --- a/code/modules/client/connection.dm +++ b/code/modules/client/connection.dm @@ -7,7 +7,7 @@ return var/datum/db_query/lookup = SSdbcore.NewQuery( - "SELECT id FROM [format_table_name("player_lookup")] WHERE ckey = :ckey", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("player_lookup")] WHERE ckey = :ckey", list( "ckey" = ckey, ) @@ -20,7 +20,7 @@ if(sql_id) var/datum/db_query/update = SSdbcore.NewQuery( - "UPDATE [format_table_name("player_lookup")] SET lastseen = Now(), ip = :ip, computerid = :computerid, lastadminrank = :lastadminrank WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("player_lookup")] SET lastseen = Now(), ip = :ip, computerid = :computerid, lastadminrank = :lastadminrank WHERE id = :id", list( "ip" = address, "computerid" = computer_id, @@ -33,7 +33,7 @@ else //New player!! Need to insert all the stuff var/datum/db_query/insert = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("player_lookup")] (id, ckey, firstseen, lastseen, ip, computerid, lastadminrank) VALUES (null, :ckey, Now(), Now(), :ip, :cid, :rank)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("player_lookup")] (id, ckey, firstseen, lastseen, ip, computerid, lastadminrank) VALUES (null, :ckey, Now(), Now(), :ip, :cid, :rank)", list( "ckey" = ckey, "ip" = address, @@ -55,7 +55,7 @@ return SSdbcore.RunQuery( - "INSERT INTO [format_table_name("connection_log")] (id, datetime, serverip, ckey, ip, computerid) VALUES (null, Now(), :server, :ckey, :ip, :cid)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("connection_log")] (id, datetime, serverip, ckey, ip, computerid) VALUES (null, Now(), :server, :ckey, :ip, :cid)", list( "server" = "[world.internet_address]:[world.port]", "ckey" = ckey, diff --git a/code/modules/client/data/client_data.dm b/code/modules/client/data/client_data.dm index 8b74a28b368e..b1f70aec30eb 100644 --- a/code/modules/client/data/client_data.dm +++ b/code/modules/client/data/client_data.dm @@ -136,7 +136,7 @@ GLOBAL_LIST_EMPTY(client_data) playtime_mutex = FALSE return var/datum/db_query/query = SSdbcore.NewQuery( - "SELECT `roleid`, `minutes` FROM [format_table_name("playtime")] WHERE player = :player", + "SELECT `roleid`, `minutes` FROM [DB_PREFIX_TABLE_NAME("playtime")] WHERE player = :player", list( "player" = player_id, ) diff --git a/code/modules/client/data/player_data.dm b/code/modules/client/data/player_data.dm index dfbc4c6faa97..591ed3bb33b5 100644 --- a/code/modules/client/data/player_data.dm +++ b/code/modules/client/data/player_data.dm @@ -94,7 +94,7 @@ GLOBAL_LIST_EMPTY(player_data) return var/datum/db_query/lookup lookup = SSdbcore.ExecuteQuery( - "SELECT id, playerid, firstseen FROM [format_table_name("player_lookup")] WHERE ckey = :ckey", + "SELECT id, playerid, firstseen FROM [DB_PREFIX_TABLE_NAME("player_lookup")] WHERE ckey = :ckey", list( "ckey" = ckey ) @@ -111,7 +111,7 @@ GLOBAL_LIST_EMPTY(player_data) lookup_pid = text2num(lookup_pid) qdel(lookup) lookup = SSdbcore.ExecuteQuery( - "SELECT id, flags, datediff(Now(), firstseen), firstseen, misc FROM [format_table_name("player")] WHERE id = :id", + "SELECT id, flags, datediff(Now(), firstseen), firstseen, misc FROM [DB_PREFIX_TABLE_NAME("player")] WHERE id = :id", list( "id" = lookup_pid ) @@ -147,7 +147,7 @@ GLOBAL_LIST_EMPTY(player_data) var/datum/db_query/insert if(migrate_firstseen) insert = SSdbcore.ExecuteQuery( - "INSERT INTO [format_table_name("player")] (flags, firstseen, lastseen, misc) VALUES (:flags, :fs, Now(), :misc)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("player")] (flags, firstseen, lastseen, misc) VALUES (:flags, :fs, Now(), :misc)", list( "flags" = player_flags, "fs" = migrate_firstseen, @@ -157,7 +157,7 @@ GLOBAL_LIST_EMPTY(player_data) player_first_seen = migrate_firstseen else insert = SSdbcore.ExecuteQuery( - "INSERT INTO [format_table_name("player")] (flags, firstseen, lastseen, misc) VALUES (:flags, Now(), Now(), :misc)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("player")] (flags, firstseen, lastseen, misc) VALUES (:flags, Now(), Now(), :misc)", list( "flags" = player_flags, "misc" = safe_json_encode(player_misc), @@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(player_data) qdel(insert) // now update lookup insert = SSdbcore.ExecuteQuery( - "UPDATE [format_table_name("player_lookup")] SET playerid = :pid WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("player_lookup")] SET playerid = :pid WHERE id = :id", list( "id" = lookup_id, "pid" = insert_id @@ -211,7 +211,7 @@ GLOBAL_LIST_EMPTY(player_data) /datum/player_data/proc/_save() qdel(SSdbcore.ExecuteQuery( - "UPDATE [format_table_name("player")] SET flags = :flags, misc = :misc WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("player")] SET flags = :flags, misc = :misc WHERE id = :id", list( "flags" = player_flags, "id" = player_id, @@ -232,7 +232,7 @@ GLOBAL_LIST_EMPTY(player_data) if(!block_on_available()) return FALSE qdel(SSdbcore.ExecuteQuery( - "UPDATE [format_table_name("player")] SET lastseen = Now() WHERE id = :id", + "UPDATE [DB_PREFIX_TABLE_NAME("player")] SET lastseen = Now() WHERE id = :id", list( "id" = player_id, ) diff --git a/code/modules/client/game_preferences/game_preferences.dm b/code/modules/client/game_preferences/game_preferences.dm index c54d71592dc4..667a98c8d4ed 100644 --- a/code/modules/client/game_preferences/game_preferences.dm +++ b/code/modules/client/game_preferences/game_preferences.dm @@ -369,7 +369,7 @@ usr = null var/datum/db_query/query = SSdbcore.NewQuery( - "SELECT `toggles`, `entries`, `misc`, `keybinds`, `version` FROM [format_table_name("game_preferences")] \ + "SELECT `toggles`, `entries`, `misc`, `keybinds`, `version` FROM [DB_PREFIX_TABLE_NAME("game_preferences")] \ WHERE `player` = :player", list( "player" = authoritative_player_id, @@ -413,7 +413,7 @@ usr = null var/datum/db_query/query = SSdbcore.NewQuery( - "INSERT INTO [format_table_name("game_preferences")] \ + "INSERT INTO [DB_PREFIX_TABLE_NAME("game_preferences")] \ (`player`, `toggles`, `entries`, `misc`, `keybinds`, `version`, `modified`) VALUES \ (:player, :toggles, :entries, :misc, :keybinds, :version, Now()) ON DUPLICATE KEY UPDATE \ `player` = VALUES(player), `toggles` = VALUES(toggles), `entries` = VALUES(entries), `misc` = VALUES(misc), \ diff --git a/code/modules/clothing/accessories/halo.dm b/code/modules/clothing/accessories/halo.dm index 28646511a0b0..6ea632337d77 100644 --- a/code/modules/clothing/accessories/halo.dm +++ b/code/modules/clothing/accessories/halo.dm @@ -16,12 +16,12 @@ generate_styles() AddElement(/datum/element/clothing/dynamic_recolor) -/obj/item/clothing/accessory/halo_projector/available_styles(mob/user) +/obj/item/clothing/accessory/halo_projector/style_repick_query(mob/user) . = ..() for(var/halo_name in global_halo_styles) .[halo_name] = global_halo_styles[halo_name] -/obj/item/clothing/accessory/halo_projector/set_style(style, mob/user) +/obj/item/clothing/accessory/halo_projector/style_repick_set(style, mob/user) . = ..() if(.) return @@ -30,11 +30,11 @@ /obj/item/clothing/accessory/halo_projector/equipped(mob/user, slot, flags) . = ..() - RegisterSignal(user, COMSIG_MOB_UPDATE_TRANSFORM, PROC_REF(on_update_transform)) + RegisterSignal(user, COMSIG_MOVABLE_ON_UPDATE_TRANSFORM, PROC_REF(on_update_transform)) /obj/item/clothing/accessory/halo_projector/unequipped(mob/user, slot, flags) . = ..() - UnregisterSignal(user, COMSIG_MOB_UPDATE_TRANSFORM) + UnregisterSignal(user, COMSIG_MOVABLE_ON_UPDATE_TRANSFORM) /obj/item/clothing/accessory/halo_projector/proc/on_update_transform(datum/source, matrix/old_transform, matrix/new_transform) SIGNAL_HANDLER diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 8d2de2bcc9d7..e76f2ed187b3 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -231,25 +231,29 @@ else icon = initial(icon) -//? styles +//* Style Repicking *// /** * returns available styles as name = state or image or mutable_appearance */ -/obj/item/clothing/proc/available_styles(mob/user) +/obj/item/clothing/proc/style_repick_query(mob/user) + SHOULD_NOT_SLEEP(TRUE) . = list() /** * sets us to a specific style + * + * * do not update_icon() or update_worn_icon() in here, we do that automatically. */ -/obj/item/clothing/proc/set_style(style, mob/user) +/obj/item/clothing/proc/style_repick_set(style, mob/user) + SHOULD_NOT_SLEEP(TRUE) return FALSE /** * prompts a user to pick style */ -/obj/item/clothing/proc/pick_style(mob/user) - var/list/available = available_styles(user) +/obj/item/clothing/proc/style_repick_open(mob/user) + var/list/available = style_repick_query(user) var/list/assembled = list() for(var/name in available) var/using = available[name] @@ -272,9 +276,16 @@ var/choice = show_radial_menu(user, loc == user ? user : src, assembled, radius = 48) if(isnull(choice)) return - set_style(choice, user) - -/obj/item/clothing/verb/pick_style_verb() + if(!style_repick_set(choice, user)) + return + // todo: logging API + to_chat(user, SPAN_NOTICE("You set [src]'s style to [choice].")) + log_game("[key_name(user)] set [src]'s style to [choice]") + update_icon() + update_worn_icon() + +// todo: context menu this instead +/obj/item/clothing/verb/style_repick_verb() set name = "Set Worn Style" set category = VERB_CATEGORY_IC set desc = "Wear this piece of clothing in a different style." @@ -284,4 +295,4 @@ usr.action_feedback(SPAN_WARNING("You can't do that right now!"), src) return - pick_style(usr) + style_repick_open(usr) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index b44e788cc9d6..a3e5d4d52762 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -585,11 +585,12 @@ BLIND // can't see anything update_worn_icon() update_action_buttons() -/obj/item/clothing/glasses/sunglasses/sechud/aviator/update_icon() +/obj/item/clothing/glasses/sunglasses/sechud/aviator/update_icon_state() if(on) icon_state = initial(icon_state) else icon_state = inactive_icon_state + return ..() /obj/item/clothing/glasses/sunglasses/sechud/aviator/prescription name = "prescription security HUD aviators" diff --git a/code/modules/clothing/suits/hooded.dm b/code/modules/clothing/suits/hooded.dm index 2313d71f09f6..1e83041cd00f 100644 --- a/code/modules/clothing/suits/hooded.dm +++ b/code/modules/clothing/suits/hooded.dm @@ -63,7 +63,7 @@ else hood.atom_flags &= ~PHORONGUARD hood.set_armor(fetch_armor()) - hood.copy_atom_colour(src) + hood.copy_atom_color(src) // equip after armor / color changes H.equip_to_slot_if_possible(hood, SLOT_ID_HEAD) hood_up = TRUE diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index f7ce6de2bdfd..1110856226ed 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -96,7 +96,7 @@ //? Styles -/obj/item/clothing/under/available_styles(mob/user) +/obj/item/clothing/under/style_repick_query(mob/user) . = list() var/old_roll = worn_rolled_down var/old_sleeves = worn_rolled_sleeves @@ -114,7 +114,7 @@ worn_rolled_down = old_roll worn_rolled_sleeves = old_sleeves -/obj/item/clothing/under/set_style(style, mob/user) +/obj/item/clothing/under/style_repick_set(style, mob/user) . = ..() if(.) return diff --git a/code/modules/clothing/under/gear_harness.dm b/code/modules/clothing/under/gear_harness.dm new file mode 100644 index 000000000000..1b47733b5d5e --- /dev/null +++ b/code/modules/clothing/under/gear_harness.dm @@ -0,0 +1,25 @@ +/obj/item/clothing/under/gear_harness + name = "gear harness" + desc = "How... minimalist." + icon_state = "gear_harness" + body_cover_flags = NONE + +/obj/item/clothing/under/gear_harness/style_repick_query(mob/user) + . = ..() + var/image/normal_image = image(icon, "gear_harness") + normal_image.maptext = "normal" + .["normal"] = normal_image + var/image/invisible_image = image('icons/system/blank_32x32.dmi', "") + invisible_image.maptext = "invisible" + .["invisible"] = invisible_image + +/obj/item/clothing/under/gear_harness/style_repick_set(style, mob/user) + switch(style) + if("normal") + worn_render_flags = initial(worn_render_flags) + return TRUE + if("invisible") + worn_render_flags |= WORN_RENDER_SLOT_NO_RENDER + return TRUE + else + return FALSE diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index af736577488a..ab14cd390f53 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -724,12 +724,6 @@ icon_state = "cuttop_red" item_state_slots = list(SLOT_ID_RIGHT_HAND = "red", SLOT_ID_LEFT_HAND = "red") -/obj/item/clothing/under/harness - name = "gear harness" - desc = "How... minimalist." - icon_state = "gear_harness" - body_cover_flags = 0 - /obj/item/clothing/under/dress/white name = "white wedding dress" desc = "A fancy white dress with a blue underdress." @@ -2419,6 +2413,16 @@ worn_has_rolldown = UNIFORM_HAS_NO_ROLL worn_has_rollsleeve = UNIFORM_HAS_NO_ROLL +/obj/item/clothing/under/replika/sakr + name = "medical replikant bodysuit" + desc = "A skin-tight bodysuit designed for 2nd generation biosynthetics of the medical variety. Comes with default interfacing ports and a conspicuous lack of leg coverage." + description_fluff = "These purpose-made interfacing bodysuits are designed and produced by the Singheim Bureau of Biosynthetic Development for their long-running second generation of Biosynthetics, commonly known by the term Replikant. Although anyone could wear these, their overall cut and metallic ports along the spine make it rather uncomfortable to most." + icon = 'icons/clothing/uniform/misc/replika.dmi' + icon_state = "sakr" + worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL + worn_has_rolldown = UNIFORM_HAS_NO_ROLL + worn_has_rollsleeve = UNIFORM_HAS_NO_ROLL + /obj/item/clothing/under/replika/fklr name = "command replikant bodysuit" desc = "A skin-tight bodysuit designed for 2nd generation biosynthetics of the command variety. Comes with interfacing ports, an air of formality, and a conspicuous lack of leg coverage." diff --git a/code/modules/examine/descriptions/stacks.dm b/code/modules/examine/descriptions/stacks.dm index ec7f8cc6f8cc..1f2b1085f229 100644 --- a/code/modules/examine/descriptions/stacks.dm +++ b/code/modules/examine/descriptions/stacks.dm @@ -19,6 +19,3 @@ /obj/item/stack/material/cyborg/steel description_info = "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it.
\ You can replenish your supply of metal as a synthetic by recharging." - -/obj/item/stack/material - description_info = "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it." diff --git a/code/modules/frames/frame_step.dm b/code/modules/frames/frame_step.dm index 0c3c6c35119a..5b40f8dc3cb8 100644 --- a/code/modules/frames/frame_step.dm +++ b/code/modules/frames/frame_step.dm @@ -30,6 +30,11 @@ var/request_type /// ergo: stack type, item type, tool function, etc. what this is depends on [step_type] /// limited autodetection is allowed. + /// + /// allowed: + /// * /datum/prototype/material path + /// * /obj/item/stack path + /// * /obj/item path var/request /// * stacks: amount /// * items: amount; if 0, we just apply the item to it @@ -157,11 +162,12 @@ /datum/frame_step/proc/valid_interaction(datum/event_args/actor/actor, obj/item/using_tool, datum/frame2/frame_datum, obj/structure/frame2/frame) switch(request_type) if(FRAME_REQUEST_TYPE_INTERACT) - return TRUE + return isnull(using_tool) if(FRAME_REQUEST_TYPE_ITEM) return using_tool?.type == request if(FRAME_REQUEST_TYPE_STACK) - return using_tool?.type == request + var/obj/item/stack/using_stack = using_tool + return using_stack.can_use_as_type(request) if(FRAME_REQUEST_TYPE_PROC) return FALSE // override this proc if(FRAME_REQUEST_TYPE_TOOL) diff --git a/code/modules/frames/types/fire_alarm.dm b/code/modules/frames/types/fire_alarm.dm index 03f5797e8e8b..c35f319481f4 100644 --- a/code/modules/frames/types/fire_alarm.dm +++ b/code/modules/frames/types/fire_alarm.dm @@ -46,7 +46,7 @@ AUTO_FRAME_DATUM(/datum/frame2/fire_alarm, fire_alarm, 'icons/machinery/fire_ala steps = list( /datum/frame_step{ request = /obj/item/stack/cable_coil; - name = "unsecure circuit"; + name = "wire circuit"; request_amount = 1; stage = "wired"; direction = TOOL_DIRECTION_FORWARDS; diff --git a/code/modules/ghostroles/instantiator.dm b/code/modules/ghostroles/instantiator.dm index 2b532457ddf5..604ce5902a7b 100644 --- a/code/modules/ghostroles/instantiator.dm +++ b/code/modules/ghostroles/instantiator.dm @@ -67,8 +67,6 @@ return H /datum/ghostrole_instantiator/human/Equip(client/C, mob/M, list/params) - var/mob/living/carbon/human/H = M - // H.dna.species.before_equip_job(null, H) var/datum/outfit/O = GetOutfit(C, M, params) @@ -76,7 +74,6 @@ O = new O O.equip(M) - H.species.equip_survival_gear(H, TRUE, TRUE) // H.dna.species.after_equip_job(null, H) /** diff --git a/code/modules/hardsuits/_rig.dm b/code/modules/hardsuits/_rig.dm index 55f51f8b0877..6c2f3873a851 100644 --- a/code/modules/hardsuits/_rig.dm +++ b/code/modules/hardsuits/_rig.dm @@ -448,7 +448,7 @@ if(seal_delay && !instant && !do_self(M, seal_delay, DO_AFTER_IGNORE_ACTIVE_ITEM | DO_AFTER_IGNORE_MOVEMENT, NONE)) failed_to_seal = 1 - piece.copy_atom_colour(src) + piece.copy_atom_color(src) piece.icon_state = "[suit_state][is_sealing ? "_sealed" : ""]" piece.update_worn_icon() switch(msg_type) @@ -484,7 +484,7 @@ if(!piece) continue piece.icon_state = "[suit_state][is_activated() ? "_sealed" : ""]" - piece.copy_atom_colour(src) + piece.copy_atom_color(src) piece.update_worn_icon() if(is_activated()) @@ -956,7 +956,7 @@ else if (deploy_mode != ONLY_RETRACT) if(check_slot && check_slot == use_obj) return - use_obj.copy_atom_colour(src) + use_obj.copy_atom_color(src) if(!H.equip_to_slot_if_possible(use_obj, equip_to, INV_OP_FORCE)) if(check_slot && warn == 1) to_chat(H, "You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way.") diff --git a/code/modules/industry/disposals/disposal/chute.dm b/code/modules/industry/disposals/disposal/chute.dm index 29fdecbfa936..2df7e71372e6 100644 --- a/code/modules/industry/disposals/disposal/chute.dm +++ b/code/modules/industry/disposals/disposal/chute.dm @@ -17,7 +17,6 @@ desc = "A pneumatic waste disposal unit." icon = 'icons/obj/pipes/disposal.dmi' icon_state = "disposal" - atom_colouration_system = FALSE anchored = TRUE density = TRUE pass_flags_self = ATOM_PASS_OVERHEAD_THROW diff --git a/code/modules/industry/disposals/disposal_frame.dm b/code/modules/industry/disposals/disposal_frame.dm index 3a239b67f9c6..484473c2762b 100644 --- a/code/modules/industry/disposals/disposal_frame.dm +++ b/code/modules/industry/disposals/disposal_frame.dm @@ -282,7 +282,7 @@ anchored = 1 if(ispipe) - set_hides_underfloor(OBJ_UNDERFLOOR_ALWAYS) + set_hides_underfloor(OBJ_UNDERFLOOR_ACTIVE) density = 0 else density = 1 // We don't want disposal bins or outlets to go density 0 diff --git a/code/modules/industry/disposals/disposal_pipe.dm b/code/modules/industry/disposals/disposal_pipe.dm index ec16874fdf64..c4fa1dbc1e19 100644 --- a/code/modules/industry/disposals/disposal_pipe.dm +++ b/code/modules/industry/disposals/disposal_pipe.dm @@ -6,7 +6,7 @@ desc = "An underfloor disposal pipe." anchored = 1 density = 0 - hides_underfloor = OBJ_UNDERFLOOR_ALWAYS + hides_underfloor = OBJ_UNDERFLOOR_ACTIVE dir = 0 // dir will contain dominant direction for junction pipes plane = TURF_PLANE layer = DISPOSAL_LAYER // slightly lower than wires and other pipes. diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm index 4df26d733387..ab0df67f8899 100644 --- a/code/modules/integrated_electronics/core/integrated_circuit.dm +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -339,10 +339,10 @@ a creative player the means to solve many problems. Circuits are held inside an if(!check_power()) power_fail() return FALSE + do_work(ord) //Moved it behind next use incase the cooldown is modified in do_work next_use = world.time + cooldown_per_use if(assembly) assembly.ext_next_use = world.time + ext_cooldown - do_work(ord) return TRUE /obj/item/integrated_circuit/proc/do_work(ord) diff --git a/code/modules/integrated_electronics/subtypes/converters.dm b/code/modules/integrated_electronics/subtypes/converters.dm index 3ed86bb8ddca..1225cb657346 100644 --- a/code/modules/integrated_electronics/subtypes/converters.dm +++ b/code/modules/integrated_electronics/subtypes/converters.dm @@ -458,7 +458,7 @@ /obj/item/integrated_circuit/converter/hsv2hex name = "hsv to hexadecimal converter" desc = "This circuit can convert a HSV (Hue, Saturation, and Value) color to a Hexadecimal RGB color." - extended_desc = "The first pin controls tint (0-359), the second pin controls how intense the tint is (0-255), \ + extended_desc = "The first pin controls tint (0-360), the second pin controls how intense the tint is (0-255), \ and the third controls how bright the tint is (0 for black, 127 for normal, 255 for white)." icon_state = "hsv-hex" inputs = list( @@ -476,7 +476,7 @@ var/saturation = get_pin_data(IC_INPUT, 2) var/value = get_pin_data(IC_INPUT, 3) if(isnum(hue) && isnum(saturation) && isnum(value)) - result = HSVtoRGB(hsv(AngleToHue(hue),saturation,value)) + result = hsv2rgb(list(hue, saturation, value)) set_pin_data(IC_OUTPUT, 1, result) push_data() diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 5679c18b6a82..2dd9e32b12b2 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -213,32 +213,93 @@ name = "integrated advanced medical analyzer" desc = "A very small version of the medibot's medical analyzer. This allows the machine to know how healthy someone is. \ - - This type is much more precise, allowing the machine to know much more about the target than a normal analyzer." + This type is much more precise, allowing the machine to know much more about the target than a normal analyzer. \ + A better health scanner can be installed to expand functionality. T1 for brain damage, bleeding and infection. \ + T2 For fractions and internal bleeding. T3 for non medical reagents." icon_state = "medscan_adv" complexity = 12 inputs = list("target" = IC_PINTYPE_REF) outputs = list( - "brain activity" = IC_PINTYPE_BOOLEAN, - "is conscious" = IC_PINTYPE_BOOLEAN, - "total health %" = IC_PINTYPE_NUMBER, - "total missing health" = IC_PINTYPE_NUMBER, - "brute damage" = IC_PINTYPE_NUMBER, - "burn damage" = IC_PINTYPE_NUMBER, - "tox damage" = IC_PINTYPE_NUMBER, - "oxy damage" = IC_PINTYPE_NUMBER, - "clone damage" = IC_PINTYPE_NUMBER, - "blood loss" = IC_PINTYPE_NUMBER, - "pain level" = IC_PINTYPE_NUMBER, - "radiation" = IC_PINTYPE_NUMBER, - "nutrition" = IC_PINTYPE_NUMBER, - "list of reagents" = IC_PINTYPE_LIST, - "quantity of reagents" = IC_PINTYPE_LIST + "brain activity" = IC_PINTYPE_BOOLEAN, //1 + "is conscious" = IC_PINTYPE_BOOLEAN, //2 + "total health %" = IC_PINTYPE_NUMBER, //3 + "total missing health" = IC_PINTYPE_NUMBER, //4 + "brute damage" = IC_PINTYPE_NUMBER, //5 + "burn damage" = IC_PINTYPE_NUMBER, //6 + "tox damage" = IC_PINTYPE_NUMBER, //7 + "oxy damage" = IC_PINTYPE_NUMBER, //8 + "clone damage" = IC_PINTYPE_NUMBER, //9 + "blood loss" = IC_PINTYPE_NUMBER, //10 + "pain level" = IC_PINTYPE_NUMBER, //11 + "radiation" = IC_PINTYPE_NUMBER, //12 + "nutrition" = IC_PINTYPE_NUMBER, //13 + "list of reagents" = IC_PINTYPE_LIST, //14 + "quantity of reagents" = IC_PINTYPE_LIST, //15 + "health scan tier" = IC_PINTYPE_NUMBER, //16 + "brain damage" = IC_PINTYPE_NUMBER, //17 + "bleeding limbs" = IC_PINTYPE_LIST, //18 + "infected limbs" = IC_PINTYPE_LIST, //19 + "internal bleeding" = IC_PINTYPE_LIST, //20 + "fractured limbs" = IC_PINTYPE_LIST //21 ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 4) power_draw_per_use = 80 + can_be_asked_input = TRUE + var/obj/item/healthanalyzer/current_healthanalyzer + var/advscan = 0 + //T1: brain damage, bleeding, infection. T2: show location of IB and fracture. T3: show non medical reagents + +/obj/item/integrated_circuit/input/adv_med_scanner/ask_for_input(mob/living/user, obj/item/I, a_intent) + if(!current_healthanalyzer) + if(!isobj(I)) + return FALSE + attackby_react(I, user, a_intent) + else + attack_self(user) + +/obj/item/integrated_circuit/input/adv_med_scanner/attackby_react(var/obj/item/healthanalyzer/I, var/mob/living/user) + //Check if it truly is a health scanner + if(!(istype(I,/obj/item/healthanalyzer))) + to_chat(user,"The [I.name] doesn't seem to fit in here.") + return + + //Check if there is no other health scanner already inside + if(current_healthanalyzer) + to_chat(user,"There is already a health scanner inside.") + return + + if(!user.attempt_insert_item_for_installation(I, src)) + return + + //The health scanner is the one we just attached, its location is inside the circuit + current_healthanalyzer = I + + to_chat(user,"You slot in the [I.name] inside the assembly.") + + //Set the pin to a weak reference of the current beaker + set_pin_data(IC_OUTPUT, 16, I.advscan) + advscan = I.advscan + push_data() + +/obj/item/integrated_circuit/input/adv_med_scanner/attack_self(mob/user) + . = ..() + if(.) + return + //Check if no health scanner is attached + if(!current_healthanalyzer) + to_chat(user, "There is currently no health scanner attached.") + return + + //Remove beaker and put in user's hands/location + to_chat(user, "You yank the [current_healthanalyzer] out of the slot.") + user.put_in_hands(current_healthanalyzer) + current_healthanalyzer = null + //Reset to 0 + set_pin_data(IC_OUTPUT, 16, 0) + advscan = 0 + push_data() /obj/item/integrated_circuit/input/adv_med_scanner/do_work(ord) if(ord == 1) @@ -267,11 +328,38 @@ var/cont[0] var/amt[0] for(var/datum/reagent/RE in H.reagents.reagent_list) - if(RE.scannable) + if(RE.scannable || advscan >= 3) cont += RE.id amt += round(H.reagents.get_reagent_amount(RE.id), 1) set_pin_data(IC_OUTPUT, 14, cont) set_pin_data(IC_OUTPUT, 15, amt) + var/frac[0] + var/ib[0] + var/bleed[0] + var/infec[0] + if(advscan >= 1) + set_pin_data(IC_OUTPUT, 17, H.getBrainLoss()) + for(var/obj/item/organ/external/e in H.organs) + if(!e) + continue + // Bleeding + if(e.status & ORGAN_BLEEDING) + bleed += e.name + // Infections + if(e.has_infected_wound()) + infec += e.name + if(advscan >= 2) + // Broken limbs + if(e.status & ORGAN_BROKEN) + frac += e.name + // IB + for(var/datum/wound/W as anything in e.wounds) + if(W.internal) + ib += e.name + set_pin_data(IC_OUTPUT, 18, bleed) + set_pin_data(IC_OUTPUT, 19, infec) + set_pin_data(IC_OUTPUT, 20, ib) + set_pin_data(IC_OUTPUT, 21, frac) push_data() activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 1853251f7c19..acee9d66a4f8 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -635,12 +635,12 @@ name = "mining drill" desc = "A mining drill that can drill through rocks." extended_desc = "A mining drill to strike the earth. It takes some time to get the job done and \ - must remain stationary until complete." + must remain stationary until complete. By default an advanced mining drill is installed but better once can be attached." category_text = "Manipulation" - ext_cooldown = 1 + ext_cooldown = 5 //Required to not make instant death circuits complexity = 40 - cooldown_per_use = 3 SECONDS - ext_cooldown = 6 SECONDS + cooldown_per_use = 1 //We have 'busy' as our safty net + can_be_asked_input = TRUE inputs = list( "target" = IC_PINTYPE_REF ) @@ -653,6 +653,9 @@ spawn_flags = IC_SPAWN_RESEARCH power_draw_per_use = 1000 + var/obj/item/pickaxe/current_pickaxe + var/digspeed = 3 SECONDS + var/busy = FALSE var/targetlock var/usedx @@ -662,15 +665,57 @@ var/drill_force = 15 var/turf/simulated/mineral +/obj/item/integrated_circuit/mining/mining_drill/proc/ask_for_input(mob/living/user, obj/item/I, a_intent) + if(!current_pickaxe) + if(!isobj(I)) + return FALSE + attackby_react(I, user, a_intent) + else + attack_self(user) + +/obj/item/integrated_circuit/mining/mining_drill/attackby_react(var/obj/item/pickaxe/I, var/mob/living/user) + //Check if it truly is a pickaxe + if(!(istype(I,/obj/item/pickaxe))) + to_chat(user,"The [I.name] doesn't seem to fit in here.") + return + + //Check if there is no other pickaxe already inside + if(current_pickaxe) + to_chat(user,"There is already a [current_pickaxe.name] inside.") + return + + if(!user.attempt_insert_item_for_installation(I, src)) + return + + current_pickaxe = I + to_chat(user,"You attach the [I.name] inside the assembly.") + digspeed = I.digspeed + +/obj/item/integrated_circuit/mining/mining_drill/attack_self(mob/user) + . = ..() + if(.) + return + //Check if no drill is attached + if(!current_pickaxe) + to_chat(user, "There is currently no mining tool attached.") + return + + //Remove beaker and put in user's hands/location + to_chat(user, "You yank the [current_pickaxe] out of the slot.") + user.put_in_hands(current_pickaxe) + current_pickaxe = null + //Reset to default + digspeed = 3 SECONDS + /obj/item/integrated_circuit/mining/mining_drill/do_work(ord) if(ord == 1) var/atom/target = get_pin_data(IC_INPUT, 1) var/drill_delay = null - if(!target || busy) + if(!target || busy || !target.Adjacent(assembly)) activate_pin(3) return src.assembly.visible_message(SPAN_DANGER("[assembly] starts to drill [target]!"), null, SPAN_WARNING("You hear a drill.")) - drill_delay = isturf(target)? 6 SECONDS : isliving(target) ? issimple(target) ? 2 SECONDS : 3 SECONDS : 4 SECONDS + drill_delay = isturf(target)? digspeed : isliving(target) ? issimple(target) ? 2 SECONDS : 3 SECONDS : 4 SECONDS busy = TRUE targetlock = target usedx = assembly.loc.x diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 489e89379262..d3116a6ab077 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -177,16 +177,18 @@ desc = "A miniature speaker is attached to this component." icon_state = "speaker" complexity = 8 - cooldown_per_use = 4 SECONDS + cooldown_per_use = 1 SECONDS //The cooldown is adjusted by sound length + var/cooldown_after_use = 1 SECONDS //Extra cooldown added to the sound length inputs = list( "sound ID" = IC_PINTYPE_STRING, "volume" = IC_PINTYPE_NUMBER, "frequency" = IC_PINTYPE_BOOLEAN ) - outputs = list() - activators = list("play sound" = IC_PINTYPE_PULSE_IN) + outputs = list("cooldown duration" = IC_PINTYPE_NUMBER) + activators = list("play sound" = IC_PINTYPE_PULSE_IN, "on played" = IC_PINTYPE_PULSE_OUT) power_draw_per_use = 20 var/list/sounds = list() + var/list/durations = list() //Audacity works decently well to finding out deciseconds /obj/item/integrated_circuit/output/sound/Initialize(mapload) . = ..() @@ -205,8 +207,13 @@ var/selected_sound = sounds[ID] if(!selected_sound) return + var/selected_cooldown = durations[ID] vol = clamp( vol, 0, 100) playsound(get_turf(src), selected_sound, vol, freq, -1) + cooldown_per_use = selected_cooldown + cooldown_after_use + set_pin_data(IC_OUTPUT, 1, cooldown_per_use) + push_data() + activate_pin(2) /obj/item/integrated_circuit/output/sound/beeper name = "beeper circuit" @@ -223,6 +230,16 @@ "synth no" = 'sound/machines/synth_no.ogg', "warning buzz" = 'sound/machines/warning-buzzer.ogg' ) + durations = list( + "beep" = 3, + "chime" = 4, + "buzz sigh" = 3, + "buzz twice" = 6, + "ping" = 5, + "synth yes" = 4, + "synth no" = 4, + "warning buzz" = 35 + ) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH /obj/item/integrated_circuit/output/sound/beepsky @@ -238,6 +255,16 @@ "radio" = 'sound/voice/bradio.ogg', "secure day" = 'sound/voice/bsecureday.ogg', ) + durations = list( + "creep" = 16, + "criminal" = 11, + "freeze" = 10, + "god" = 30, + "i am the law" = 22, + "insult" = 141, //Yeah it is that long + "radio" = 18, + "secure day" = 12, + ) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_ILLEGAL = 1) @@ -261,9 +288,86 @@ "apple" = 'sound/voice/medibot/mapple.ogg', "no" = 'sound/voice/medibot/mno.ogg', ) + durations = list( + "surgeon" = 39, + "radar" = 16, + "feel better" = 14, + "patched up" = 11, + "injured" = 21, + "insult" = 155, + "coming" = 20, + "help" = 13, + "live" = 15, + "lost" = 45, + "flies" = 50, + "catch" = 38, + "delicious" = 7, + "apple" = 23, + "no" = 16, + ) spawn_flags = IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 1) +/obj/item/integrated_circuit/output/sound/hev + name = "HEV sound circuit" + desc = "Takes a sound name as an input, and will play said sound when pulsed. This circuit is similar to those used in some old RIG suit" + cooldown_after_use = 5 + sounds = list( + "bio_warn" = 'sound/voice/Hevsounds/biohazard_detected.wav', + "chem_warn" = 'sound/voice/Hevsounds/chemical_detected.wav', + "rad_warn" = 'sound/voice/Hevsounds/radiation_detected.wav', + "near_death" = 'sound/voice/Hevsounds/near_death.wav', + "seek_medic" = 'sound/voice/Hevsounds/seek_medic.wav', + "shock_damage" = 'sound/voice/Hevsounds/shock_damage.wav', + "blood_loss" = 'sound/voice/Hevsounds/blood_loss.wav', + "blood_plasma" = 'sound/voice/Hevsounds/blood_plasma.wav', + "blood_toxins" = 'sound/voice/Hevsounds/blood_toxins.wav', + "health_critical" = 'sound/voice/Hevsounds/health_critical.wav', + "health_dropping" = 'sound/voice/Hevsounds/health_dropping.wav', + "health_dropping2" = 'sound/voice/Hevsounds/health_dropping2.wav', + "minor_fracture" = 'sound/voice/Hevsounds/minor_fracture.wav', + "minor_lacerations" = 'sound/voice/Hevsounds/minor_lacerations.wav', + "major_fracture" = 'sound/voice/Hevsounds/major_fracture.wav', + "major_lacerations" = 'sound/voice/Hevsounds/major_lacerations.wav', + "wound_sterilized" = 'sound/voice/Hevsounds/wound_sterilized.wav', + "administering_medical" = 'sound/voice/Hevsounds/administering_medical.wav', + "adrenaline_shot" = 'sound/voice/Hevsounds/adrenaline_shot.wav', + "automedic_on" = 'sound/voice/Hevsounds/automedic_on.wav', + "antitoxin_shot" = 'sound/voice/Hevsounds/antitoxin_shot.wav', + "heat_damage" = 'sound/voice/Hevsounds/heat_damage.wav', + "morphine_shot" = 'sound/voice/Hevsounds/morphine_shot.wav', + "innsuficient_medical" = 'sound/voice/Hevsounds/innsuficient_medical.wav', + "internal_bleeding" = 'sound/voice/Hevsounds/internal_bleeding.wav' + ) + durations = list( + "bio_warn" = 31, + "chem_warn" = 38, + "rad_warn" = 45, + "near_death" = 36, + "seek_medic" = 25, + "shock_damage" = 23, + "blood_loss" = 22, + "blood_plasma" = 26, + "blood_toxins" = 38, + "health_critical" = 32, + "health_dropping" = 35, + "health_dropping2" = 29, + "minor_fracture" = 24, + "minor_lacerations" = 29, + "major_fracture" = 24, + "major_lacerations" = 30, + "wound_sterilized" = 20, + "administering_medical" = 31, + "adrenaline_shot" = 20, + "automedic_on" = 35, + "antitoxin_shot" = 22, + "heat_damage" = 30, + "morphine_shot" = 20, + "innsuficient_medical" = 45, + "internal_bleeding" = 24 + ) + spawn_flags = IC_SPAWN_RESEARCH + /obj/item/integrated_circuit/output/video_camera name = "video camera circuit" desc = "This small camera allows a remote viewer to see what it sees." diff --git a/code/modules/jobs/job_types/station/civillian/assistant.dm b/code/modules/jobs/job_types/station/civillian/assistant.dm index 7537c89fc28d..df32b6a506e5 100644 --- a/code/modules/jobs/job_types/station/civillian/assistant.dm +++ b/code/modules/jobs/job_types/station/civillian/assistant.dm @@ -83,3 +83,5 @@ name = OUTFIT_JOB_NAME("Server") uniform = /obj/item/clothing/under/waiter l_ear = /obj/item/radio/headset/headset_service + + diff --git a/code/modules/jobs/job_types/station/civillian/outsider.dm b/code/modules/jobs/job_types/station/civillian/outsider.dm new file mode 100644 index 000000000000..8356d824d64f --- /dev/null +++ b/code/modules/jobs/job_types/station/civillian/outsider.dm @@ -0,0 +1,82 @@ +/datum/role/job/station/outsider + id = JOB_ID_OUTSIDER + title = "Traveler" + flag = OUTSIDER + departments = list(DEPARTMENT_CIVILIAN) + sorting_order = -1 + department_flag = CIVILIAN + total_positions = -1 + spawn_positions = -1 + desc = "You are in the sector for various reason, may it be visiting or simply exploring. You start on the Nebula Gas Station, and can use the services here. (This is not a antag role)" + supervisors = "Nobody !" + selection_color = "#515151" + outfit_type = /datum/outfit/job/station/outsider + alt_titles = list( + "Contractor" = /datum/prototype/struct/alt_title/contractor, + "Freelancer" = /datum/prototype/struct/alt_title/freelancer, + "Frontier Colonist" = /datum/prototype/struct/alt_title/colonist, + "Tourist" = /datum/prototype/struct/alt_title/tourist, + "Independant Reporter" = /datum/prototype/struct/alt_title/indyreport + ) + +/datum/outfit/job/station/outsider + name = OUTFIT_JOB_NAME("outsider") + id_type = /obj/item/card/id/assistant + l_ear = /obj/item/radio/headset/trader/outsider + shoes = /obj/item/clothing/shoes/black + uniform = /obj/item/clothing/under/laconic + suit = /obj/item/clothing/suit/storage/tajaran/jacket + gloves = /obj/item/clothing/gloves/fingerless + id_slot = SLOT_ID_WORN_ID + pda_slot = SLOT_ID_BELT + pda_type = /obj/item/pda + flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL + backpack_contents = list(/obj/item/spacecash/c200 = 1) + +/datum/prototype/struct/alt_title/contractor + title = "Contractor" + title_outfit = /datum/outfit/job/station/outsider/contractor + title_blurb = "You are a independant contractor, working for a faction." + +/datum/prototype/struct/alt_title/freelancer + title = "Freelancer" + title_outfit = /datum/outfit/job/station/outsider/freelancer + title_blurb = "You are a independant freelancer." + +/datum/prototype/struct/alt_title/colonist + title = "Frontier Colonist" + title_outfit = /datum/outfit/job/station/outsider/colonist + title_blurb = "You are a colonist in the frontier! Make yourself a home on any place in the sector." + +/datum/prototype/struct/alt_title/tourist + title = "Tourist" + title_outfit = /datum/outfit/job/station/outsider/tourist + title_blurb = "You are a tourist, visiting the sector." + +/datum/prototype/struct/alt_title/indyreport + title = "Independant Reporter" + title_outfit = /datum/outfit/job/station/outsider/indyreport + title_blurb = "You are a tourist, visiting the sector." + +/datum/outfit/job/station/outsider/contractor + id_pda_assignment = "Contractor" + +/datum/outfit/job/station/outsider/freelancer + id_pda_assignment = "Freelancer" + +/datum/outfit/job/station/outsider/colonist + id_pda_assignment = "Colonist" + +/datum/outfit/job/station/outsider/tourist + id_pda_assignment = "Tourist" + +/datum/outfit/job/station/outsider/indyreport + name = OUTFIT_JOB_NAME("Independant Reporter") + uniform = /obj/item/clothing/under/suit_jacket/red + id_type = /obj/item/card/id/assistant + pda_type = /obj/item/pda/librarian + belt = /obj/item/camera + backpack_contents = list(/obj/item/clothing/accessory/badge/corporate_tag/press = 1, + /obj/item/tape_recorder = 1, + /obj/item/camera_film = 1 + ) diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 53c094292974..5cce9bc8d511 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -55,6 +55,7 @@ var/const/BRIDGE =(1<<12) var/const/PILOT =(1<<13) var/const/ENTERTAINER =(1<<14) var/const/TRADER =(1<<15) +var/const/OUTSIDER =(1<<16) /proc/guest_jobbans(job) diff --git a/code/modules/language/language.dm b/code/modules/language/language.dm index be809af403a0..ecb4d2eada44 100644 --- a/code/modules/language/language.dm +++ b/code/modules/language/language.dm @@ -232,7 +232,7 @@ // Language handling. /mob/proc/add_language(var/language) - var/datum/prototype/language/new_language = RSlanguages.fetch(language) || RSlanguages.legacy_resolve_language_name(language) + var/datum/prototype/language/new_language = RSlanguages.fetch_or_defer(language) || RSlanguages.legacy_resolve_language_name(language) if(!istype(new_language) || (new_language in languages)) return 0 @@ -241,12 +241,12 @@ return 1 /mob/proc/remove_language(var/rem_language) - var/datum/prototype/language/L = RSlanguages.fetch(rem_language) + var/datum/prototype/language/L = RSlanguages.fetch_or_defer(rem_language) . = (L in languages) languages.Remove(L) /mob/living/remove_language(rem_language) - var/datum/prototype/language/L = RSlanguages.fetch(rem_language) + var/datum/prototype/language/L = RSlanguages.fetch_or_defer(rem_language) if(default_language == L) default_language = null return ..() diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 3980cecb08d0..c9b60e2e4b91 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -49,7 +49,7 @@ AUTHORTITLECATEGORYSS13BN"} var/datum/db_query/query = SSdbcore.RunQuery( - "SELECT author, title, category, id FROM [format_table_name("library")] WHERE author LIKE '%:author%' AND title LIKE '%:title%'[category == "Any"? "" : " AND category = :category"]", + "SELECT author, title, category, id FROM [DB_PREFIX_TABLE_NAME("library")] WHERE author LIKE '%:author%' AND title LIKE '%:title%'[category == "Any"? "" : " AND category = :category"]", category == "Any"? list("author" = author, "title" = title) : list("author" = author, "title" = title, "category" = category) ) @@ -229,7 +229,7 @@
TITLE\The [src] already has \a [cell] installed.") return - if(!user.attempt_insert_item_for_installation(cell, src)) + if(!user.attempt_insert_item_for_installation(thing, src)) return cell = thing playsound(loc, 'sound/machines/click.ogg', 10, 1) @@ -81,7 +79,7 @@ if(power_cost > cell.charge) to_chat(user, "The [src] flashes a warning light, it doesn't have enough charge to dig.") return - if(cell.use(power_cost) && do_after(user, 2.5 SECONDS)) + if(do_after(user, 2.5 SECONDS) && cell.use(power_cost)) var/turf/T = get_turf(user) LEGACY_EX_ACT(T, 1, null) diff --git a/code/modules/mob/_modifiers/traits.dm b/code/modules/mob/_modifiers/traits.dm index aebfaa893a39..b2febfb3fb0c 100644 --- a/code/modules/mob/_modifiers/traits.dm +++ b/code/modules/mob/_modifiers/traits.dm @@ -163,3 +163,41 @@ client_color = MATRIX_Monochromia wire_colors_replace = GREYSCALE_COLOR_REPLACE + +/datum/modifier/trait/underwater_stealth + name = "underwater stealth" + desc = "You are currently underwater, rendering it more difficult to see you and enabling you to move quicker, thanks to your aquatic nature." + + on_created_text = "You sink under the water." + on_expired_text = "You come out from the water." + + stacks = MODIFIER_STACK_FORBID + + slowdown = -1.0 //A bit faster when actually submerged fully in water, as you're not waddling through it. + siemens_coefficient = 1.5 //You are, however, underwater. Getting shocked will hurt. + + outgoing_melee_damage_percent = 0.75 //You are swinging a sword under water...Good luck. + accuracy = -50 //You're underwater. Good luck shooting a gun. (Makes shots as if you were 3.33 tiles further.) + evasion = 30 //You're underwater and a bit harder to hit. + +/datum/modifier/trait/underwater_stealth/on_applied() + holder.alpha = 50 + return + +/datum/modifier/trait/underwater_stealth/on_expire() + holder.alpha = 255 + return + +/datum/modifier/trait/underwater_stealth/tick() + if(holder.stat == DEAD) + expire(silent = TRUE) //If you're dead you float to the top. + if(istype(holder.loc, /turf/simulated/floor/water)) + var/turf/simulated/floor/water/water_floor = holder.loc + if(water_floor.depth < 1) //You're not in deep enough water anymore. + expire(silent = FALSE) + if(water_floor.depth > 1) + holder.alpha = 50 + else + holder.alpha = 65 + else + expire(silent = FALSE) diff --git a/code/modules/mob/animations.dm b/code/modules/mob/animations.dm index 24ea11d5c459..e9facbae81f4 100644 --- a/code/modules/mob/animations.dm +++ b/code/modules/mob/animations.dm @@ -46,18 +46,21 @@ note dizziness decrements automatically in the mob's Life() proc. jitteriness = min(1000, jitteriness + amount) // store what will be new value // clamped to max 1000 - if(jitteriness > 100 && !is_jittery) + + var/effective_jitteriness = get_effective_impairment_power_jitter() + if(effective_jitteriness > 100 && !is_jittery) spawn(0) jittery_process() - /mob/proc/jittery_process() if(IS_DEAD(src))//Dead people dont twitch around return is_jittery = 1 - while(jitteriness > 100) - var/amplitude = min(4, jitteriness / 100) + var/effective_jitteriness = get_effective_impairment_power_jitter() + while(effective_jitteriness > 100) + effective_jitteriness = get_effective_impairment_power_jitter() + var/amplitude = min(4, effective_jitteriness / 100) pixel_x = get_managed_pixel_x() + rand(-amplitude, amplitude) pixel_y = get_managed_pixel_y() + rand(-amplitude/3, amplitude/3) diff --git a/code/modules/mob/grab.dm b/code/modules/mob/grab.dm index 0ceb80369444..a95f20074ac7 100644 --- a/code/modules/mob/grab.dm +++ b/code/modules/mob/grab.dm @@ -198,7 +198,9 @@ if(affecting.loc != assailant.loc || size_difference(affecting, assailant) > 0) force_down = 0 else - affecting.afflict_paralyze(20 * 2) + affecting.afflict_knockdown(3 SECONDS) + affecting.afflict_root(3 SECONDS) + affecting.afflict_daze(3 SECONDS) if(state >= GRAB_NECK) affecting.afflict_stun(20 * 3) @@ -650,7 +652,9 @@ /obj/item/grab/proc/apply_pinning(mob/target, mob/attacker) force_down = 1 - target.afflict_paralyze(20 * 3) + target.afflict_knockdown(4 SECONDS) + target.afflict_root(4 SECONDS) + target.afflict_daze(4 SECONDS) step_to(attacker, target) attacker.setDir(EAST) //face the victim target.setDir(SOUTH) //face up diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index f7971dab6c18..15112d12b63e 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -2,6 +2,8 @@ /obj/item/holder name = "holder" desc = "You shouldn't ever see this." + icon = 'icons/system/blank_32x32.dmi' + icon_state = "" SET_APPEARANCE_FLAGS(KEEP_TOGETHER | PIXEL_SCALE | TILE_BOUND) slot_flags = SLOT_HEAD | SLOT_HOLSTER show_messages = 1 diff --git a/code/modules/mob/inventory/inventory-hands-check.dm b/code/modules/mob/inventory/inventory-hands-check.dm index 6333f19c08a9..5274183f2143 100644 --- a/code/modules/mob/inventory/inventory-hands-check.dm +++ b/code/modules/mob/inventory/inventory-hands-check.dm @@ -1,6 +1,8 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2024 Citadel Station Developers *// +// todo: deal with below; new inventory-level api, don't just mirror from mob? + //* Procs in this file are mirrored to the /mob level for ease of use. *// //* *// //* In the future, there should likely be a separation of concerns *// diff --git a/code/modules/mob/inventory/inventory-hands-drop.dm b/code/modules/mob/inventory/inventory-hands-drop.dm index 8af8c926ddde..11fb852f9d4b 100644 --- a/code/modules/mob/inventory/inventory-hands-drop.dm +++ b/code/modules/mob/inventory/inventory-hands-drop.dm @@ -1,6 +1,8 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2024 Citadel Station Developers *// +// todo: deal with below; new inventory-level api, don't just mirror from mob? + //* Procs in this file are mirrored to the /mob level for ease of use. *// //* *// //* In the future, there should likely be a separation of concerns *// diff --git a/code/modules/mob/inventory/inventory-hands-get.dm b/code/modules/mob/inventory/inventory-hands-get.dm index 112ee8aa114c..467e5148f8d3 100644 --- a/code/modules/mob/inventory/inventory-hands-get.dm +++ b/code/modules/mob/inventory/inventory-hands-get.dm @@ -28,6 +28,8 @@ return return held.inv_slot_attached() +// todo: deal with below; new inventory-level api, don't just mirror from mob? + /** * Gets items in given hand indices. * diff --git a/code/modules/mob/inventory/inventory-hands-legacy.dm b/code/modules/mob/inventory/inventory-hands-legacy.dm index 1dd8749bdf3c..7ae4b731e44f 100644 --- a/code/modules/mob/inventory/inventory-hands-legacy.dm +++ b/code/modules/mob/inventory/inventory-hands-legacy.dm @@ -1,6 +1,8 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2024 Citadel Station Developers *// +// todo: deal with below; new inventory-level api, don't just mirror from mob? + /** * returns if we're holding something in inactive hand slots * diff --git a/code/modules/mob/inventory/inventory-hands-put.dm b/code/modules/mob/inventory/inventory-hands-put.dm index 2aabea67031d..32857bfe0a26 100644 --- a/code/modules/mob/inventory/inventory-hands-put.dm +++ b/code/modules/mob/inventory/inventory-hands-put.dm @@ -1,6 +1,8 @@ //* This file is explicitly licensed under the MIT license. *// //* Copyright (c) 2024 Citadel Station Developers *// +// todo: deal with below; new inventory-level api, don't just mirror from mob? + //* Procs in this file are mirrored to the /mob level for ease of use. *// //* *// //* In the future, there should likely be a separation of concerns *// @@ -101,6 +103,9 @@ */ /mob/proc/put_in_hands_or_drop(obj/item/I, inv_op_flags, atom/drop_loc, specific_index) // inventory null --> INV_RETURN_FAILED, as that's also #define'd to be null + if(!inventory) + I.forceMove(drop_loc || drop_location()) + return INV_RETURN_FAILED return inventory?.put_in_hands_or_drop(I, inv_op_flags, drop_loc, specific_index) /** diff --git a/code/modules/mob/inventory/inventory-hands.dm b/code/modules/mob/inventory/inventory-hands.dm index 9f196ff259dd..c1bebce9fe7f 100644 --- a/code/modules/mob/inventory/inventory-hands.dm +++ b/code/modules/mob/inventory/inventory-hands.dm @@ -13,5 +13,3 @@ /datum/inventory/proc/get_hand_count() return length(held_items) - -// todo: all inventory core procs go on the inventory, not the mob; mob is just a hook point! diff --git a/code/modules/mob/inventory/inventory-slot-equip.dm b/code/modules/mob/inventory/inventory-slot-equip.dm index 21cbe837e1e4..62fddfeb99f1 100644 --- a/code/modules/mob/inventory/inventory-slot-equip.dm +++ b/code/modules/mob/inventory/inventory-slot-equip.dm @@ -5,10 +5,10 @@ * Equips an item to a slot or deletes it. * * @params - * * Entity - Item being equipped. + * * entity - Item being equipped. * * type_or_id - A typepath, or string ID. * * inv_op_flags - INV_OP_* bits. - * * actors - Actor data of who did it. + * * actor - Actor data of who did it. * * @return TRUE / FALSE */ @@ -19,10 +19,10 @@ * Equips an item to a slot or drops it beneath our owner. * * @params - * * Entity - Item being equipped. + * * entity - Item being equipped. * * type_or_id - A typepath, or string ID. * * inv_op_flags - INV_OP_* bits. - * * actors - Actor data of who did it. + * * actor - Actor data of who did it. * * @return TRUE / FALSE */ @@ -36,10 +36,10 @@ * Equips an item to a slot if possible * * @params - * * Entity - Item being equipped. + * * entity - Item being equipped. * * type_or_id - A typepath, or string ID. * * inv_op_flags - INV_OP_* bits. - * * actors - Actor data of who did it. + * * actor - Actor data of who did it. * * @return TRUE / FALSE */ @@ -50,10 +50,10 @@ * Equips an item to a slot forcefully, trampling anything in the way. * * @params - * * Entity - Item being equipped. + * * entity - Item being equipped. * * type_or_id - A typepath, or string ID. * * inv_op_flags - INV_OP_* bits. - * * actors - Actor data of who did it. + * * actor - Actor data of who did it. * * @return TRUE / FALSE */ @@ -64,12 +64,38 @@ * Equips an item to a slot. This is the advanced version of the proc that returns an INV_RETURN_* result. * * @params - * * Entity - Item being equipped. + * * entity - Item being equipped. * * type_or_id - A typepath, or string ID. * * inv_op_flags - INV_OP_* bits. - * * actors - Actor data of who did it. + * * actor - Actor data of who did it. * * @return INV_RETURN_* */ /datum/inventory/proc/equip_to_slot(obj/item/entity, datum/inventory_slot/type_or_id, inv_op_flags, datum/event_args/actor/actor) return owner._equip_item(entity, inv_op_flags, type_or_id, actor?.performer) ? INV_RETURN_SUCCESS : INV_RETURN_FAILED + +/** + * Equips an item to an ordered list of slots. This is an advanced version of the proc that returns an INV_RETURN_* result + * + * @params + * * entity - item being equipped + * * slots - A list of: typepaths, or string ids + * * inv_op_flags - INV_OP_* bits + * * actor - actor data of who did it. + * + * @return INV_RETURN_* + */ +/datum/inventory/proc/equip_to_slots(obj/item/entity, list/datum/inventory_slot/slots, inv_op_flags, datum/event_args/actor/actor) + for(var/slot in slots) + switch(owner._equip_item(entity, inv_op_flags, slot, actor?.performer)) + if(INV_RETURN_DELETED) + return INV_RETURN_DELETED + if(INV_RETURN_FAILED) + continue + if(INV_RETURN_RELOCATED) + return INV_RETURN_RELOCATED + if(INV_RETURN_SUCCESS) + return INV_RETURN_SUCCESS + else + CRASH("unimplemented inv return: [.]") + return INV_RETURN_FAILED diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index ccd41948568c..342fe4a2e95f 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -60,10 +60,7 @@ if(istype(O,/obj/item/organ/internal/brain) && !brainmob) //Time to stick a brain in it --NEO var/obj/item/organ/internal/brain/B = O - if(B.health <= 0) - to_chat(user, SPAN_WARNING("That brain is well and truly dead.")) - return - else if(!B.brainmob) + if(!B.brainmob) to_chat(user, SPAN_WARNING("You aren't sure where this brain came from, but you're pretty sure it's useless.")) return diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index b321002276d6..dbdd004d1496 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -96,7 +96,7 @@ src.apply_status_effect(/datum/status_effect/sight/blindness, 5 SECONDS)//60 seconds is just a randomly picked number, the modifier does not expire as long as the holder is dead silent = 0 else //ALIVE. LIGHTS ARE ON - if( !container && (health < config_legacy.health_threshold_dead || ((world.time - timeofhostdeath) > config_legacy.revival_brain_life)) ) + if( !container && (health < getMinHealth() || ((world.time - timeofhostdeath) > config_legacy.revival_brain_life)) ) death() src.apply_status_effect(/datum/status_effect/sight/blindness, 5 SECONDS) silent = 0 diff --git a/code/modules/mob/living/carbon/breathe.dm b/code/modules/mob/living/carbon/breathe.dm index 680b058343f9..e1516e23ca29 100644 --- a/code/modules/mob/living/carbon/breathe.dm +++ b/code/modules/mob/living/carbon/breathe.dm @@ -2,7 +2,7 @@ //Start of a breath chain, calls breathe() /mob/living/carbon/handle_breathing() - if(SSair.current_cycle%4==2 || failed_last_breath || (health < config_legacy.health_threshold_crit)) //First, resolve location and get a breath + if(SSair.current_cycle%4==2 || failed_last_breath || (health < getCritHealth())) //First, resolve location and get a breath breathe() /mob/living/carbon/proc/breathe() @@ -16,7 +16,7 @@ //First, check if we can breathe at all // cpr completely nullifies brainstem requirement - if(health < config_legacy.health_threshold_crit && !(CE_STABLE in chem_effects) && !stabilization) //crit aka circulatory shock + if(health < getCritHealth() && !(CE_STABLE in chem_effects) && !stabilization) //crit aka circulatory shock AdjustLosebreath(1) if(losebreath>0) //Suffocating so do not take a breath diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 4e26578962f9..3d1fbe873122 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -61,7 +61,7 @@ return ..() /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) - if(src.health >= config_legacy.health_threshold_crit) + if(src.health >= getCritHealth()) if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src diff --git a/code/modules/mob/living/carbon/health.dm b/code/modules/mob/living/carbon/health.dm index 90f260a9ffdb..1f4b8cc66b7f 100644 --- a/code/modules/mob/living/carbon/health.dm +++ b/code/modules/mob/living/carbon/health.dm @@ -1,5 +1,5 @@ /mob/living/carbon/is_in_critical() - return !IS_DEAD(src) && (health < config_legacy.health_threshold_crit) + return !IS_DEAD(src) && (health < getCritHealth()) /mob/living/carbon/rejuvenate(fix_missing, reset_to_slot) . = ..() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 8d423b44b084..9a5244888f5a 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -273,11 +273,12 @@ //Jitters if(is_jittery) - if(jitteriness >= 300) + var/effective_jitteriness = get_effective_impairment_power_jitter() + if(effective_jitteriness >= 300) . += SPAN_DANGER("[T.He] [T.is] convulsing violently!") - else if(jitteriness >= 200) + else if(effective_jitteriness >= 200) . += SPAN_WARNING("[T.He] [T.is] extremely jittery.") - else if(jitteriness >= 100) + else if(effective_jitteriness >= 100) . += SPAN_WARNING("[T.He] [T.is] twitching ever so slightly.") //splints diff --git a/code/modules/mob/living/carbon/human/human-damage-legacy.dm b/code/modules/mob/living/carbon/human/human-damage-legacy.dm index 0f699869fc39..9c1e36ce3d68 100644 --- a/code/modules/mob/living/carbon/human/human-damage-legacy.dm +++ b/code/modules/mob/living/carbon/human/human-damage-legacy.dm @@ -23,7 +23,7 @@ health = getMaxHealth() - getOxyLoss() - getToxLoss() - getCloneLoss() - total_burn - total_brute //TODO: fix husking - if( ((getMaxHealth() - total_burn) < config_legacy.health_threshold_dead) && stat == DEAD) + if( ((getMaxHealth() - total_burn) < getMinHealth()) && stat == DEAD) ChangeToHusk() if(old != health) diff --git a/code/modules/mob/living/carbon/human/human-defense.dm b/code/modules/mob/living/carbon/human/human-defense.dm index dd8ec5289309..20dcc1ab071c 100644 --- a/code/modules/mob/living/carbon/human/human-defense.dm +++ b/code/modules/mob/living/carbon/human/human-defense.dm @@ -33,7 +33,7 @@ /mob/living/carbon/human/slip_act(slip_class, source, hard_strength, soft_strength, suppressed) var/footcoverage_check = length(inventory.query_coverage(FEET)) - var/obj/item/shoes = inventory.get_slot(/datum/inventory_slot/inventory/shoes) + var/obj/item/shoes = inventory.get_slot_single(/datum/inventory_slot/inventory/shoes) if(((species.species_flags & NO_SLIP) && !footcoverage_check) || (shoes && (shoes.clothing_flags & NOSLIP))) //Footwear negates a species' natural traction. return 0 return ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d471f5eaf9a2..76a3acafd968 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -187,8 +187,6 @@ ) /mob/living/carbon/human/proc/implant_loyalty(override = FALSE) // Won't override by default. - if(!config_legacy.use_loyalty_implants && !override) return // Nuh-uh. - var/obj/item/implant/loyalty/L = new/obj/item/implant/loyalty(src) if(L.handle_implant(src, BP_HEAD)) L.post_implant(src) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index cfd9aec30caa..b4de4bb2bf2a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1123,14 +1123,14 @@ else //ALIVE. LIGHTS ARE ON update_health() //TODO - if(health <= config_legacy.health_threshold_dead || (should_have_organ("brain") && !has_brain())) + if(health <= getMinHealth() || (should_have_organ("brain") && !has_brain())) death() apply_status_effect(/datum/status_effect/sight/blindness, 5 SECOND) silent = 0 return 1 //UNCONSCIOUS. NO-ONE IS HOME - if((getOxyLoss() > (species.total_health/2)) || (health <= config_legacy.health_threshold_crit)) + if((getOxyLoss() > (species.total_health/2)) || (health <= getCritHealth())) afflict_unconscious(20 * 3) if(hallucination) @@ -1696,12 +1696,12 @@ if(!can_feel_pain()) return - if(health < config_legacy.health_threshold_softcrit)// health 0 makes you immediately collapse + if(health < getSoftCritHealth())// health 0 makes you immediately collapse shock_stage = max(shock_stage, 61) if(traumatic_shock >= 80) shock_stage += 1 - else if(health < config_legacy.health_threshold_softcrit) + else if(health < getSoftCritHealth()) shock_stage = max(shock_stage, 61) else shock_stage = min(shock_stage, 160) diff --git a/code/modules/mob/living/carbon/human/rendering.dm b/code/modules/mob/living/carbon/human/rendering.dm index 0fb48af7a4bd..05870372ecca 100644 --- a/code/modules/mob/living/carbon/human/rendering.dm +++ b/code/modules/mob/living/carbon/human/rendering.dm @@ -575,7 +575,7 @@ if(husk) base_icon.ColorTone(husk_color_mod) else if(hulk) - var/list/tone = ReadRGB(hulk_color_mod) + var/list/tone = rgb2num(hulk_color_mod) base_icon.MapColors(rgb(tone[1],0,0),rgb(0,tone[2],0),rgb(0,0,tone[3])) // Handle husk overlay. diff --git a/code/modules/mob/living/carbon/human/traits/positive.dm b/code/modules/mob/living/carbon/human/traits/positive.dm index a419edb7377c..bae0b71298ea 100644 --- a/code/modules/mob/living/carbon/human/traits/positive.dm +++ b/code/modules/mob/living/carbon/human/traits/positive.dm @@ -271,3 +271,16 @@ var/obj/item/organ/internal/weaver/weak/silk = new(H) H.internal_organs += silk H.internal_organs_by_name[O_WEAVER] = silk + +/datum/trait/positive/aquatic + name = "Aquatic" + desc = "You can breathe under water and can traverse water more efficiently. Additionally, you can eat others in the water." + cost = 1 + sort_key = "10-Aquatic" + +/datum/trait/positive/aquatic/apply(var/datum/species/S,var/mob/living/carbon/human/H) + ADD_TRAIT(H, TRAIT_MOB_WATER_BREATHER, LOADOUT_TRAIT) + add_verb(H, /mob/living/carbon/human/proc/underwater_devour) + add_verb(H, /mob/living/carbon/human/proc/water_stealth) + S.water_movement = min(-4, S.water_movement) + ..() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index be9af271b290..d5e89635d878 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -29,9 +29,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) /mob/living/carbon/human/update_icons_huds() stack_trace("CANARY: Old human update_icons_huds was called.") -/mob/living/carbon/human/update_transform() - var/matrix/old_matrix = transform - var/matrix/M = matrix() +/mob/living/carbon/human/base_transform(matrix/applying) + SHOULD_CALL_PARENT(FALSE) // handle scaling first, we don't want to have massive mobs still shift to align to tile // when they're laying down. @@ -40,8 +39,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(istype(species)) desired_scale_x *= species.icon_scale_x desired_scale_y *= species.icon_scale_y - M.Scale(desired_scale_x, desired_scale_y) - M.Translate(0, 16 * (desired_scale_y - 1)) + applying.Scale(desired_scale_x, desired_scale_y) + applying.Translate(0, 16 * (desired_scale_y - 1)) // Mark atom as wide/long for ZM. if (desired_scale_x > 1) @@ -54,21 +53,23 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) zmm_flags &= ~ZMM_LOOKBESIDE // handle turning - M.Turn(lying) + applying.Turn(lying) // extremely lazy heuristic to see if we should shift down to appear to be, well, down. if(lying < -45 || lying > 45) - M.Translate(1,-6) + applying.Translate(1,-6) // fall faster if incapacitated - var/anim_time = CHECK_MOBILITY(src, MOBILITY_CAN_STAND)? 3 : 1 - - animate(src, transform = M, time = anim_time, flags = ANIMATION_PARALLEL) appearance_flags = fuzzy? (appearance_flags & ~(PIXEL_SCALE)) : (appearance_flags | PIXEL_SCALE) - SEND_SIGNAL(src, COMSIG_MOB_UPDATE_TRANSFORM, old_matrix, M) + + SEND_SIGNAL(src, COMSIG_MOVABLE_BASE_TRANSFORM, applying) + return applying + +/mob/living/carbon/human/apply_transform(matrix/to_apply) + var/anim_time = CHECK_MOBILITY(src, MOBILITY_CAN_STAND)? 3 : 1 + animate(src, transform = to_apply, time = anim_time, flags = ANIMATION_PARALLEL | ANIMATION_LINEAR_TRANSFORM) update_icon_special() //May contain transform-altering things update_ssd_overlay() - /* --------------------------------------- */ //Recomputes every icon on the mob. Expensive. //Useful if the species changed, or there's some diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 44664c21941f..bd59fede209d 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -27,7 +27,8 @@ if(I) setClickCooldown(100) INVOKE_ASYNC(src, TYPE_PROC_REF(/mob/living/carbon, cuff_resist), I, cuff_break = can_break_cuffs()) - return TRUE + return TRUE + return ..() /mob/living/carbon/proc/reduce_cuff_time() return FALSE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b01ba32341a6..069d93070efe 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -331,6 +331,15 @@ default behaviour is: health = (health/maxHealth) * (newMaxHealth) // Adjust existing health maxHealth = newMaxHealth +// Use this to get a mob's min health whenever possible. (modifiers for minHealth don't exist currently!) +/mob/living/proc/getMinHealth() + return minHealth + +/mob/living/proc/getCritHealth() + return critHealth + +/mob/living/proc/getSoftCritHealth() + return softCritHealth /mob/living/Confuse(amount) for(var/datum/modifier/M in modifiers) @@ -583,19 +592,21 @@ default behaviour is: if(!isnull(M.icon_scale_y_percent)) . *= M.icon_scale_y_percent -/mob/living/update_transform() - var/matrix/old_matrix = transform - // First, get the correct size. +/mob/living/base_transform(matrix/applying) + SHOULD_CALL_PARENT(FALSE) + var/desired_scale_x = size_multiplier * icon_scale_x var/desired_scale_y = size_multiplier * icon_scale_y - // Now for the regular stuff. - var/matrix/M = matrix() - M.Scale(desired_scale_x, desired_scale_y) - M.Translate(0, 16*(desired_scale_y-1)) + applying.Scale(desired_scale_x, desired_scale_y) + applying.Translate(0, 16 * (desired_scale_y - 1)) + + SEND_SIGNAL(src, COMSIG_MOVABLE_BASE_TRANSFORM, applying) + return applying + +/mob/living/apply_transform(matrix/to_apply) + animate(src, transform = to_apply, time = 1 SECONDS, flags = ANIMATION_LINEAR_TRANSFORM | ANIMATION_PARALLEL) update_ssd_overlay() - animate(src, transform = M, time = 10) - SEND_SIGNAL(src, COMSIG_MOB_UPDATE_TRANSFORM, old_matrix, M) // This handles setting the client's color variable, which makes everything look a specific color. // This proc is here so it can be called without needing to check if the client exists, or if the client relogs. diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 93115e811f1d..2dd7e0f15bfb 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -167,3 +167,7 @@ var/list/datum/disease2/disease/virus2 = list() var/image/pathogen var/datum/immune_system/immune_system + + var/minHealth = MOB_MINIMUM_HEALTH + var/softCritHealth = MOB_SOFT_CRITICAL_HEALTH + var/critHealth = MOB_CRITICAL_HEALTH diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 16d78b94b22e..71ebc1b87231 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -109,11 +109,11 @@ var/list/channel_to_radio_key = new verb = pick("yells","roars","hollers") whispering = 0 . = 1 - if(slurring) + if(get_effective_impairment_power_slurring()) message = slur(message) verb = pick("slobbers","slurs") . = 1 - if(stuttering) + if(get_effective_impairment_power_stutter()) message = stutter(message) verb = pick("stammers","stutters") . = 1 diff --git a/code/modules/mob/living/silicon/pai/defense.dm b/code/modules/mob/living/silicon/pai/defense.dm index 0f2fdba52a16..e93c9e20ae69 100644 --- a/code/modules/mob/living/silicon/pai/defense.dm +++ b/code/modules/mob/living/silicon/pai/defense.dm @@ -27,7 +27,7 @@ var/obj/item/clothing/under/U = C if(istype(U)) uploaded_snowflake_worn_state = U.snowflake_worn_state - uploaded_color = W.get_atom_colour() + uploaded_color = W.get_atom_color() to_chat(user, "You successfully upload the [W.name] to [src].") to_chat(src, "[user] has successfully uploaded the [W.name] to you.") diff --git a/code/modules/mob/living/silicon/pai/mobility.dm b/code/modules/mob/living/silicon/pai/mobility.dm index 42350a53da04..7d5bd608ca45 100644 --- a/code/modules/mob/living/silicon/pai/mobility.dm +++ b/code/modules/mob/living/silicon/pai/mobility.dm @@ -149,24 +149,21 @@ return FALSE return TRUE -/mob/living/silicon/pai/update_transform(animate = TRUE) - . = ..() - var/matrix/M = matrix() - var/desired_scale_x = size_multiplier * icon_scale_x - var/desired_scale_y = size_multiplier * icon_scale_y - M.Scale(desired_scale_x, desired_scale_y) - M.Translate(0, 16*(desired_scale_y-1)) +/mob/living/silicon/pai/base_transform(matrix/applying) + var/matrix/to_apply = ..() + /// No chassis means pAI is using a hologram var/turning_value_to_use = 0 if(!chassis) turning_value_to_use = lying /// Handle turning - M.Turn(turning_value_to_use) + to_apply.Turn(turning_value_to_use) + /// Extremely lazy heuristic to see if we should shift down to appear to be, well, down. if(turning_value_to_use < -45 || turning_value_to_use > 45) - M.Translate(1,-6) + to_apply.Translate(1,-6) + + return to_apply - if(animate) - animate(src, transform = M, time = 1, flags = ANIMATION_PARALLEL) - else - transform = M +/mob/living/silicon/pai/apply_transform(matrix/to_apply) + animate(src, transform = to_apply, time = 1 SECONDS, flags = ANIMATION_PARALLEL) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index e2defee3997a..c928d6ce3a8f 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -438,7 +438,7 @@ new_clothing.desc = src.desc new_clothing.icon = icon new_clothing.icon_state = state - new_clothing.add_atom_colour(uploaded_color, FIXED_COLOUR_PRIORITY) + new_clothing.add_atom_color(uploaded_color) var/obj/item/clothing/under/U = new_clothing if(istype(U)) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index abb3dd94c120..75e0e658cfd5 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -42,7 +42,7 @@ client.screen -= module_state_2 contents -= module_state_2 module_state_2.unequipped(src, SLOT_ID_HANDS, NONE) - module_state_1.on_unequipped(src, 2, NONE) + module_state_2.on_unequipped(src, 2, NONE) module_active = null module_state_2:loc = module module_state_2 = null @@ -54,7 +54,7 @@ client.screen -= module_state_3 contents -= module_state_3 module_state_3.unequipped(src, SLOT_ID_HANDS, NONE) - module_state_1.on_unequipped(src, 3, NONE) + module_state_3.on_unequipped(src, 3, NONE) module_active = null module_state_3:loc = module module_state_3 = null diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 5503d984d817..e6d4a4dcb8b2 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -58,7 +58,7 @@ silicon_mob_list |= src . = ..() add_language(LANGUAGE_GALCOM) - set_default_language(RSlanguages.fetch(/datum/prototype/language/common)) + set_default_language(RSlanguages.fetch_local_or_throw(/datum/prototype/language/common)) create_translation_context() init_id() init_subsystems() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm index c3fbb8385e20..ea13220cf217 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm @@ -26,7 +26,7 @@ if (has_polaris_AI() && friend) var/friend_dist = get_dist(src,friend) if (friend_dist <= 1) - if (friend.stat >= DEAD || friend.health <= config_legacy.health_threshold_softcrit) + if (friend.stat >= DEAD || friend.health <= getSoftCritHealth()) if (prob((friend.stat < DEAD)? 50 : 15)) var/verb = pick("meows", "mews", "mrowls") audible_emote(pick("[verb] in distress.", "[verb] anxiously.")) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm index 1e3d344a322f..94c06aea5d9d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm @@ -171,13 +171,7 @@ return return ..() -/mob/living/simple_mob/vore/hostile/morph/update_transform() - if(morphed) - var/matrix/old_matrix = transform - var/matrix/M = matrix() - M.Scale(icon_scale_x, icon_scale_y) - M.Turn(icon_rotation) - src.transform = M - SEND_SIGNAL(src, COMSIG_MOB_UPDATE_TRANSFORM, old_matrix, M) - else - ..() +/mob/living/simple_mob/vore/hostile/morph/base_transform(matrix/applying) + var/old_size_multiplier = size_multiplier + . = ..() + size_multiplier = old_size_multiplier diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solarmoth.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solarmoth.dm index 0f07603df036..7a2d7ceb611f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solarmoth.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solarmoth.dm @@ -131,11 +131,10 @@ original_temp = heating_power //We remember our old goal, for use in non perpetual heating level increase /mob/living/simple_mob/vore/solarmoth/proc/explode() - src.anchored = 0 + set_anchored(FALSE) set_light(0) if(empulse(src, emp_heavy, emp_med, emp_light, emp_long)) qdel(src) - return /mob/living/simple_mob/vore/solarmoth/death() explode() @@ -145,16 +144,12 @@ explode() ..() - /mob/living/simple_mob/vore/solarmoth/handle_light() . = ..() if(. == 0 && !is_dead()) set_light(9.5, 1, mycolour) //9.5 makes the brightness range super huge. return 1 - -/mob/living/simple_mob/vore/solarmoth //active noms - /mob/living/simple_mob/vore/solarmoth/lunarmoth name = "Lunarmoth" desc = "A peculiar adult variation of a solargrub. Don't stare for too long and start running." diff --git a/code/modules/mob/mob-inventory-internal.dm b/code/modules/mob/mob-inventory-internal.dm index b080bc7ca19d..e267b69c5d92 100644 --- a/code/modules/mob/mob-inventory-internal.dm +++ b/code/modules/mob/mob-inventory-internal.dm @@ -33,12 +33,12 @@ var/obj/item/held = item_by_slot_id(SLOT_ID_BELT) if(flags & INV_OP_FORCE) return held?.obj_storage?.insert(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_SOUND) - return held?.obj_storage?.auto_handle_interacted_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND) + return held?.obj_storage?.auto_handle_inventory_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND) if(/datum/inventory_slot/abstract/put_in_backpack) var/obj/item/held = item_by_slot_id(SLOT_ID_BACK) if(flags & INV_OP_FORCE) return held?.obj_storage?.insert(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_SOUND) - return held?.obj_storage?.auto_handle_interacted_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND) + return held?.obj_storage?.auto_handle_inventory_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND) if(/datum/inventory_slot/abstract/put_in_hands) return put_in_hands(I, flags) if(/datum/inventory_slot/abstract/put_in_storage, /datum/inventory_slot/abstract/put_in_storage_try_active) @@ -48,7 +48,7 @@ if(active_storage?.insert(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING)) return TRUE else - if(active_storage?.auto_handle_interacted_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND)) + if(active_storage?.auto_handle_inventory_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND)) return TRUE for(var/obj/item/held in get_equipped_items_in_slots(list( SLOT_ID_BELT, @@ -62,7 +62,7 @@ continue if(flags & INV_OP_FORCE) return held.obj_storage.insert(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_SOUND) - return held.obj_storage.auto_handle_interacted_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND) + return held.obj_storage.auto_handle_inventory_insertion(I, new /datum/event_args/actor(src), flags & INV_OP_SUPPRESS_WARNING, flags & INV_OP_SUPPRESS_SOUND) return FALSE if(/datum/inventory_slot/abstract/attach_as_accessory) for(var/obj/item/clothing/C in get_equipped_items()) diff --git a/code/modules/mob/mob-inventory-stripping.dm b/code/modules/mob/mob-inventory-stripping.dm index 7af49e06e983..c5602113261a 100644 --- a/code/modules/mob/mob-inventory-stripping.dm +++ b/code/modules/mob/mob-inventory-stripping.dm @@ -80,7 +80,7 @@ // now for hands if(has_hands()) - for(var/i in 1 to get_nominal_hand_count()) + for(var/i in 1 to inventory.get_hand_count()) switch(i) if(1) . += "Left hand: " @@ -88,7 +88,7 @@ . += "Right hand: " else . += "Hand [i]: " - var/obj/item/holding = get_held_index(i) + var/obj/item/holding = inventory.held_items[i] . += "[holding? holding.name : "nothing"]
" . += "
" @@ -138,10 +138,10 @@ if(!strip_interaction_prechecks(user)) return FALSE - if((index < 1) || (index > get_nominal_hand_count())) + if((index < 1) || (index > inventory.get_hand_count())) return FALSE - var/obj/item/ours = get_held_index(index) + var/obj/item/ours = inventory.get_hand_single(index) var/obj/item/theirs = user.get_active_held_item() if(!ours && !theirs) diff --git a/code/modules/mob/mob-inventory.dm b/code/modules/mob/mob-inventory.dm index fe69870ff7af..2207340baa24 100644 --- a/code/modules/mob/mob-inventory.dm +++ b/code/modules/mob/mob-inventory.dm @@ -408,7 +408,7 @@ * semantically returns true if we transferred something from our inventory to newloc in the call * * if the item is null, this returns true - * if an item is not in us, this crashes + * if an item is not in us, this returns FALSE */ /mob/proc/transfer_item_to_loc(obj/item/I, newloc, flags, mob/user) if(!I) @@ -424,7 +424,7 @@ * semantically returns true if we transferred something from our inventory to null in the call * * if the item is null, this returns true - * if an item is not in us, this crashes + * if an item is not in us, this returns false */ /mob/proc/transfer_item_to_nullspace(obj/item/I, flags, mob/user) if(!I) diff --git a/code/modules/mob/mob-login.dm b/code/modules/mob/mob-login.dm index 2b8d8a1ea632..b0d204974dc0 100644 --- a/code/modules/mob/mob-login.dm +++ b/code/modules/mob/mob-login.dm @@ -109,7 +109,7 @@ lastKnownIP = client.address computer_id = client.computer_id log_access_in(client) - if(config_legacy.log_access) + if(Configuration.get_entry(/datum/toml_config_entry/backend/logging/toggles/access)) for(var/mob/M in GLOB.player_list) if(M == src) continue if( M.key && (M.key != key) ) diff --git a/code/modules/mob/mob-status_procs.dm b/code/modules/mob/mob-status_procs.dm new file mode 100644 index 000000000000..83935e06c82e --- /dev/null +++ b/code/modules/mob/mob-status_procs.dm @@ -0,0 +1,36 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +//* Impairments *// + +// hey! listen +// if you're thinking about find-replacing checks for the var with this +// well fucking don't +// +// the reason this is separate from main vars for these things +// is because people keep abusing vars to implement features that have a +// ton of unintended side effects +// +// these should only be used for the actual effects; it is **not** +// allowed to use for any other effects like xenochimera feral, +// traumatic shock, etc + +// todo: /datum/mob_impairment ? + +/mob/proc/get_effective_impairment_power_slurring() + . = slurring + var/datum/component/mob_feign_impairment/slurring/feigned = GetComponent(/datum/component/mob_feign_impairment/slurring) + if(feigned) + . = max(., feigned.power) + +/mob/proc/get_effective_impairment_power_jitter() + . = jitteriness + var/datum/component/mob_feign_impairment/jitter/feigned = GetComponent(/datum/component/mob_feign_impairment/jitter) + if(feigned) + . = max(., feigned.power) + +/mob/proc/get_effective_impairment_power_stutter() + . = stuttering + var/datum/component/mob_feign_impairment/stutter/feigned = GetComponent(/datum/component/mob_feign_impairment/stutter) + if(feigned) + . = max(., feigned.power) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 2dfb74a08761..c2021320c784 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1,3 +1,8 @@ +/mob + //* Impairments *// + /// active feign_impairment types + /// * lazy list + var/list/impairments_feigned /** * Intialize a mob @@ -712,7 +717,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) /mob/proc/pull_damage() if(ishuman(src)) var/mob/living/carbon/human/H = src - if(H.health - H.halloss <= config_legacy.health_threshold_softcrit) + if(H.health - H.halloss <= H.getSoftCritHealth()) for(var/name in H.organs_by_name) var/obj/item/organ/external/e = H.organs_by_name[name] if(e && H.lying) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 93d40d40da3f..294322089dde 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -12,7 +12,6 @@ generic_canpass = FALSE sight = SIGHT_FLAGS_DEFAULT rad_flags = NONE - atom_colouration_system = TRUE //? Core /// mobs use ids as ref tags instead of actual refs. diff --git a/code/modules/mob/mobility.dm b/code/modules/mob/mobility.dm index c26f243edf93..981fe5fb8b55 100644 --- a/code/modules/mob/mobility.dm +++ b/code/modules/mob/mobility.dm @@ -36,8 +36,11 @@ else if(is_stunned()) . &= ~(MOBILITY_CAN_USE | MOBILITY_CAN_MOVE | MOBILITY_CAN_PICKUP | MOBILITY_CAN_STORAGE | MOBILITY_CAN_UI | MOBILITY_CAN_PULL | MOBILITY_CAN_RESIST) - else if(is_rooted()) - . &= ~(MOBILITY_CAN_MOVE) + else + if(is_rooted()) + . &= ~(MOBILITY_CAN_MOVE) + if(is_dazed()) + . &= ~(MOBILITY_CAN_USE | MOBILITY_CAN_PICKUP | MOBILITY_CAN_UI | MOBILITY_CAN_STORAGE) if(is_knockdown()) . &= ~MOBILITY_CAN_STAND diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 228ef53d864e..ce1a2f1f9edf 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -58,7 +58,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player) if(src.client && src.client.holder) isadmin = 1 var/datum/db_query/query = SSdbcore.ExecuteQuery( - "SELECT id FROM [format_table_name("poll_question")] WHERE [isadmin? "" : "adminonly = false AND"] Now() BETWEEN starttime AND endtime AND id NOT IN (SELECT pollid FROM [format_table_name("poll_vote")] WHERE ckey = :ckey) AND id NOT IN (SELECT pollid FROM [format_table_name("poll_textreply")] WHERE ckey = :ckey)", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("poll_question")] WHERE [isadmin? "" : "adminonly = false AND"] Now() BETWEEN starttime AND endtime AND id NOT IN (SELECT pollid FROM [DB_PREFIX_TABLE_NAME("poll_vote")] WHERE ckey = :ckey) AND id NOT IN (SELECT pollid FROM [DB_PREFIX_TABLE_NAME("poll_textreply")] WHERE ckey = :ckey)", list("ckey" = ckey) ) var/newpoll = 0 @@ -253,7 +253,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player) //First check if the person has not voted yet. var/datum/db_query/query = SSdbcore.NewQuery( - "SELECT * FROM [format_table_name("privacy")] WHERE ckey = :ckey", + "SELECT * FROM [DB_PREFIX_TABLE_NAME("privacy")] WHERE ckey = :ckey", list("ckey" = ckey) ) query.Execute() @@ -282,7 +282,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player) if(!voted) SSdbcore.RunQuery( - "INSERT INTO [format_table_name("privacy")] VALUES (null, NOW(), :ckey, :option)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("privacy")] VALUES (null, NOW(), :ckey, :option)", list( "ckey" = ckey, "option" = option diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm index 42626b9851f8..9c986cda0b4b 100644 --- a/code/modules/mob/new_player/poll.dm +++ b/code/modules/mob/new_player/poll.dm @@ -10,7 +10,7 @@ isadmin = 1 var/datum/db_query/select_query = SSdbcore.RunQuery( - "SELECT id, question FROM [format_table_name("poll_question")] WHERE [(isadmin? "" : "adminonly = false AND")] Now() BETWEEN starttime AND endtime", + "SELECT id, question FROM [DB_PREFIX_TABLE_NAME("poll_question")] WHERE [(isadmin? "" : "adminonly = false AND")] Now() BETWEEN starttime AND endtime", list() ) @@ -43,7 +43,7 @@ if(SSdbcore.Connect()) var/datum/db_query/select_query = SSdbcore.RunQuery( - "SELECT starttime, endtime, question, pollytype, multiplechoiceoptions FROM [format_table_name("poll_question")] WHERE id = :id", + "SELECT starttime, endtime, question, pollytype, multiplechoiceoptions FROM [DB_PREFIX_TABLE_NAME("poll_question")] WHERE id = :id", list( "id" = "[pollid]" ) @@ -72,7 +72,7 @@ //Polls that have enumerated options if("OPTION") var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT optionid FROM [format_table_name("poll_vote")] WHERE pollid = :id AND ckey = :ckey", + "SELECT optionid FROM [DB_PREFIX_TABLE_NAME("poll_vote")] WHERE pollid = :id AND ckey = :ckey", list( "id" = "[pollid]", "ckey" = usr.ckey @@ -89,7 +89,7 @@ var/list/datum/polloption/options = list() var/datum/db_query/options_query = SSdbcore.RunQuery( - "SELECT id, text FROM [format_table_name("poll_option")] WHERE pollid = :id", + "SELECT id, text FROM [DB_PREFIX_TABLE_NAME("poll_option")] WHERE pollid = :id", list( "id" = pollid ) @@ -135,7 +135,7 @@ //Polls with a text input if("TEXT") var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT replytext FROM [format_table_name("poll_textreply")] WHERE pollid = :id AND ckey = :ckey", + "SELECT replytext FROM [DB_PREFIX_TABLE_NAME("poll_textreply")] WHERE pollid = :id AND ckey = :ckey", list( "id" = pollid, "ckey" = usr.ckey @@ -182,7 +182,7 @@ //Polls with a text input if("NUMVAL") var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT o.text, v.rating FROM [format_table_name("poll_option")] o, [format_table_name("poll_vote")] v WHERE o.pollid = :pid AND v.ckey = :ckey AND o.id = v.optionid", + "SELECT o.text, v.rating FROM [DB_PREFIX_TABLE_NAME("poll_option")] o, [DB_PREFIX_TABLE_NAME("poll_vote")] v WHERE o.pollid = :pid AND v.ckey = :ckey AND o.id = v.optionid", list( "pid" = pollid, "ckey" = usr.ckey @@ -213,7 +213,7 @@ var/maxid = 0 var/datum/db_query/option_query = SSdbcore.RunQuery( - "SELECT id, text, minval, maxval, descmin, descmid, descmax FROM [format_table_name("poll_option")] WHERE pollid = :id", + "SELECT id, text, minval, maxval, descmin, descmid, descmax FROM [DB_PREFIX_TABLE_NAME("poll_option")] WHERE pollid = :id", list( "id" = pollid ) @@ -260,7 +260,7 @@ src << browse(output,"window=playerpoll;size=500x500") if("MULTICHOICE") var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT optionid FROM [format_table_name("poll_vote")] WHERE pollid = :id AND ckey = :ckey", + "SELECT optionid FROM [DB_PREFIX_TABLE_NAME("poll_vote")] WHERE pollid = :id AND ckey = :ckey", list( "id" = pollid, "ckey" = usr.ckey @@ -278,7 +278,7 @@ var/minoptionid = 0 var/datum/db_query/options_query = SSdbcore.RunQuery( - "SELECT id, text FROM [format_table_name("poll_option")] WHERE pollid = :id", + "SELECT id, text FROM [DB_PREFIX_TABLE_NAME("poll_option")] WHERE pollid = :id", list( "id" = pollid ) @@ -342,7 +342,7 @@ if(SSdbcore.Connect()) var/datum/db_query/select_query = SSdbcore.RunQuery( - "SELECT starttime, endtime, question, polltype, multiplechoiceoptions FROM [format_table_name("poll_question")] WHERE id = :id AND Now() BETWEEN starttime AND endtime", + "SELECT starttime, endtime, question, polltype, multiplechoiceoptions FROM [DB_PREFIX_TABLE_NAME("poll_question")] WHERE id = :id AND Now() BETWEEN starttime AND endtime", list( "id" = pollid ) @@ -364,7 +364,7 @@ return var/datum/db_query/select_query2 = SSdbcore.RunQuery( - "SELECT id FROM [format_table_name("poll_option")] WHERE id = :id AND pollid = :pollid", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("poll_option")] WHERE id = :id AND pollid = :pollid", list( "id" = optionid, "pollid" = pollid @@ -384,7 +384,7 @@ var/alreadyvoted = 0 var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT id FROM [format_table_name("poll_vote")] WHERE pollid = :id AND ckey = :ckey", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("poll_vote")] WHERE pollid = :id AND ckey = :ckey", list( "id" = pollid, "ckey" = usr.ckey @@ -410,7 +410,7 @@ SSdbcore.RunQuery( - "INSERT INTO [format_table_name("poll_vote")] (id, datetime, pollid, optionid, ckey, ip, adminrank) VALUES (null, Now(), :poll, :option, :ckey, :addr, :rank)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("poll_vote")] (id, datetime, pollid, optionid, ckey, ip, adminrank) VALUES (null, Now(), :poll, :option, :ckey, :addr, :rank)", list( "poll" = pollid, "option" = optionid, @@ -434,7 +434,7 @@ if(SSdbcore.Connect()) var/datum/db_query/select_query = SSdbcore.RunQuery( - "SELECT starttime, endtime, question, polltype FROM [format_table_name("poll_question")] WHERE id = :id AND Now() BETWEEN starttime AND endtime", + "SELECT starttime, endtime, question, polltype FROM [DB_PREFIX_TABLE_NAME("poll_question")] WHERE id = :id AND Now() BETWEEN starttime AND endtime", list( "id" = pollid ) @@ -455,7 +455,7 @@ var/alreadyvoted = 0 var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT id FROM [format_table_name("poll_textreply")] WHERE pollid = :id AND ckey = :ckey", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("poll_textreply")] WHERE pollid = :id AND ckey = :ckey", list( "id" = pollid, "ckey" = usr.ckey @@ -485,7 +485,7 @@ return SSdbcore.RunQuery( - "INSERT INTO [format_table_name("poll_textreply")] (id, datetime, pollid, ckey, ip, replytext, adminrank) VALUES (null, Now(), :pollid, :ckey, :addr, :reply, :rank)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("poll_textreply")] (id, datetime, pollid, ckey, ip, replytext, adminrank) VALUES (null, Now(), :pollid, :ckey, :addr, :reply, :rank)", list( "pollid" = pollid, "ckey" = usr.ckey, @@ -508,7 +508,7 @@ if(SSdbcore.Connect()) var/datum/db_query/select_query = SSdbcore.NewQuery( - "SELECT starttime, endtime, question, polltype FROM [format_table_name("poll_question")] WHERE id = :pollid AND Now() BETWEEN starttime AND endtime", + "SELECT starttime, endtime, question, polltype FROM [DB_PREFIX_TABLE_NAME("poll_question")] WHERE id = :pollid AND Now() BETWEEN starttime AND endtime", list("pollid" = pollid) ) select_query.Execute() @@ -528,7 +528,7 @@ return var/datum/db_query/select_query2 = SSdbcore.RunQuery( - "SELECT id FROM [format_table_name("poll_option")] WHERE id = :optionid AND pollid = :pollid", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("poll_option")] WHERE id = :optionid AND pollid = :pollid", list( "optionid" = optionid, "pollid" = pollid @@ -550,7 +550,7 @@ var/alreadyvoted = 0 var/datum/db_query/voted_query = SSdbcore.RunQuery( - "SELECT id FROM [format_table_name("poll_vote")] WHERE optionid = :optionid AND ckey = :ckey", + "SELECT id FROM [DB_PREFIX_TABLE_NAME("poll_vote")] WHERE optionid = :optionid AND ckey = :ckey", list( "optionid" = sanitizeSQL(optionid), "ckey" = usr.ckey @@ -570,7 +570,7 @@ adminrank = usr.client.holder.rank SSdbcore.RunQuery( - "INSERT INTO [format_table_name("poll_vote")] (id, datetime, pollid, optionid, ckey, ip, adminrank, rating) VALUES (null, Now(), :pollid, :optionid, :ckey, :address, :rank, :rating)", + "INSERT INTO [DB_PREFIX_TABLE_NAME("poll_vote")] (id, datetime, pollid, optionid, ckey, ip, adminrank, rating) VALUES (null, Now(), :pollid, :optionid, :ckey, :address, :rank, :rating)", list( "pollid" = sanitizeSQL(pollid), "optionid" = sanitizeSQL(optionid), diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index 750e9660d4cc..108f10747055 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -141,6 +141,39 @@ afflict_root(amount) return TRUE +/mob/proc/is_dazed() + RETURN_TYPE(/datum/status_effect) + return has_status_effect(/datum/status_effect/incapacitation/daze) + +/mob/proc/afflict_daze(amount) + if(!(status_flags & STATUS_CAN_ROOT)) + return FALSE + apply_status_effect(/datum/status_effect/incapacitation/daze, amount) + return TRUE + +/mob/proc/adjust_dazed(amount) + if(!(status_flags & STATUS_CAN_ROOT)) + return FALSE + var/datum/status_effect/effect = is_dazed() + if(effect) + effect.adjust_duration(amount) + else if(amount > 0) + afflict_daze(amount) + return TRUE + +/mob/proc/set_dazed(amount) + if(!(status_flags & STATUS_CAN_ROOT)) + return FALSE + if(amount == 0) + remove_status_effect(/datum/status_effect/incapacitation/daze) + else + var/datum/status_effect/effect = is_dazed() + if(effect) + effect.set_duration_from_now(amount) + else if(amount > 0) + afflict_daze(amount) + return TRUE + /** * apply a staggering effect * diff --git a/code/modules/mob/verbs/feign_impairment.dm b/code/modules/mob/verbs/feign_impairment.dm new file mode 100644 index 000000000000..dd7a3ab8ff45 --- /dev/null +++ b/code/modules/mob/verbs/feign_impairment.dm @@ -0,0 +1,105 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +GLOBAL_LIST_INIT(feign_impairment_types, init_feign_impairment_types()) + +/proc/init_feign_impairment_types() + . = list() + var/list/component_collision_check = list() + for(var/datum/feign_impairment/path as anything in subtypesof(/datum/feign_impairment)) + if(initial(path.abstract_type) == path) + continue + var/datum/feign_impairment/instance = new path + if(component_collision_check[instance.component_type]) + stack_trace("collision between [component_collision_check[instance.component_type]:type] and [instance.type] on component type [instance.component_type]") + continue + component_collision_check[instance.component_type] = instance + .[path] = instance + +// todo: this is better than the old, but still a dumpster fire. impairments +// need to be datums so we can have a single tracking system +// and a single /datum/component/mob_feign_impairment +// to track everything, instead of this crap. + +/datum/feign_impairment + abstract_type = /datum/feign_impairment + var/name + var/adjective + var/component_type + var/power_min = 0 + var/power_max = 0 + +/datum/feign_impairment/slurring + name = "Slurring" + adjective = "slurring" + component_type = /datum/component/mob_feign_impairment/slurring + power_min = 10 + power_max = 500 + +/datum/feign_impairment/stutter + name = "Stuttering" + adjective = "stuttering" + component_type = /datum/component/mob_feign_impairment/stutter + power_min = 10 + power_max = 500 + +/datum/feign_impairment/jitter + name = "Jittering" + adjective = "jittering" + component_type = /datum/component/mob_feign_impairment/jitter + power_min = 10 + power_max = 2000 + +// todo: DECLARE_MOB_VERB +/mob/verb/feign_impairment() + set name = "Feign Impairment" + set category = VERB_CATEGORY_IC + set desc = "Pretend like you're slurring, stuttering, jittering, and more." + + var/list/name_to_type = list() + for(var/datum/feign_impairment/path as anything in subtypesof(/datum/feign_impairment)) + if(initial(path.abstract_type) == path) + continue + var/is_active = impairments_feigned?[path] + name_to_type["[initial(path.name)] (Currently: [is_active ? "Active" : "Inactive"])"] = path + + var/choice = tgui_input_list(src, "Choose an impairment to toggle.", "Feign Impairment", name_to_type) + if(!choice) + return + + var/path = name_to_type[choice] + var/new_active = !impairments_feigned?[path] + var/datum/feign_impairment/impairment = GLOB.feign_impairment_types[path] + + var/power + + if(new_active) + if(GetComponent(impairment.component_type)) + to_chat(src, SPAN_WARNING("You are already pretending to be [impairment.adjective].")) + return + power = tgui_input_number( + src, + "What power? ([impairment.power_min] - [impairment.power_max])", + "Feign Impairment", + impairment.power_min, + impairment.power_max, + impairment.power_min, + round_value = TRUE, + ) + else + if(!GetComponent(impairment.component_type)) + return + + // todo: better logging + log_game("[key_name(src)] toggled [impairment] to [new_active ?"on, with power [power]" : "off"]") + + if(new_active) + AddComponent(impairment.component_type, power) + else + qdel(GetComponent(impairment.component_type)) + + to_chat(src, SPAN_NOTICE("You are now [new_active ? "pretending" : "no longer pretending"] to be [impairment.adjective]. This will be automatically reset should you lose consciousness.")) + +/mob/proc/clear_feign_impairment() + QDEL_LIST_ASSOC_VAL(impairments_feigned) + impairments_feigned = null diff --git a/code/modules/mob/verbs/horizontal_invert_self.dm b/code/modules/mob/verbs/horizontal_invert_self.dm new file mode 100644 index 000000000000..57b55fd188f3 --- /dev/null +++ b/code/modules/mob/verbs/horizontal_invert_self.dm @@ -0,0 +1,24 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +// todo: DECLARE_MOB_VERB +/mob/verb/horizontal_invert_self() + set name = "Invert Yourself (Horizontal)" + set desc = "Mirror your sprite across the N-S axis." + set category = VERB_CATEGORY_IC + + // todo: remote control? mobs that don't allow it? + + if(TIMER_COOLDOWN_CHECK(src, CD_INDEX_MOB_VERB_INVERT_SELF)) + // todo: don't usr lol + to_chat(usr, SPAN_WARNING("You can't do that yet!")) + return + TIMER_COOLDOWN_START(src, CD_INDEX_MOB_VERB_INVERT_SELF, 0.5 SECONDS) + + log_game("[key_name(usr)] invoked horizontal_invert_self on [key_name(src)].") + + var/datum/component/mob_self_horizontal_inversion/inversion = GetComponent(/datum/component/mob_self_horizontal_inversion) + if(inversion) + qdel(inversion) + else + AddComponent(/datum/component/mob_self_horizontal_inversion) diff --git a/code/modules/mob/verbs/vertical_invert_self.dm b/code/modules/mob/verbs/vertical_invert_self.dm new file mode 100644 index 000000000000..9b179d98fe0d --- /dev/null +++ b/code/modules/mob/verbs/vertical_invert_self.dm @@ -0,0 +1,24 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +// todo: DECLARE_MOB_VERB +/mob/verb/vertical_invert_self() + set name = "Invert Yourself (Vertical)" + set desc = "Mirror your sprite across the N-S axis." + set category = VERB_CATEGORY_IC + + // todo: remote control? mobs that don't allow it? + + if(TIMER_COOLDOWN_CHECK(src, CD_INDEX_MOB_VERB_INVERT_SELF)) + // todo: don't usr lol + to_chat(usr, SPAN_WARNING("You can't do that yet!")) + return + TIMER_COOLDOWN_START(src, CD_INDEX_MOB_VERB_INVERT_SELF, 0.5 SECONDS) + + log_game("[key_name(usr)] invoked vertical_invert_self on [key_name(src)].") + + var/datum/component/mob_self_vertical_inversion/inversion = GetComponent(/datum/component/mob_self_vertical_inversion) + if(inversion) + qdel(inversion) + else + AddComponent(/datum/component/mob_self_vertical_inversion) diff --git a/code/modules/multiz/atom-z_fall.dm b/code/modules/multiz/atom-z_fall.dm new file mode 100644 index 000000000000..6f06a7b9eb49 --- /dev/null +++ b/code/modules/multiz/atom-z_fall.dm @@ -0,0 +1,29 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +/** + * Stops a thing from falling through this + * + * * If said thing is asking while falling, the first thing to return this will be what gets on_z_impacted'd. + * + * @params + * * victim - thing trying to fall through us + * * levels - levels fallen so far, preventing a fall in the first place has this at 0, breaking a falling object from z2 to z1's floor would be 1, etc. + * * fall_flags - see __DEFINES/mapping/multiz.dm + */ +/atom/proc/prevent_z_fall(atom/movable/victim, levels = 0, fall_flags) + return fall_flags + +/** + * Called when a thing falls onto us. + * + * * Only called if something is falling; if we prevent the fall in the first place, this never gets called + * + * @params + * * victim - thing trying to fall through us + * * levels - levels fallen so far, preventing a fall in the first place has this at 0, breaking a falling object from z2 to z1's floor would be 1, etc. + * * fall_flags - see __DEFINES/mapping/multiz.dm + * * direct_hit - we're the thing actually landed on. + */ +/atom/proc/on_z_impacted(atom/movable/victim, levels, fall_flags, direct_hit) + return fall_flags diff --git a/code/modules/multiz/atoms.dm b/code/modules/multiz/atom-z_move.dm similarity index 92% rename from code/modules/multiz/atoms.dm rename to code/modules/multiz/atom-z_move.dm index 5abbda59d9a8..bfafd6552c34 100644 --- a/code/modules/multiz/atoms.dm +++ b/code/modules/multiz/atom-z_move.dm @@ -1,5 +1,5 @@ //* This file is explicitly licensed under the MIT license. *// -//* Copyright (c) 2023 Citadel Station developers. *// +//* Copyright (c) 2025 Citadel Station Developers *// /** * returns if an atom can enter our tile from a multiz move diff --git a/code/modules/multiz/core.dm b/code/modules/multiz/core.dm index 5d16359cd4bb..fd8ce02a7375 100644 --- a/code/modules/multiz/core.dm +++ b/code/modules/multiz/core.dm @@ -1,5 +1,5 @@ //* This file is explicitly licensed under the MIT license. *// -//* Copyright (c) 2023 Citadel Station developers. *// +//* Copyright (c) 2025 Citadel Station Developers *// /** * This is the basic get multiz step. diff --git a/code/modules/multiz/falling.dm b/code/modules/multiz/falling.dm deleted file mode 100644 index 7e671e085d17..000000000000 --- a/code/modules/multiz/falling.dm +++ /dev/null @@ -1,15 +0,0 @@ -//* This file is explicitly licensed under the MIT license. *// -//* Copyright (c) 2023 Citadel Station developers. *// - -/** - * Stops a thing from falling through this - * - * If said thing is asking while falling, the first thing to return this will be what gets ZImpact'd. - * - * @params - * - victim - thing trying to fall through us - * - levels - levels fallen so far, preventing a fall in the first place has this at 0, breaking a falling object from z2 to z1's floor would be 1, etc. - * - fall_flags - see __DEFINES/mapping/multiz.dm - */ -/atom/proc/prevent_z_fall(atom/movable/victim, levels = 0, fall_flags) - return fall_flags diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index 907f3d5a4106..85479fe8b698 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -309,18 +309,12 @@ var/obj/structure/stairs/stairs = locate() in landing if(!stairs) // Now lets move there! - // todo: this should not use Move - if(!Move(landing)) + if(!forceMove(landing)) return 1 var/atom/A = find_fall_target(oldloc, landing) if(special_fall_handle(A) || !A || !A.check_z_impact(src)) return - var/mob/drop_mob = locate(/mob, landing) - if(drop_mob && !(drop_mob == src) && ismob(drop_mob) && isliving(drop_mob)) //Shitload of checks. This is because the game finds various ways to screw me over. - var/mob/living/drop_living = drop_mob - if(drop_living.dropped_onto(src)) - return fall_impact(A) else locationTransitForceMove(landing) @@ -343,6 +337,8 @@ // First hit objects in the turf! for(var/atom/movable/A in landing) + if(A.atom_flags & (ATOM_NONWORLD | ATOM_ABSTRACT)) + continue if(A != src && A.CheckFall(src)) return A @@ -360,7 +356,7 @@ // CheckFall landing.fall_impact(src) //! ## THE FALLING PROCS ### - +// todo: rework falling :/ /** * Called on everything that falling_atom might hit. @@ -375,6 +371,8 @@ * If you are hit: how is it handled. * Return TRUE if the generic fall_impact should be called. * Return FALSE if you handled it yourself or if there's no effect from hitting you. + * + * todo: this is a legacy proc */ /atom/proc/check_z_impact(atom/movable/falling_atom) return TRUE @@ -386,16 +384,19 @@ * damage_max is the largest amount of damage a thing (currently only mobs and mechs) will take from falling. * If silent is True, the proc won't play sound or give a message. * If planetary is True, it's harder to stop the fall damage. + * + * todo: rework everything lmao */ /atom/movable/proc/fall_impact(atom/hit_atom, damage_min = 0, damage_max = 10, silent = FALSE, planetary = FALSE) if(!silent) visible_message("\The [src] falls from above and slams into \the [hit_atom]!", "You hear something slam into \the [hit_atom].") for(var/atom/movable/A in src.contents) + if(A.atom_flags & (ATOM_NONWORLD | ATOM_ABSTRACT)) + continue A.fall_impact(hit_atom, damage_min, damage_max, silent = TRUE) for(var/mob/M in buckled_mobs) M.fall_impact(hit_atom, damage_min, damage_max, silent, planetary) - /// Take damage from falling and hitting the ground. /mob/living/fall_impact(atom/hit_atom, damage_min = 0, damage_max = 5, silent = FALSE, planetary = FALSE) var/turf/landing = get_turf(hit_atom) @@ -419,15 +420,15 @@ if(!silent) if(planetary) visible_message( - SPAN_USERDANGER("\A [src] falls out of the sky and crashes into \the [landing]!"), - SPAN_USERDANGER("You fall out of the sky and crash into \the [landing]!"), + SPAN_USERDANGER("\A [src] falls out of the sky and crashes into [landing]!"), + SPAN_USERDANGER("You fall out of the sky and crash into [landing]!"), SPAN_HEAR("You hear something slam into \the [landing]."), ) var/turf/T = get_turf(landing) explosion(T, 0, 1, 2) else visible_message( - SPAN_WARNING("\The [src] falls from above and slams into \the [landing]!"), + SPAN_WARNING("\The [src] falls from above and slams into [landing]!"), SPAN_DANGER("You fall off and hit \the [landing]!"), SPAN_HEAR("You hear something slam into \the [landing]."), ) @@ -437,7 +438,7 @@ // Hits 10 times, because apparently targeting individual limbs lets certain species survive the fall from atmosphere for(var/i = 1 to 10) adjustBruteLoss(rand(damage_min, damage_max)) - afflict_paralyze(20 * 4) + afflict_paralyze(8 SECONDS) update_health() /mob/living/carbon/human/fall_impact(atom/hit_atom, damage_min, damage_max, silent, planetary) @@ -563,12 +564,9 @@ var/turf/simulated/floor/ground = hit_atom ground.break_tile() - +// todo: rewrite this entire file /mob/CheckFall(atom/movable/falling_atom) return falling_atom.fall_impact(src) -//! I didn't feel like removing @silicons' check in handle_fall(). @Zandario -/mob/living/proc/dropped_onto(atom/hit_atom) - if(!isliving(hit_atom)) - return FALSE - return TRUE +/mob/observer/CheckFall(atom/movable/falling_atom) + return FALSE diff --git a/code/modules/multiz/turf-multiz_misc.dm b/code/modules/multiz/turf-multiz_misc.dm new file mode 100644 index 000000000000..6cfecc5af462 --- /dev/null +++ b/code/modules/multiz/turf-multiz_misc.dm @@ -0,0 +1,52 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +// todo: redo +/turf/CheckFall(atom/movable/falling_atom) + if(!(mz_flags & MZ_OPEN_DOWN)) + return TRUE // impact! + return ..() + +//* lookups + +/turf/proc/above() + RETURN_TYPE(/turf) + return locate(x, y, SSmapping.cached_level_up[z]) + +/turf/proc/below() + RETURN_TYPE(/turf) + return locate(x, y, SSmapping.cached_level_down[z]) + +/** + * This is the basic get multiz step. + * It will not look across lateral transitions, only up/down. + */ +/turf/proc/vertical_step(dir) + RETURN_TYPE(/turf) + if((dir & (UP|DOWN)) == 0) + return get_step(src, dir) + else if(dir & UP) + return get_step(locate(x, y, SSmapping.cached_level_up[z]), dir & ~(UP)) + else if(dir & DOWN) + return get_step(locate(x, y, SSmapping.cached_level_down[z]), dir & ~(DOWN)) + CRASH("how did we get here?") + +/** + * Basic multiz get dir + * Will not look across lateral transitions, only directly up/down. + */ +/turf/proc/vertical_dir(turf/other) + if(other.z == z) + return get_dir(src, other) + else if(other.z == SSmapping.cached_level_up[z]) + return get_dir(src, other) | UP + else if(other.z == SSmapping.cached_level_down[z]) + return get_dir(src, other) | DOWN + +/** + * This is the full get multiz step. + * It will look across lateral transitions and other struct magic. + */ +/turf/proc/virtual_step(dir) + RETURN_TYPE(/turf) + return SSmapping.get_virtual_step(src, dir) diff --git a/code/modules/multiz/turf-z_fall.dm b/code/modules/multiz/turf-z_fall.dm new file mode 100644 index 000000000000..6e501a853231 --- /dev/null +++ b/code/modules/multiz/turf-z_fall.dm @@ -0,0 +1,38 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +/** + * simple boolean check to see if something's physically blocked from leaving us via up/down + * + * @params + * - mover - atom that needs to move + * - dir - are they going UP abov eus or DOWN below us? + */ +/turf/proc/z_exit_check(atom/movable/mover, dir) + // we assume dir is up/down because why wouldn't it be + var/turf/dest + if(dir == UP) + dest = above() + return dest && !z_pass_out_obstruction(mover, UP, dest) && !dest.z_pass_in_obstruction(mover, DOWN, src) + else if(dir == DOWN) + dest = below() + return dest && !z_pass_out_obstruction(mover, DOWN, dest) && !dest.z_pass_in_obstruction(mover, UP, src) + CRASH("Non-vertical direction '[dir]' passed in.") + +/** + * checks what is going to block something from falling through us + */ +/turf/proc/z_fall_obstruction(atom/movable/mover, levels, fall_flags) + for(var/atom/movable/AM as anything in contents) + if(AM.prevent_z_fall(mover, levels, fall_flags)) + return AM + +/** + * simple boolean check to see if something's physically blocked from falling through us + * + * * checked in addition to z_exit_check. + */ +/turf/proc/z_fall_check(atom/movable/mover, levels, fall_flags) + if(!(mz_flags & MZ_OPEN_DOWN)) + return FALSE + return isnull(z_fall_obstruction(mover, levels, fall_flags)) diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf-z_move.dm similarity index 52% rename from code/modules/multiz/turf.dm rename to code/modules/multiz/turf-z_move.dm index e35652e4e2bd..239c2f063573 100644 --- a/code/modules/multiz/turf.dm +++ b/code/modules/multiz/turf-z_move.dm @@ -1,5 +1,11 @@ //* This file is explicitly licensed under the MIT license. *// -//* Copyright (c) 2023 Citadel Station developers. *// +//* Copyright (c) 2025 Citadel Station Developers *// + +/turf/z_pass_in(atom/movable/AM, dir, turf/old_loc) + return isnull(z_pass_in_obstruction(AM, dir, old_loc)) + +/turf/z_pass_out(atom/movable/AM, dir, turf/new_loc) + return isnull(z_pass_out_obstruction(AM, dir, new_loc)) /** * WARNING: This proc is unique. Read the doc here, especially the return value. @@ -65,94 +71,4 @@ else if(dir == DOWN) dest = below() return dest && (z_pass_out_obstruction(mover, DOWN, dest) || dest.z_pass_in_obstruction(mover, UP, src)) - CRASH("What?") - -/** - * simple boolean check to see if something's physically blocked from leaving us via up/down - * - * @params - * - mover - atom that needs to move - * - dir - are they going UP abov eus or DOWN below us? - */ -/turf/proc/z_exit_check(atom/movable/mover, dir) - // we assume dir is up/down because why wouldn't it be - var/turf/dest - if(dir == UP) - dest = above() - return dest && !z_pass_out_obstruction(mover, UP, dest) && !dest.z_pass_in_obstruction(mover, DOWN, src) - else if(dir == DOWN) - dest = below() - return dest && !z_pass_out_obstruction(mover, DOWN, dest) && !dest.z_pass_in_obstruction(mover, UP, src) - CRASH("What?") - -/** - * checks what is going to block something from falling through us - */ -/turf/proc/z_fall_obstruction(atom/movable/mover, levels, fall_flags) - for(var/atom/movable/AM as anything in contents) - if(AM.prevent_z_fall(mover, levels, fall_flags)) - return AM - -/** - * simple boolean check to see if something's physically blocked from falling through us - */ -/turf/proc/z_fall_check(atom/movable/mover, levels, fall_flags) - if(!(mz_flags & MZ_OPEN_DOWN)) - return FALSE - return isnull(z_fall_obstruction(mover, levels, fall_flags)) - -/turf/z_pass_in(atom/movable/AM, dir, turf/old_loc) - return isnull(z_pass_in_obstruction(AM, dir, old_loc)) - -/turf/z_pass_out(atom/movable/AM, dir, turf/new_loc) - return isnull(z_pass_out_obstruction(AM, dir, new_loc)) - -// todo: redo -/turf/CheckFall(atom/movable/falling_atom) - if(!(mz_flags & MZ_OPEN_DOWN)) - return TRUE // impact! - return ..() - -//* lookups - -/turf/proc/above() - RETURN_TYPE(/turf) - return locate(x, y, SSmapping.cached_level_up[z]) - -/turf/proc/below() - RETURN_TYPE(/turf) - return locate(x, y, SSmapping.cached_level_down[z]) - -/** - * This is the basic get multiz step. - * It will not look across lateral transitions, only up/down. - */ -/turf/proc/vertical_step(dir) - RETURN_TYPE(/turf) - if((dir & (UP|DOWN)) == 0) - return get_step(src, dir) - else if(dir & UP) - return get_step(locate(x, y, SSmapping.cached_level_up[z]), dir & ~(UP)) - else if(dir & DOWN) - return get_step(locate(x, y, SSmapping.cached_level_down[z]), dir & ~(DOWN)) - CRASH("how did we get here?") - -/** - * Basic multiz get dir - * Will not look across lateral transitions, only directly up/down. - */ -/turf/proc/vertical_dir(turf/other) - if(other.z == z) - return get_dir(src, other) - else if(other.z == SSmapping.cached_level_up[z]) - return get_dir(src, other) | UP - else if(other.z == SSmapping.cached_level_down[z]) - return get_dir(src, other) | DOWN - -/** - * This is the full get multiz step. - * It will look across lateral transitions and other struct magic. - */ -/turf/proc/virtual_step(dir) - RETURN_TYPE(/turf) - return SSmapping.get_virtual_step(src, dir) + CRASH("Non-vertical direction '[dir]' passed in.") diff --git a/code/modules/nano/nanomapgen.dm b/code/modules/nano/nanomapgen.dm index 70606873453a..21eb199eb68b 100644 --- a/code/modules/nano/nanomapgen.dm +++ b/code/modules/nano/nanomapgen.dm @@ -20,8 +20,12 @@ set name = "Generate NanoUI Map" set category = "Server" + var/chosen_z = input(usr,"Enter the Z level to generate") as num|null + if(!chosen_z) + return + if(holder) - nanomapgen_DumpTile(1, 1, text2num(input(usr,"Enter the Z level to generate"))) + nanomapgen_DumpTile(1, 1, chosen_z) /client/proc/nanomapgen_DumpTile(var/startX = 1, var/startY = 1, var/currentZ = 1, var/endX = -1, var/endY = -1) diff --git a/code/modules/organs/external/wound.dm b/code/modules/organs/external/wound.dm index a56c1f153e98..54eaa3612269 100644 --- a/code/modules/organs/external/wound.dm +++ b/code/modules/organs/external/wound.dm @@ -17,7 +17,7 @@ //Burn damage can cause fluid loss due to blistering and cook-off if((damage > 5 || damage + burn_dam >= 15) && type == WOUND_TYPE_BURN && (robotic < ORGAN_ROBOT) && !(species.species_flags & NO_BLOOD)) - var/fluid_loss = 0.4 * (damage/(owner.getMaxHealth() - config_legacy.health_threshold_dead)) * owner.species.blood_volume*(1 - owner.species.blood_level_fatal) + var/fluid_loss = 0.4 * (damage/(owner.getMaxHealth() - owner.getMinHealth())) * owner.species.blood_volume*(1 - owner.species.blood_level_fatal) owner.remove_blood(fluid_loss) // first check whether we can widen an existing wound diff --git a/code/modules/organs/internal/species/xenos.dm b/code/modules/organs/internal/species/xenos.dm index 3739c4301780..fbfbe2980ce8 100644 --- a/code/modules/organs/internal/species/xenos.dm +++ b/code/modules/organs/internal/species/xenos.dm @@ -21,7 +21,7 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) /obj/item/organ/internal/xenos/plasmavessel name = "plasma vessel" @@ -64,7 +64,7 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) /obj/item/organ/internal/xenos/plasmavessel/queen name = "bloated plasma vessel" @@ -103,7 +103,7 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) /obj/item/organ/internal/xenos/hivenode name = "hive node" @@ -122,7 +122,7 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) /obj/item/organ/internal/xenos/resinspinner name = "resin spinner" @@ -153,7 +153,7 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) /obj/item/organ/internal/heart/xenomorph name = "xenomorph heart" diff --git a/code/modules/organs/internal/subtypes/brain.dm b/code/modules/organs/internal/subtypes/brain.dm index a5bccaad54c0..7e8f46088cbc 100644 --- a/code/modules/organs/internal/subtypes/brain.dm +++ b/code/modules/organs/internal/subtypes/brain.dm @@ -13,14 +13,12 @@ throw_range = 5 origin_tech = list(TECH_BIO = 3) attack_verb = list("attacked", "slapped", "whacked") - var/health = 400 //They need to live awhile longer than other organs. Is this even used by organ code anymore? var/clone_source = FALSE var/mob/living/carbon/brain/brainmob = null var/can_assist = TRUE /obj/item/organ/internal/brain/Initialize(mapload, ...) . = ..() - health = config_legacy.default_brain_health addtimer(CALLBACK(src, PROC_REF(clear_brainmob_hud)), 15) /obj/item/organ/internal/brain/Destroy() diff --git a/code/modules/organs/internal/subtypes/kidneys.dm b/code/modules/organs/internal/subtypes/kidneys.dm index 88ee1c7a1984..e8ccb9d844c0 100644 --- a/code/modules/organs/internal/subtypes/kidneys.dm +++ b/code/modules/organs/internal/subtypes/kidneys.dm @@ -55,4 +55,4 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) diff --git a/code/modules/organs/internal/subtypes/lungs.dm b/code/modules/organs/internal/subtypes/lungs.dm index 4ec5890f29d8..413fcc66baeb 100644 --- a/code/modules/organs/internal/subtypes/lungs.dm +++ b/code/modules/organs/internal/subtypes/lungs.dm @@ -65,4 +65,4 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.species.blood_color) - add_atom_colour(H.species.blood_color, FIXED_COLOUR_PRIORITY) + add_atom_color(H.species.blood_color) diff --git a/code/modules/organs/subtypes/nano.dm b/code/modules/organs/subtypes/nano.dm index e466cc56a486..c6a60e47236a 100644 --- a/code/modules/organs/subtypes/nano.dm +++ b/code/modules/organs/subtypes/nano.dm @@ -146,6 +146,11 @@ //Failure return 0 +/obj/item/organ/internal/nano/refactory/loaded + stored_materials = list( + MAT_STEEL = /obj/item/organ/internal/nano/refactory::max_storage, + ) + /obj/item/organ/internal/mmi_holder/posibrain/nano name = "protean posibrain" desc = "A more advanced version of the standard posibrain, typically found in protean bodies." diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index b4546383133a..05a038ef43f1 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -1,11 +1,10 @@ /obj/item/paper/carbon - name = "paper" + name = "sheet of carbon" icon_state = "paper_stack" item_state = "paper" var/copied = 0 var/iscopy = 0 - /obj/item/paper/carbon/update_icon() if(iscopy) if(info) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index fe93c6b32d0f..9d82a67a5837 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -6,156 +6,210 @@ throw_force = 0 w_class = WEIGHT_CLASS_SMALL throw_speed = 3 - throw_range = 10 - var/obj/item/pen/haspen //The stored pen. - var/obj/item/toppaper //The topmost piece of paper. + throw_range = 7 slot_flags = SLOT_BELT + /// The stored pen + var/obj/item/pen/pen + /// Is the pen integrated? + var/integrated_pen = FALSE + /** + * Weakref of the topmost piece of paper + * + * This is used for the paper displayed on the clipboard's icon + * and it is the one attacked, when attacking the clipboard. + * (As you can't organise contents directly in BYOND) + */ + var/datum/weakref/toppaper_ref + +/obj/item/clipboard/suicide_act(mob/living/carbon/user) + user.visible_message(SPAN_SUICIDE("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) + return BRUTELOSS //The clipboard's clip is very strong. Industrial duty. Can kill a man easily. + /obj/item/clipboard/Initialize(mapload) + update_appearance() . = ..() - update_icon() -/obj/item/clipboard/update_icon() - cut_overlays() - var/list/overlays_to_add = list() - if(toppaper) - overlays_to_add += toppaper.icon_state - overlays_to_add += copy_overlays(toppaper) - if(haspen) - overlays_to_add += "clipboard_pen" - overlays_to_add += "clipboard_over" - - add_overlay(overlays_to_add) +/obj/item/clipboard/Destroy() + QDEL_NULL(pen) + return ..() - return +/obj/item/clipboard/examine() + . = ..() + if(!integrated_pen && pen) + . += SPAN_NOTICE("Alt-click to remove [pen].") + var/obj/item/paper/toppaper = toppaper_ref?.resolve() + if(toppaper) + . += SPAN_NOTICE("Right-click to remove [toppaper].") -/obj/item/clipboard/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo)) - if(!user.attempt_insert_item_for_installation(W, src)) - return - if(istype(W, /obj/item/paper)) - toppaper = W - to_chat(user, "You clip the [W] onto \the [src].") - update_icon() - - else if(istype(toppaper) && istype(W, /obj/item/pen)) - toppaper.attackby(W, usr) - update_icon() +/// Take out the topmost paper +/obj/item/clipboard/proc/remove_paper(obj/item/paper/paper, mob/user) + if(!istype(paper)) return + paper.forceMove(user.loc) + user.put_in_hands(paper) + to_chat(user, SPAN_NOTICE("You remove [paper] from [src].")) + var/obj/item/paper/toppaper = toppaper_ref?.resolve() + if(paper == toppaper) + UnregisterSignal(toppaper, COMSIG_ATOM_UPDATED_ICON) + toppaper_ref = null + var/obj/item/paper/newtop = locate(/obj/item/paper) in src + if(newtop && (newtop != paper)) + toppaper_ref = WEAKREF(newtop) + else + toppaper_ref = null + update_icon() - return ..() +/obj/item/clipboard/proc/remove_pen(mob/user) + pen.forceMove(user.loc) + user.put_in_hands(pen) + to_chat(user, SPAN_NOTICE("You remove [pen] from [src].")) + pen = null + update_icon() -/obj/item/clipboard/attack_self(mob/user, datum/event_args/actor/actor) +/obj/item/clipboard/AltClick(mob/user) . = ..() if(.) return - var/dat = "Clipboard" - if(haspen) - dat += "Remove Pen

" - else - dat += "Add Pen

" - - //The topmost paper. I don't think there's any way to organise contents in byond, so this is what we're stuck with. -Pete - if(toppaper) - var/obj/item/paper/P = toppaper - dat += "Write Remove Rename - [P.name]

" - - for(var/obj/item/paper/P in src) - if(P==toppaper) - continue - dat += "Remove Rename - [P.name]
" - for(var/obj/item/photo/Ph in src) - dat += "Remove Rename - [Ph.name]
" - user << browse(dat, "window=clipboard") - onclose(user, "clipboard") - add_fingerprint(usr) - return - -/obj/item/clipboard/Topic(href, href_list) - ..() - if((usr.stat || usr.restrained())) + if(isnull(pen)) return - if(src.loc == usr) - - if(href_list["pen"]) - if(istype(haspen) && (haspen.loc == src)) - haspen.loc = usr.loc - usr.put_in_hands(haspen) - haspen = null - - else if(href_list["addpen"]) - if(!haspen) - var/obj/item/pen/W = usr.get_active_held_item() - if(istype(W, /obj/item/pen)) - if(!usr.attempt_insert_item_for_installation(W, src)) - return - haspen = W - to_chat(usr, "You slot the pen into \the [src].") - - else if(href_list["write"]) - var/obj/item/P = locate(href_list["write"]) - - if(P && (P.loc == src) && istype(P, /obj/item/paper) && (P == toppaper) ) - - var/obj/item/I = usr.get_active_held_item() - - if(istype(I, /obj/item/pen)) - - P.attackby(I, usr) + if(integrated_pen) + to_chat(user, SPAN_WARNING("You can't seem to find a way to remove [src]'s [pen].")) + return - else if(href_list["remove"]) - var/obj/item/P = locate(href_list["remove"]) + remove_pen(user) + return TRUE - if(P && (P.loc == src) && (istype(P, /obj/item/paper) || istype(P, /obj/item/photo)) ) +/obj/item/clipboard/update_overlays() + . = ..() + var/obj/item/paper/toppaper = toppaper_ref?.resolve() + if(toppaper) + . += toppaper.icon_state + . += toppaper.overlays + if(pen) + . += "clipboard_pen" + . += "clipboard_over" + +/obj/item/clipboard/attackby(obj/item/weapon, mob/user, params) + var/obj/item/paper/toppaper = toppaper_ref?.resolve() + if(istype(weapon, /obj/item/paper) || istype(weapon, /obj/item/photo)) + //Add paper into the clipboard + if(!user.transfer_item_to_loc(weapon, src)) + return + if(toppaper) + UnregisterSignal(toppaper, COMSIG_ATOM_UPDATED_ICON) + if(istype(weapon, /obj/item/paper)) // since we can stuff photos, only update if image + RegisterSignal(weapon, COMSIG_ATOM_UPDATED_ICON, PROC_REF(on_top_paper_change)) + toppaper_ref = WEAKREF(weapon) + to_chat(user, SPAN_NOTICE("You clip [weapon] onto [src].")) + + else if(istype(weapon, /obj/item/pen) && !pen) + //Add a pen into the clipboard, attack (write) if there is already one + if(!usr.transfer_item_to_loc(weapon, src)) + return + pen = weapon + to_chat(usr, SPAN_NOTICE("You slot [weapon] into [src].")) + else if(toppaper) + toppaper.attackby(user.get_active_held_item(), user) + update_appearance() - P.loc = usr.loc - usr.put_in_hands(P) - if(P == toppaper) - toppaper = null - var/obj/item/paper/newtop = locate(/obj/item/paper) in src - if(newtop && (newtop != P)) - toppaper = newtop - else - toppaper = null +/obj/item/clipboard/attack_self(mob/user) + add_fingerprint(usr) + ui_interact(user) + return - else if(href_list["rename"]) - var/obj/item/O = locate(href_list["rename"]) +/obj/item/clipboard/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Clipboard") + ui.open() + +/obj/item/clipboard/ui_data(mob/user) + // prepare data for TGUI + var/list/data = list() + data["pen"] = "[pen]" + data["integrated_pen"] = integrated_pen + + var/obj/item/paper/toppaper = toppaper_ref?.resolve() + data["top_paper"] = "[toppaper]" + data["top_paper_ref"] = "[REF(toppaper)]" + + data["paper"] = list() + data["paper_ref"] = list() + for(var/obj/item/paper/paper in src) + if(paper == toppaper) + continue + data["paper"] += "[paper]" + data["paper_ref"] += "[REF(paper)]" - if(O && (O.loc == src)) - if(istype(O, /obj/item/paper)) - var/obj/item/paper/to_rename = O - to_rename.rename() + data["photo"] = list() + data["photo_ref"] = list() + for(var/obj/item/photo/photo in src) + data["photo"] += "[photo]" + data["photo_ref"] += "[REF(photo)]" - else if(istype(O, /obj/item/photo)) - var/obj/item/photo/to_rename = O - to_rename.rename() + return data - else if(href_list["read"]) - var/obj/item/paper/P = locate(href_list["read"]) +/obj/item/clipboard/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return - if(P && (P.loc == src) && istype(P, /obj/item/paper) ) + if(usr.stat != CONSCIOUS || usr.restrained()) + return - if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/observer/dead) || istype(usr, /mob/living/silicon))) - usr << browse("[P.name][stars(P.info)][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") + switch(action) + // Take the pen out + if("remove_pen") + if(pen) + if(!integrated_pen) + remove_pen(usr) else - usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") - - else if(href_list["look"]) - var/obj/item/photo/P = locate(href_list["look"]) - if(P && (P.loc == src) && istype(P, /obj/item/photo) ) - P.show(usr) - - else if(href_list["top"]) // currently unused - var/obj/item/P = locate(href_list["top"]) - if(P && (P.loc == src) && istype(P, /obj/item/paper) ) - toppaper = P - to_chat(usr, "You move [P.name] to the top.") - - //Update everything - attack_self(usr) - update_icon() - return + to_chat(usr, SPAN_WARNING("You can't seem to find a way to remove [src]'s [pen].")) + . = TRUE + // Take paper out + if("remove_paper") + var/obj/item/paper/paper = locate(params["ref"]) in src + if(istype(paper)) + remove_paper(paper, usr) + . = TRUE + // Look at (or edit) the paper + if("edit_paper") + var/obj/item/paper/paper = locate(params["ref"]) in src + if(istype(paper)) + // paper.ui_interact(usr) + paper.show_content(usr) + update_icon() + . = TRUE + // Move paper to the top + if("move_top_paper") + var/obj/item/paper/paper = locate(params["ref"]) in src + if(istype(paper)) + toppaper_ref = WEAKREF(paper) + to_chat(usr, SPAN_NOTICE("You move [paper] to the top.")) + update_icon() + . = TRUE + // Rename the paper (it's a verb) + if("rename_paper") + var/obj/item/paper/paper = locate(params["ref"]) in src + if(istype(paper)) + paper.rename() + update_icon() + . = TRUE + // Take photo out + if("remove_photo") + var/obj/item/photo/photo = locate(params["ref"]) in src + if(istype(photo)) + photo.forceMove(usr.loc) + usr.put_in_hands(photo) + to_chat(usr, SPAN_NOTICE("You remove [photo] from [src].")) + . = TRUE + +/** + * This is a simple proc to handle calling update_icon() upon receiving the top paper's `COMSIG_ATOM_UPDATE_APPEARANCE`. + */ +/obj/item/clipboard/proc/on_top_paper_change() + SIGNAL_HANDLER + update_appearance() diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index d6361a68ddce..b402ceb10fe8 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -27,46 +27,80 @@ /obj/structure/filingcabinet/tall //not changing the path to avoid unecessary map issues, but please don't name stuff like this in the future -Pete icon_state = "tallcabinet" - /obj/structure/filingcabinet/Initialize(mapload) - for(var/obj/item/I in loc) - if(istype(I, /obj/item/paper) || istype(I, /obj/item/folder) || istype(I, /obj/item/photo) || istype(I, /obj/item/paper_bundle)) - I.loc = src . = ..() - -/obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob) - if(istype(P, /obj/item/paper) || istype(P, /obj/item/folder) || istype(P, /obj/item/photo) || istype(P, /obj/item/paper_bundle)) - if(!user.attempt_insert_item_for_installation(P, src)) - return - to_chat(user, SPAN_NOTICE("You put [P] in [src].")) - open_animation() - SStgui.update_uis(src) - - else if(P.is_wrench()) - playsound(loc, P.tool_sound, 50, 1) - anchored = !anchored - to_chat(user, SPAN_NOTICE("You [anchored ? "wrench" : "unwrench"] \the [src].")) - - else if(P.is_screwdriver()) + if(mapload) + for(var/obj/item/I in loc) + if(I.w_class < WEIGHT_CLASS_NORMAL) //there probably shouldn't be anything placed ontop of filing cabinets in a map that isn't meant to go in them + I.forceMove(src) + +/obj/structure/filingcabinet/deconstructed(disassembled = TRUE) + new /obj/item/stack/material/iron(loc, 2) + for(var/obj/item/obj in src) + obj.forceMove(loc) + +/obj/structure/filingcabinet/attackby(obj/item/P, mob/living/user, params) + if(P.is_wrench() && user.a_intent != INTENT_HELP) + to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unwrench" : "wrench"] [src].")) + if(P.use_tool(src, user, 20, volume=50)) + to_chat(user, SPAN_NOTICE("You successfully [anchored ? "unwrench" : "wrench"] [src].")) + set_anchored(!anchored) + else if(P.is_screwdriver() && user.a_intent != INTENT_HELP) to_chat(user, SPAN_NOTICE("You begin taking the [name] apart.")) playsound(src, P.tool_sound, 50, 1) if(do_after(user, 10 * P.tool_speed)) playsound(loc, P.tool_sound, 50, 1) - to_chat(user, SPAN_NOTICE("You take the [name] apart.")) - new /obj/item/stack/material/steel( src.loc, 4 ) - for(var/obj/item/I in contents) - I.forceMove(loc) - qdel(src) + deconstruct() return + else if(P.w_class < WEIGHT_CLASS_NORMAL) + if(!user.transfer_item_to_loc(P, src)) + return + to_chat(user, SPAN_NOTICE("You put [P] in [src].")) + icon_state = "[initial(icon_state)]-open" + sleep(0.5 SECONDS) + icon_state = initial(icon_state) + else if(user.a_intent == INTENT_HELP || (P.item_flags & ITEM_NOBLUDGEON)) + to_chat(user, SPAN_WARNING("You can't put [P] in [src]!")) else - to_chat(user, SPAN_NOTICE("You can't put [P] in [src]!")) + return ..() -/obj/structure/filingcabinet/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) - if(contents.len <= 0) - to_chat(user, SPAN_NOTICE("\The [src] is empty.")) - return +/obj/structure/filingcabinet/attack_hand(mob/living/carbon/user) + . = ..() ui_interact(user) +/obj/structure/filingcabinet/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "FilingCabinet") + ui.open() + +/obj/structure/filingcabinet/ui_data(mob/user) + var/list/data = list() + + data["cabinet_name"] = "[name]" + data["contents"] = list() + data["contents_ref"] = list() + for(var/obj/item/content in src) + data["contents"] += "[content]" + data["contents_ref"] += "[REF(content)]" + + return data + +/obj/structure/filingcabinet/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + + switch(action) + // Take the object out + if("remove_object") + var/obj/item/content = locate(params["ref"]) in src + if(istype(content) && in_range(src, usr)) + usr.put_in_hands(content) + icon_state = "[initial(icon_state)]-open" + addtimer(VARSET_CALLBACK(src, icon_state, initial(icon_state)), 0.5 SECONDS) + return TRUE + /obj/structure/filingcabinet/attack_tk(mob/user) if(anchored) return attack_self_tk(user) @@ -76,121 +110,85 @@ if(contents.len) if(prob(40 + contents.len * 5)) var/obj/item/I = pick(contents) - I.loc = loc + I.forceMove(loc) if(prob(25)) step_rand(I) to_chat(user, SPAN_NOTICE("You pull \a [I] out of [src] at random.")) return to_chat(user, SPAN_NOTICE("You find nothing in [src].")) -/obj/structure/filingcabinet/ui_state() - return GLOB.physical_state - -/obj/structure/filingcabinet/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "FileCabinet", name) - ui.set_autoupdate(FALSE) - ui.open() - -/obj/structure/filingcabinet/ui_data(mob/user, datum/tgui/ui) - var/list/files = list() - for(var/obj/item/P in src) - files.Add(list(list( - "name" = P.name, - "ref" = "\ref[P]", - ))) - - return list("contents" = files) - -/obj/structure/filingcabinet/ui_act(action, list/params, datum/tgui/ui) - if(..()) - return TRUE - - switch(action) - if("retrieve") - var/obj/item/P = locate(params["ref"]) - if(istype(P) && (P.loc == src) && usr.Adjacent(src)) - usr.put_in_hands(P) - open_animation() - SStgui.update_uis(src) - -/obj/structure/filingcabinet/proc/open_animation() - flick("[initial(icon_state)]-open",src) - playsound(src, 'sound/bureaucracy/filingcabinet.ogg', 50, 1) - spawn(0) - sleep(20) - icon_state = initial(icon_state) - /* * Security Record Cabinets */ /obj/structure/filingcabinet/security - var/virgin = 1 - + var/virgin = TRUE /obj/structure/filingcabinet/security/proc/populate() - if(virgin) - for(var/datum/data/record/G in data_core.general) - var/datum/data/record/S - for(var/datum/data/record/R in data_core.security) - if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) - S = R - break - var/obj/item/paper/P = new /obj/item/paper(src) - P.info = "
Security Record

" - P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
\nSex: [G.fields["sex"]]
\nAge: [G.fields["age"]]
\nFingerprint: [G.fields["fingerprint"]]
\nPhysical Status: [G.fields["p_stat"]]
\nMental Status: [G.fields["m_stat"]]
" - P.info += "
\n
Security Data

\nCriminal Status: [S.fields["criminal"]]
\n
\nMinor Crimes: [S.fields["mi_crim"]]
\nDetails: [S.fields["mi_crim_d"]]
\n
\nMajor Crimes: [S.fields["ma_crim"]]
\nDetails: [S.fields["ma_crim_d"]]
\n
\nImportant Notes:
\n\t[S.fields["notes"]]
\n
\n
Comments/Log

" - var/counter = 1 - while(S.fields["com_[counter]"]) - P.info += "[S.fields["com_[counter]"]]
" - counter++ - P.info += "" - P.name = "Security Record ([G.fields["name"]])" - virgin = 0 //tabbing here is correct- it's possible for people to try and use it - //before the records have been generated, so we do this inside the loop. + if(!virgin) + return + for(var/datum/data/record/G in data_core.general) + var/datum/data/record/S + for(var/datum/data/record/R in data_core.security) + if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) + S = R + break + var/obj/item/paper/P = new /obj/item/paper(src) + P.info = "
Security Record

" + P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
\nSex: [G.fields["sex"]]
\nAge: [G.fields["age"]]
\nFingerprint: [G.fields["fingerprint"]]
\nPhysical Status: [G.fields["p_stat"]]
\nMental Status: [G.fields["m_stat"]]
" + P.info += "
\n
Security Data

\nCriminal Status: [S.fields["criminal"]]
\n
\nMinor Crimes: [S.fields["mi_crim"]]
\nDetails: [S.fields["mi_crim_d"]]
\n
\nMajor Crimes: [S.fields["ma_crim"]]
\nDetails: [S.fields["ma_crim_d"]]
\n
\nImportant Notes:
\n\t[S.fields["notes"]]
\n
\n
Comments/Log

" + var/counter = 1 + while(S.fields["com_[counter]"]) + P.info += "[S.fields["com_[counter]"]]
" + counter++ + P.info += "" + P.name = "Security Record ([G.fields["name"]])" + P.update_appearance() + virgin = FALSE //tabbing here is correct- it's possible for people to try and use it + //before the records have been generated, so we do this inside the loop. /obj/structure/filingcabinet/security/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) populate() - ..() + return ..() /obj/structure/filingcabinet/security/attack_tk() populate() - ..() + return ..() /* * Medical Record Cabinets */ /obj/structure/filingcabinet/medical - var/virgin = 1 + var/virgin = TRUE /obj/structure/filingcabinet/medical/proc/populate() - if(virgin) - for(var/datum/data/record/G in data_core.general) - var/datum/data/record/M - for(var/datum/data/record/R in data_core.medical) - if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) - M = R - break - if(M) - var/obj/item/paper/P = new /obj/item/paper(src) - P.info = "
Medical Record

" - P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
\nSex: [G.fields["sex"]]
\nAge: [G.fields["age"]]
\nFingerprint: [G.fields["fingerprint"]]
\nPhysical Status: [G.fields["p_stat"]]
\nMental Status: [G.fields["m_stat"]]
" - - P.info += "
\n
Medical Data

\nBlood Type: [M.fields["b_type"]]
\nDNA: [M.fields["b_dna"]]
\n
\nMinor Disabilities: [M.fields["mi_dis"]]
\nDetails: [M.fields["mi_dis_d"]]
\n
\nMajor Disabilities: [M.fields["ma_dis"]]
\nDetails: [M.fields["ma_dis_d"]]
\n
\nAllergies: [M.fields["alg"]]
\nDetails: [M.fields["alg_d"]]
\n
\nCurrent Diseases: [M.fields["cdi"]] (per disease info placed in log/comment section)
\nDetails: [M.fields["cdi_d"]]
\n
\nImportant Notes:
\n\t[M.fields["notes"]]
\n
\n
Comments/Log

" - var/counter = 1 - while(M.fields["com_[counter]"]) - P.info += "[M.fields["com_[counter]"]]
" - counter++ - P.info += "" - P.name = "Medical Record ([G.fields["name"]])" - virgin = 0 //tabbing here is correct- it's possible for people to try and use it + if(!virgin) + return + for(var/datum/data/record/G in data_core.general) + var/datum/data/record/M + for(var/datum/data/record/R in data_core.medical) + if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) + M = R + break + if(M) + var/obj/item/paper/med_record_paper = new /obj/item/paper(src) + med_record_paper.info = "
Medical Record

" + med_record_paper.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]
\nSex: [G.fields["sex"]]
\nAge: [G.fields["age"]]
\nFingerprint: [G.fields["fingerprint"]]
\nPhysical Status: [G.fields["p_stat"]]
\nMental Status: [G.fields["m_stat"]]
" + + med_record_paper.info += "
\n
Medical Data

\nBlood Type: [M.fields["b_type"]]
\nDNA: [M.fields["b_dna"]]
\n
\nMinor Disabilities: [M.fields["mi_dis"]]
\nDetails: [M.fields["mi_dis_d"]]
\n
\nMajor Disabilities: [M.fields["ma_dis"]]
\nDetails: [M.fields["ma_dis_d"]]
\n
\nAllergies: [M.fields["alg"]]
\nDetails: [M.fields["alg_d"]]
\n
\nCurrent Diseases: [M.fields["cdi"]] (per disease info placed in log/comment section)
\nDetails: [M.fields["cdi_d"]]
\n
\nImportant Notes:
\n\t[M.fields["notes"]]
\n
\n
Comments/Log

" + var/counter = 1 + while(M.fields["com_[counter]"]) + med_record_paper.info += "[M.fields["com_[counter]"]]
" + counter++ + med_record_paper.info += "" + med_record_paper.name = "Medical Record ([G.fields["name"]])" + med_record_paper.update_appearance() + virgin = FALSE //tabbing here is correct- it's possible for people to try and use it //before the records have been generated, so we do this inside the loop. /obj/structure/filingcabinet/medical/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) populate() - ..() + return ..() /obj/structure/filingcabinet/medical/attack_tk() populate() - ..() + return ..() diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index c9a87619e4fa..a474b8ca3fea 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -8,139 +8,108 @@ drop_sound = 'sound/items/drop/paper.ogg' pickup_sound = 'sound/items/pickup/paper.ogg' -/obj/item/folder/blue - desc = "A blue folder." - icon_state = "folder_blue" + /// The background color for tgui in hex (with a `#`) + var/bg_color = "#7f7f7f" + /// A typecache of the objects that can be inserted into a folder + var/static/list/folder_insertables = typecacheof(list( + /obj/item/paper, + /obj/item/photo, + /obj/item/paper_bundle, + )) + /// Do we hide the contents on examine? + var/contents_hidden = FALSE + +/obj/item/folder/suicide_act(mob/living/user) + user.visible_message(SPAN_SUICIDE("[user] begins filing an imaginary death warrant! It looks like [user.p_theyre()] trying to commit suicide!")) + return OXYLOSS + +/obj/item/folder/Initialize(mapload) + update_icon() + . = ..() -/obj/item/folder/red - desc = "A red folder." - icon_state = "folder_red" +/obj/item/folder/Destroy() + for(var/obj/important_thing in contents) + if(!(important_thing.integrity_flags & INTEGRITY_INDESTRUCTIBLE)) + continue + important_thing.forceMove(drop_location()) //don't destroy round critical content such as objective documents. + return ..() -/obj/item/folder/yellow - desc = "A yellow folder." - icon_state = "folder_yellow" +/obj/item/folder/proc/rename(mob/user, obj/item/writing_instrument) + if(istype(writing_instrument, /obj/item/pen)) + return -/obj/item/folder/white - desc = "A white folder." - icon_state = "folder_white" + var/inputvalue = sanitizeSafe(input(user, "What would you like to label the folder?", "Folder Labelling", null) as text, MAX_NAME_LEN) + if(!inputvalue) + return -/obj/item/folder/blue_captain - desc = "A blue folder with Facility Director markings." - icon_state = "folder_captain" + name = "folder[(inputvalue ? " - '[inputvalue]'" : null)]" + // playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) -/obj/item/folder/blue_hop - desc = "A blue folder with HoP markings." - icon_state = "folder_hop" +/obj/item/folder/proc/remove_item(obj/item/Item, mob/user) + if(istype(Item)) + Item.forceMove(user.loc) + user.put_in_hands(Item) + to_chat(user, SPAN_NOTICE("You remove [Item] from [src].")) + update_icon() -/obj/item/folder/white_cmo - desc = "A white folder with CMO markings." - icon_state = "folder_cmo" +/obj/item/folder/update_overlays() + . = ..() + if(contents.len) + . += "folder_paper" -/obj/item/folder/white_rd - desc = "A white folder with RD markings." - icon_state = "folder_rd" +/obj/item/folder/attackby(obj/item/weapon, mob/user, params) + if(is_type_in_typecache(weapon, folder_insertables)) + //Add paper, photo or documents into the folder + if(!user.transfer_item_to_loc(weapon, src)) + return + to_chat(user, SPAN_NOTICE("You put [weapon] into [src].")) + update_appearance() + else if(istype(weapon, /obj/item/pen)) + rename(user, weapon) -/obj/item/folder/white_rd/Initialize(mapload) - . = ..() - //add some memos - var/obj/item/paper/P = new(src) - P.name = "Memo RE: proper analysis procedure" - P.info = "
We keep test dummies in pens here for a reason" - update_icon() +/obj/item/folder/attack_self(mob/user) + add_fingerprint(usr) + ui_interact(user) + return -/obj/item/folder/yellow_ce - desc = "A yellow folder with CE markings." - icon_state = "folder_ce" +/obj/item/folder/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Folder") + ui.open() -/obj/item/folder/red_hos - desc = "A red folder with HoS markings." - icon_state = "folder_hos" +/obj/item/folder/ui_data(mob/user) + var/list/data = list() + // if(istype(src, /obj/item/folder/syndicate)) + // data["theme"] = "syndicate" + data["bg_color"] = "[bg_color]" + data["folder_name"] = "[name]" -/obj/item/folder/update_icon() - cut_overlays() - if(contents.len) - add_overlay("folder_paper") - return + data["contents"] = list() + data["contents_ref"] = list() + for(var/Content in src) + data["contents"] += "[Content]" + data["contents_ref"] += "[REF(Content)]" -/obj/item/folder/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo) || istype(W, /obj/item/paper_bundle)) - if(!user.attempt_insert_item_for_installation(W, src)) - return - to_chat(user, "You put the [W] into \the [src].") - update_icon() - else if(istype(W, /obj/item/pen)) - var/n_name = sanitizeSafe(input(usr, "What would you like to label the folder?", "Folder Labelling", null) as text, MAX_NAME_LEN) - if((loc == usr && usr.stat == 0)) - name = "folder[(n_name ? "- '[n_name]'" : null)]" - else - return ..() - -/obj/item/folder/attack_self(mob/user, datum/event_args/actor/actor) + return data + +/obj/item/folder/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return - ui_interact(user) - -/obj/item/folder/ui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui) - var/dat = "[name]" - - for(var/obj/item/paper/P in src) - dat += "Remove Rename - [P.name]
" - for(var/obj/item/photo/Ph in src) - dat += "Remove Rename - [Ph.name]
" - for(var/obj/item/paper_bundle/Pb in src) - dat += "Remove Rename - [Pb.name]
" - user << browse(dat, "window=folder") - onclose(user, "folder") - add_fingerprint(usr) -/obj/item/folder/Topic(href, href_list) - ..() - if((usr.stat || usr.restrained())) + if(usr.stat != CONSCIOUS || usr.restrained()) return - if(src.loc == usr) - - if(href_list["remove"]) - var/obj/item/P = locate(href_list["remove"]) - if(P && (P.loc == src) && istype(P)) - usr.put_in_hands_or_drop(P) - - else if(href_list["read"]) - var/obj/item/paper/P = locate(href_list["read"]) - if(P && (P.loc == src) && istype(P)) - if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/observer/dead) || istype(usr, /mob/living/silicon))) - usr << browse("[P.name][stars(P.info)][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") - else - usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") - else if(href_list["look"]) - var/obj/item/photo/P = locate(href_list["look"]) - if(P && (P.loc == src) && istype(P)) - P.show(usr) - else if(href_list["browse"]) - var/obj/item/paper_bundle/P = locate(href_list["browse"]) - if(P && (P.loc == src) && istype(P)) - P.attack_self(usr) - onclose(usr, "[P.name]") - else if(href_list["rename"]) - var/obj/item/O = locate(href_list["rename"]) - - if(O && (O.loc == src)) - if(istype(O, /obj/item/paper)) - var/obj/item/paper/to_rename = O - to_rename.rename() - - else if(istype(O, /obj/item/photo)) - var/obj/item/photo/to_rename = O - to_rename.rename() - - else if(istype(O, /obj/item/paper_bundle)) - var/obj/item/paper_bundle/to_rename = O - to_rename.rename() - - //Update everything - attack_self(usr) - update_icon() - return + switch(action) + // Take item out + if("remove") + var/obj/item/Item = locate(params["ref"]) in src + remove_item(Item, usr) + . = TRUE + // Inspect the item + if("examine") + var/obj/item/Item = locate(params["ref"]) in src + if(istype(Item)) + usr.examinate(Item) + . = TRUE diff --git a/code/modules/paperwork/folders_premade.dm b/code/modules/paperwork/folders_premade.dm new file mode 100644 index 000000000000..4c02a6ee8914 --- /dev/null +++ b/code/modules/paperwork/folders_premade.dm @@ -0,0 +1,57 @@ +/obj/item/folder/blue + desc = "A blue folder." + icon_state = "folder_blue" + bg_color = "#355e9f" + +/obj/item/folder/red + desc = "A red folder." + icon_state = "folder_red" + bg_color = "#b5002e" + +/obj/item/folder/yellow + desc = "A yellow folder." + icon_state = "folder_yellow" + bg_color = "#b88f3d" + +/obj/item/folder/white + desc = "A white folder." + icon_state = "folder_white" + bg_color = "#d9d9d9" + +/obj/item/folder/blue_captain + desc = "A blue folder with Facility Director markings." + icon_state = "folder_captain" + bg_color = "#355e9f" + +/obj/item/folder/blue_hop + desc = "A blue folder with HoP markings." + icon_state = "folder_hop" + bg_color = "#355e9f" + +/obj/item/folder/white_cmo + desc = "A white folder with CMO markings." + icon_state = "folder_cmo" + bg_color = "#d9d9d9" + +/obj/item/folder/white_rd + desc = "A white folder with RD markings." + icon_state = "folder_rd" + bg_color = "#d9d9d9" + +/obj/item/folder/white_rd/Initialize(mapload) + . = ..() + //add some memos + var/obj/item/paper/P = new(src) + P.name = "Memo RE: proper analysis procedure" + P.info = "
We keep test dummies in pens here for a reason" + update_icon() + +/obj/item/folder/yellow_ce + desc = "A yellow folder with CE markings." + icon_state = "folder_ce" + bg_color = "#b88f3d" + +/obj/item/folder/red_hos + desc = "A red folder with HoS markings." + icon_state = "folder_hos" + bg_color = "#b5002e" diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index ba158d3db9c9..4a7547f8c6d0 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -1,12 +1,19 @@ /obj/item/hand_labeler name = "hand labeler" + desc = "A combined label printer, applicator, and remover, all in a single portable device. Designed to be easy to operate and use." icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler0" - var/label = null - var/labels_left = 30 - var/mode = 0 //off or on. + item_flags = ITEM_NOBLUDGEON w_class = WEIGHT_CLASS_SMALL + drop_sound = 'sound/items/handling/tape_drop.ogg' + pickup_sound = 'sound/items/handling/tape_pickup.ogg' worth_intrinsic = 50 + /// Tracks the current label text + var/label + /// How many labels are left in the current roll? Also serves as our "max". + var/labels_left = 30 + /// Whether we are in label mode + VAR_FINAL/mode = FALSE /obj/item/hand_labeler/attack_mob(mob/target, mob/user, clickchain_flags, list/params, mult, target_zone, intent) if(user.a_intent == INTENT_HARM) diff --git a/code/modules/paperwork/paper/paper.dm b/code/modules/paperwork/paper/paper.dm index e3688a6b635c..be64ad1bb817 100644 --- a/code/modules/paperwork/paper/paper.dm +++ b/code/modules/paperwork/paper/paper.dm @@ -74,12 +74,11 @@ updateinfolinks() /obj/item/paper/update_icon() - if(icon_state == "paper_talisman") - return + cut_overlays() + . = ..() if(info) - icon_state = "paper_words" - return - icon_state = "paper" + // todo: be like, `-content` or something not `_words` + add_overlay("[icon_state]_words") /obj/item/paper/proc/update_space(var/new_text) if(!new_text) @@ -95,12 +94,17 @@ . += "You have to go closer if you want to read it." return -/obj/item/paper/proc/show_content(var/mob/user, var/forceshow=0) - if(!user.client) - return - SSassets.send_asset_pack(user.client, /datum/asset_pack/simple/logos) - user.client.asset_cache_flush_browse_queue() - if(!(istype(user, /mob/living/carbon/human) || istype(user, /mob/observer/dead) || istype(user, /mob/living/silicon)) && !forceshow) +/obj/item/paper/proc/show_content(mob/user, forceshow=0) + var/client/C + if (istype(user)) + C = user.client + if (istype(user, /client)) + C = user + if(C) + SSassets.send_asset_pack(C, /datum/asset_pack/simple/logos) + C.asset_cache_flush_browse_queue() + + if(!(ishuman(user) || istype(user, /mob/observer/dead) || istype(user, /mob/living/silicon)) && !forceshow) user << browse("[name][stars(info)][stamps]", "window=[name]") onclose(user, "[name]") else diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 3f06f9f874ab..9595885112d2 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -1,5 +1,6 @@ /obj/item/paper_bin name = "paper bin" + desc = "Contains all the paper you'll never need." icon = 'icons/obj/bureaucracy.dmi' icon_state = "paper_bin1" item_icons = list( @@ -18,6 +19,10 @@ drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' +/obj/item/paper_bin/Destroy() + QDEL_LIST(papers) + return ..() + /obj/item/paper_bin/OnMouseDropLegacy(mob/user as mob) if((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr)))))) if(!user.put_in_hands(src)) diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index 703be6a1edb9..886c78ce95d0 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -1,101 +1,105 @@ -// Ported from TG. Known issue: Throw hit can possibly double-proc. Seems to be throw code. /obj/item/paperplane name = "paper plane" - desc = "Paper folded into the shape of a plane." + desc = "Paper, folded in the shape of a plane." icon = 'icons/obj/bureaucracy.dmi' icon_state = "paperplane" throw_range = 7 throw_speed = 1 throw_force = 0 w_class = WEIGHT_CLASS_TINY + integrity_max = 50 - var/obj/item/paper/internalPaper + ///The chance of hitting a mob in the eye when thrown, in percentage. + var/hit_probability = 2 + ///Reference to the paper that's folded up in this paperplane, which we return when unfolded. + var/obj/item/paper/internal_paper -/obj/item/paperplane/Initialize(mapload, obj/item/paper/newPaper) +/obj/item/paperplane/syndicate + desc = "Paper, masterfully folded in the shape of a plane." + throw_force = 20 + hit_probability = 100 + +/obj/item/paperplane/Initialize(mapload, obj/item/paper/paper_made_of) . = ..() - pixel_y = rand(-8, 8) - pixel_x = rand(-9, 9) - if(newPaper) - internalPaper = newPaper - atom_flags = newPaper.atom_flags - color = newPaper.color - newPaper.forceMove(src) + pixel_x = base_pixel_x + rand(-9, 9) + pixel_y = base_pixel_y + rand(-8, 8) + if(paper_made_of) + internal_paper = paper_made_of + atom_flags = paper_made_of.atom_flags + color = paper_made_of.color + paper_made_of.forceMove(src) else - internalPaper = new /obj/item/paper(src) - update_icon() + internal_paper = new(src) + update_appearance(UPDATE_ICON) + +/obj/item/paperplane/Exited(atom/movable/gone, direction) + . = ..() + if (internal_paper == gone) + internal_paper = null + if(!QDELETED(src)) + qdel(src) /obj/item/paperplane/Destroy() - if(internalPaper) - qdel(internalPaper) - internalPaper = null + internal_paper = null return ..() -/obj/item/paperplane/update_icon() - cut_overlays() - var/list/overlays_to_add = list() - - var/list/stamped = internalPaper.stamped - if(!stamped) - stamped = new - else if(stamped) - for(var/S in stamped) - var/obj/item/stamp/ = S - var/image/stampoverlay = image('icons/obj/bureaucracy.dmi', "paperplane_[initial(stamp.icon_state)]") - overlays_to_add.Add(stampoverlay) - - add_overlay(overlays_to_add) - -/obj/item/paperplane/attack_self(mob/user, datum/event_args/actor/actor) +/obj/item/paperplane/update_overlays() . = ..() - if(.) - return + // we assume stamped contains proper stamp obj ref (hate) + for(var/obj/item/stamp as anything in internal_paper.stamped) + . += "[base_icon_state]_[stamp.icon_state]" + +/obj/item/paperplane/attack_self(mob/user) to_chat(user, "You unfold [src].") - var/atom/movable/internal_paper_tmp = internalPaper - internal_paper_tmp.forceMove(loc) - internalPaper = null - qdel(src) - user.put_in_hands(internal_paper_tmp) -/obj/item/paperplane/attackby(obj/item/P, mob/living/carbon/human/user, params) - ..() - if(istype(P, /obj/item/pen)) - to_chat(user, "You should unfold [src] before changing it.") - return + var/atom/location = drop_location() + // Need to keep a reference to the internal paper + // when we move it out of the plane, our ref gets set to null + var/obj/item/paper/released_paper = internal_paper + released_paper.forceMove(location) + // This will as a side effect, qdel the paper plane, making the user's hands empty - else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane - internalPaper.attackby(P, user) //spoofed attack to update internal paper. - update_icon() + user.put_in_hands(released_paper) - else if(is_hot(P)) +/obj/item/paperplane/attackby(obj/item/attacking_item, mob/user, params) + if(istype(attacking_item, /obj/item/pen)) + to_chat(user, SPAN_WARNING("You should unfold [src] before changing it!")) + return + else if(istype(attacking_item, /obj/item/stamp)) //we don't randomize stamps on a paperplane + internal_paper.attackby(attacking_item, user) //spoofed attack to update internal paper. + update_appearance() + add_fingerprint(user) + return + else if(is_hot(attacking_item)) if(user.disabilities & MUTATION_CLUMSY && prob(10)) user.visible_message("[user] accidentally ignites themselves!", \ "You miss the [src] and accidentally light yourself on fire!") - user.drop_item_to_ground(P) - user.adjust_fire_stacks(1) - user.IgniteMob() + user.drop_item_to_ground(attacking_item) + if (iscarbon(user)) + var/mob/living/carbon/C = user + C.adjust_fire_stacks(1) + C.IgniteMob() return if(!(in_range(user, src))) //to prevent issues as a result of telepathically lighting a paper return user.drop_item_to_ground(src) - user.visible_message("[user] lights [src] ablaze with [P]!", "You light [src] on fire!") + user.visible_message("[user] lights [src] ablaze with [attacking_item]!", "You light [src] on fire!") fire_act() + return ..() - add_fingerprint(user) - -/obj/item/paperplane/throw_impact(atom/hit_atom) - if(..() || !ishuman(hit_atom))//if the plane is caught or it hits a nonhuman +/obj/item/paperplane/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + if(. || !ishuman(hit_atom)) //if the plane is caught or it hits a nonhuman return - var/mob/living/carbon/human/H = hit_atom - if(prob(2)) - if((H.head && H.head.body_cover_flags & EYES) || (H.wear_mask && H.wear_mask.body_cover_flags & EYES) || (H.glasses && H.glasses.body_cover_flags & EYES)) - return - visible_message("\The [src] hits [H] in the eye!") - H.eye_blurry += 10 - var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES] - if(E) - E.take_damage(2.5) - H.emote("scream") + var/mob/living/carbon/human/hit_human = hit_atom + var/obj/item/organ/internal/eyes/eyes = hit_human.internal_organs_by_name[O_EYES] + if(!prob(hit_probability)) + return + visible_message(SPAN_DANGER("\The [src] hits [hit_human] in the eye[eyes ? "" : " socket"]!")) + hit_human.eye_blurry += 12 + eyes?.take_damage(rand(1, 3)) + hit_human.emote("scream") /obj/item/paper/AltClick(mob/living/carbon/user, obj/item/I) if ( istype(user) ) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index e22165cff84c..28aa192b50fc 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -49,13 +49,12 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( desc = "A flexible superconducting cable for heavy-duty power transfer." icon = 'icons/obj/power_cond_white.dmi' icon_state = "0-1" - atom_colouration_system = FALSE plane = TURF_PLANE layer = EXPOSED_WIRE_LAYER color = COLOR_RED - hides_underfloor = OBJ_UNDERFLOOR_ALWAYS + hides_underfloor = OBJ_UNDERFLOOR_ACTIVE anchored =1 rad_flags = RAD_BLOCK_CONTENTS | RAD_NO_CONTAMINATE @@ -91,7 +90,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( . = ..() if(_color) - add_atom_colour(GLOB.possible_cable_coil_colours[_color] || COLOR_RED, FIXED_COLOUR_PRIORITY) + add_atom_color(GLOB.possible_cable_coil_colours[_color] || COLOR_RED) if(_d1 || _d2) d1 = _d1 @@ -558,9 +557,10 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( slot_flags = SLOT_BELT item_state = "coil" attack_verb = list("whipped", "lashed", "disciplined", "flogged") - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil drop_sound = 'sound/items/drop/accessory.ogg' pickup_sound = 'sound/items/pickup/accessory.ogg' + stack_type = /obj/item/stack/cable_coil /obj/item/stack/cable_coil/cyborg name = "cable coil synthesizer" @@ -581,7 +581,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( /obj/item/stack/cable_coil/Initialize(mapload, new_amount = MAXCOIL, merge, param_color) . = ..() if (param_color) // It should be red by default, so only recolor it if parameter was specified. - add_atom_colour(param_color, FIXED_COLOUR_PRIORITY) + add_atom_color(param_color) pixel_x = rand(-2,2) pixel_y = rand(-2,2) update_icon() @@ -872,85 +872,85 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( update_wclass() /obj/item/stack/cable_coil/yellow - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_YELLOW /obj/item/stack/cable_coil/blue - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_BLUE /obj/item/stack/cable_coil/green - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_LIME /obj/item/stack/cable_coil/pink - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_PINK /obj/item/stack/cable_coil/orange - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_ORANGE /obj/item/stack/cable_coil/cyan - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_CYAN /obj/item/stack/cable_coil/white - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_WHITE /obj/item/stack/cable_coil/silver - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_SILVER /obj/item/stack/cable_coil/gray - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_GRAY /obj/item/stack/cable_coil/black - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_BLACK /obj/item/stack/cable_coil/maroon - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_MAROON /obj/item/stack/cable_coil/olive - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_OLIVE /obj/item/stack/cable_coil/lime - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_LIME /obj/item/stack/cable_coil/teal - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_TEAL /obj/item/stack/cable_coil/navy - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_NAVY /obj/item/stack/cable_coil/purple - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_PURPLE /obj/item/stack/cable_coil/beige - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_BEIGE /obj/item/stack/cable_coil/brown - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = COLOR_BROWN /obj/item/stack/cable_coil/random/Initialize(mapload, new_amount, merge) . = ..() - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = pick(COLOR_RED, COLOR_BLUE, COLOR_LIME, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN, COLOR_SILVER, COLOR_GRAY, COLOR_BLACK, COLOR_MAROON, COLOR_OLIVE, COLOR_LIME, COLOR_TEAL, COLOR_NAVY, COLOR_PURPLE, COLOR_BEIGE, COLOR_BROWN) /obj/item/stack/cable_coil/random_belt/Initialize(mapload, new_amount, merge) . = ..() - stacktype = /obj/item/stack/cable_coil + stacktype_legacy = /obj/item/stack/cable_coil color = pick(COLOR_RED, COLOR_YELLOW, COLOR_ORANGE) amount = 30 @@ -988,7 +988,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( materials_base = list(MAT_STEEL = 50, MAT_GLASS = 20) slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") - stacktype = null + stacktype_legacy = null split_type = /obj/item/stack/cable_coil tool_speed = 0.25 diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm index 969ed08f3b30..3f5035f058ae 100644 --- a/code/modules/power/terminal.dm +++ b/code/modules/power/terminal.dm @@ -11,7 +11,7 @@ anchored = 1 plane = TURF_PLANE layer = EXPOSED_WIRE_TERMINAL_LAYER - hides_underfloor = OBJ_UNDERFLOOR_ALWAYS + hides_underfloor = OBJ_UNDERFLOOR_ACTIVE /obj/machinery/power/terminal/Destroy() if(master) @@ -24,7 +24,7 @@ update_icon() /obj/machinery/power/terminal/update_icon_state() - if(is_probably_hidden_underfloor()) + if(is_hidden_underfloor()) icon_state = "term-f" else icon_state = "term" diff --git a/code/modules/preferences/preferences_toggle_procs.dm b/code/modules/preferences/preferences_toggle_procs.dm index 3337c1d9dd01..185314f29246 100644 --- a/code/modules/preferences/preferences_toggle_procs.dm +++ b/code/modules/preferences/preferences_toggle_procs.dm @@ -12,53 +12,3 @@ else src.painmsg = 1 to_chat(src,"You will [ (painmsg) ? "now" : "no longer"] see your own pain messages.") - -/mob/living/carbon/human/verb/acting() - set name = "Feign Impairment" - set category = VERB_CATEGORY_IC - set desc = "Allows user to manually enable drunkenness, stutter, jitter, etc." - set src = usr - - if(!IS_CONSCIOUS(src)) - to_chat(src, "You need to be conscious to do that") - return - - var/list/choices = list("Drunkenness", "Stuttering", "Jittering") - if(src.slurring >= 10 || src.stuttering >= 10 || src.jitteriness >= 100) - var/disable = alert(src, "Stop performing impairment? (Do NOT abuse this)", "Impairments", "Yes", "No") - if(disable == "Yes") - acting_expiry() - return - - var/impairment = input(src, "Select an impairment to perform:", "Impairments") as null|anything in choices - if(!impairment) - return - var/duration = input(src,"Choose a duration to perform [impairment]. (1 - 60 seconds)","Duration in seconds",25) as num|null - if(!isnum(duration)) - return - if(duration > 60 && !check_rights(R_EVENT, 0)) // admins can do as they please - to_chat(src, "Please choose a duration in seconds between 1 to 60.") - return - if(duration >= 1000) // unreachable code for anyone but admins who have set the number very high, logging for my sanity - message_admins("[src] has set their [impairment] to [duration] via Feign Impairment.") - if(duration >= 2000) - to_chat(src, "Please choose a duration less than 2000.") - return - if(impairment == "Drunkenness") - slurring = duration - if(impairment == "Stuttering") - stuttering = duration - if(impairment == "Jittering") - make_jittery(duration + 100) - - if(duration) - addtimer(CALLBACK(src, PROC_REF(acting_expiry)), duration SECONDS) - var/aduration = duration SECONDS / 10 - to_chat(src,"You will now performatively act as if you were experiencing [impairment] for [aduration] seconds. (Do NOT abuse this)") - feedback_add_details("admin_verb","actimpaired") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/mob/living/carbon/human/proc/acting_expiry() - to_chat(src,"You are no longer acting impaired.") // tick down from 1 to allow the effects to end 'naturally' - slurring = 1 - stuttering = 1 - jitteriness = 1 diff --git a/code/modules/projectiles/unsorted/magic.dm b/code/modules/projectiles/unsorted/magic.dm index 591456b22987..163f16804028 100644 --- a/code/modules/projectiles/unsorted/magic.dm +++ b/code/modules/projectiles/unsorted/magic.dm @@ -283,7 +283,7 @@ S.icon_state = P.icon_state S.copy_overlays(P, TRUE) S.color = P.color - S.atom_colours = P.atom_colours.Copy() + S.atom_colors = P.atom_colors.Copy() if(L.mind) L.mind.transfer(S) if(owner) diff --git a/code/modules/random_map/drop/drop_types.dm b/code/modules/random_map/drop/drop_types.dm index 802a54af3656..71562b900c41 100644 --- a/code/modules/random_map/drop/drop_types.dm +++ b/code/modules/random_map/drop/drop_types.dm @@ -267,9 +267,9 @@ var/global/list/datum/supply_drop_loot/supply_drop /datum/supply_drop_loot/materials/New() ..() contents = list( - /obj/fiftyspawner/steel, - /obj/fiftyspawner/steel, - /obj/fiftyspawner/steel, + /obj/item/stack/material/steel/full_stack, + /obj/item/stack/material/steel/full_stack, + /obj/item/stack/material/steel/full_stack, /obj/fiftyspawner/glass, /obj/fiftyspawner/glass, /obj/fiftyspawner/wood, @@ -283,7 +283,7 @@ var/global/list/datum/supply_drop_loot/supply_drop /datum/supply_drop_loot/materials_advanced/New() ..() contents = list( - /obj/fiftyspawner/steel, + /obj/item/stack/material/steel/full_stack, /obj/fiftyspawner/glass, /obj/fiftyspawner/wood, /obj/fiftyspawner/plastic, diff --git a/code/modules/reagents/chemistry/chemical_reaction-legacy.dm b/code/modules/reagents/chemistry/chemical_reaction-legacy.dm index c3fc6e2f9781..94628bea2414 100644 --- a/code/modules/reagents/chemistry/chemical_reaction-legacy.dm +++ b/code/modules/reagents/chemistry/chemical_reaction-legacy.dm @@ -228,7 +228,7 @@ name = "Myelamine" id = "myelamine" result = "myelamine" - required_reagents = list("bicaridine" = 1, MAT_IRON = 2, "spidertoxin" = 1) + required_reagents = list("bicaridine" = 1, "calcium" = 2, "spidertoxin" = 1) result_amount = 2 /datum/chemical_reaction/imidazoline diff --git a/code/modules/reagents/chemistry/reactions/Drink-Recipes.dm b/code/modules/reagents/chemistry/reactions/Drink-Recipes.dm index 79066ac22f12..cf57998538bc 100644 --- a/code/modules/reagents/chemistry/reactions/Drink-Recipes.dm +++ b/code/modules/reagents/chemistry/reactions/Drink-Recipes.dm @@ -1802,7 +1802,7 @@ id = "braindrain" result = "braindrain" required_reagents = list("blud" = 1, "vodka" = 1, "kahlua" = 1) - result_amount = 3\ + result_amount = 3 //Blood-based Cocktails //All of these drinks should contain some level of blood_content in their reagent code diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index 811b7f9f945e..ee5cd5c660bb 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -92,7 +92,7 @@ H.add_modifier(modifier_type) //Apply damage - H.adjustCloneLoss((H.getMaxHealth() - config_legacy.health_threshold_dead)*-0.75) + H.adjustCloneLoss((H.getMaxHealth() - H.getMinHealth())*-0.75) H.afflict_unconscious(20 * 4) H.update_health() diff --git a/code/modules/rogueminer_vr/zonemaster.dm b/code/modules/rogueminer_vr/zonemaster.dm index ca76e445ff11..dd790040d879 100644 --- a/code/modules/rogueminer_vr/zonemaster.dm +++ b/code/modules/rogueminer_vr/zonemaster.dm @@ -335,13 +335,13 @@ // Ore-bearing rocks that were mined for(var/turf/T in mineral_rocks) - var/has_minerals = 0 - for(var/atom/I in T.contents) - if(istype(I,/obj/effect/mineral)) - has_minerals++ - break - if(has_minerals == 0) - tally += RM_DIFF_VALUE_ORE + if(!istype(T, /turf/simulated/mineral)) + continue + var/turf/simulated/mineral/mine_turf = T + if(mine_turf.mineral) + continue + // no mineral.. + tally += RM_DIFF_VALUE_ORE mineral_rocks.Cut() // For good measure, to prevent rescoring. diff --git a/code/modules/species/outsider/scori.dm b/code/modules/species/outsider/scori.dm index 960fdfc90800..34ba50ec16a4 100644 --- a/code/modules/species/outsider/scori.dm +++ b/code/modules/species/outsider/scori.dm @@ -66,6 +66,3 @@ /mob/living/carbon/human/proc/hide_wings, /mob/living/carbon/human/proc/hide_tail ) - -/datum/species/scori/equip_survival_gear() - return diff --git a/code/modules/species/outsider/vox.dm b/code/modules/species/outsider/vox.dm index 847423b80fa6..593439488543 100644 --- a/code/modules/species/outsider/vox.dm +++ b/code/modules/species/outsider/vox.dm @@ -119,14 +119,40 @@ var/datum/prototype/language/species_language = RSlanguages.fetch(default_language) return species_language.get_random_name(gender) -/datum/species/vox/equip_survival_gear(mob/living/carbon/human/H, extendedtank = FALSE, comprehensive = FALSE) - . = ..() - - H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), SLOT_ID_MASK, INV_OP_SILENT | INV_OP_FLUFFLESS) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), SLOT_ID_BACK, INV_OP_SILENT | INV_OP_FLUFFLESS) +/datum/species/vox/apply_survival_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + // ensure they have a valid mask + var/mask_type = /obj/item/clothing/mask/breath + if(for_target) + var/obj/item/existing_mask = for_target.inventory.get_slot_single(/datum/inventory_slot/inventory/mask) + if(existing_mask?.clothing_flags & ALLOWINTERNALS) + else + if(for_target.temporarily_remove_from_inventory(existing_mask, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(existing_mask) + var/obj/item/creating_mask = new mask_type + if(for_target.inventory.equip_to_slot_if_possible(creating_mask, /datum/inventory_slot/inventory/mask, INV_OP_SILENT | INV_OP_FLUFFLESS)) + else + into_inv?.Add(creating_mask) + else + into_inv?.Add(mask_type) + else + into_inv?.Add(mask_type) + // ensure they have a vox tank + var/tank_type = /obj/item/tank/vox + if(for_target) + var/obj/item/tank/equipping_tank = new tank_type + var/could_place = TRUE + if(for_target.inventory.equip_to_slot_if_possible(equipping_tank, /datum/inventory_slot/inventory/pocket/left)) + else if(for_target.inventory.equip_to_slot_if_possible(equipping_tank, /datum/inventory_slot/inventory/pocket/right)) + else if(for_target.inventory.put_in_hands(equipping_tank)) + else + could_place = FALSE + if(could_place) + // todo: refactor this shit + for_target.internal = equipping_tank + for_target.internals.icon_state = "internal1" + else + into_inv?.Add(tank_type) else - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), /datum/inventory_slot/abstract/hand/right, INV_OP_SILENT | INV_OP_FLUFFLESS) - H.internal = locate(/obj/item/tank) in H.contents - if(istype(H.internal,/obj/item/tank) && H.internals) - H.internals.icon_state = "internal1" + into_inv?.Add(tank_type) + + return ..() diff --git a/code/modules/species/promethean/promethean.dm b/code/modules/species/promethean/promethean.dm index 5f4f719f95a0..96917863c673 100644 --- a/code/modules/species/promethean/promethean.dm +++ b/code/modules/species/promethean/promethean.dm @@ -153,7 +153,9 @@ var/datum/species/shapeshifter/promethean/prometheans ..() prometheans = src -/datum/species/shapeshifter/promethean/equip_survival_gear(mob/living/carbon/human/H) +/datum/species/shapeshifter/promethean/apply_survival_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + . = ..() + var/boxtype = pick(list( /obj/item/storage/toolbox/lunchbox, /obj/item/storage/toolbox/lunchbox/heart, @@ -165,13 +167,9 @@ var/datum/species/shapeshifter/promethean/prometheans /obj/item/storage/toolbox/lunchbox/syndicate )) //Only pick the empty types - var/obj/item/storage/toolbox/lunchbox/L = new boxtype(get_turf(H)) + var/obj/item/storage/toolbox/lunchbox/L = new boxtype new /obj/item/reagent_containers/food/snacks/wrapped/proteinbar(L) - new /obj/item/tool/prybar/red(L) - if(H.backbag == 1) - H.equip_to_slot_or_del(L, /datum/inventory_slot/abstract/hand/right) - else - H.equip_to_slot_or_del(L, /datum/inventory_slot/abstract/put_in_backpack) + into_inv += L /datum/species/shapeshifter/promethean/hug(mob/living/carbon/human/H, mob/living/target) diff --git a/code/modules/species/protean/protean.dm b/code/modules/species/protean/protean.dm index b0840303649c..74a28eea0e29 100644 --- a/code/modules/species/protean/protean.dm +++ b/code/modules/species/protean/protean.dm @@ -70,8 +70,9 @@ has_organ = list( O_BRAIN = /obj/item/organ/internal/mmi_holder/posibrain/nano, O_ORCH = /obj/item/organ/internal/nano/orchestrator, - O_FACT = /obj/item/organ/internal/nano/refactory + O_FACT = /obj/item/organ/internal/nano/refactory/loaded, ) + vision_organ = O_BRAIN has_limbs = list( BP_TORSO = list("path" = /obj/item/organ/external/chest/unbreakable/nano), @@ -173,18 +174,11 @@ var/obj/item/hardsuit/protean/prig = new /obj/item/hardsuit/protean(H) prig.myprotean = H -/datum/species/protean/equip_survival_gear(var/mob/living/carbon/human/H) - var/obj/item/storage/box/box = new /obj/item/storage/box/survival/synth(H) - var/obj/item/stack/material/steel/metal_stack = new(box) - metal_stack.amount = 3 // Less starting steel due to regen changes - new /obj/item/fbp_backup_cell(box) - var/obj/item/clothing/accessory/permit/nanotech/permit = new(box) - permit.set_name(H.real_name) - - if(H.backbag == 1) //Somewhat misleading, 1 == no bag (not boolean) - H.equip_to_slot_or_del(box, /datum/inventory_slot/abstract/hand/left) - else - H.equip_to_slot_or_del(box, /datum/inventory_slot/abstract/put_in_backpack) +/datum/species/protean/apply_racial_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + var/obj/item/clothing/accessory/permit/nanotech/permit = new + permit.set_name(for_target.real_name) + into_box?.Add(permit) + return ..() /datum/species/protean/get_blood_colour(var/mob/living/carbon/human/H) return rgb(80,80,80,230) diff --git a/code/modules/species/shadekin/shadekin.dm b/code/modules/species/shadekin/shadekin.dm index bb75aba3f289..7ec3160ba28e 100644 --- a/code/modules/species/shadekin/shadekin.dm +++ b/code/modules/species/shadekin/shadekin.dm @@ -74,7 +74,6 @@ has_glowing_eyes = TRUE - death_message = "phases to somewhere far away!" male_cough_sounds = null female_cough_sounds = null male_sneeze_sound = null @@ -141,11 +140,6 @@ /datum/species/shadekin/get_bodytype_legacy() return SPECIES_SHADEKIN -/datum/species/shadekin/handle_death(mob/living/carbon/human/H) - spawn(1) - H.drop_inventory(TRUE, TRUE, TRUE) - qdel(H) - /datum/species/shadekin/get_random_name() return "shadekin" diff --git a/code/modules/species/species.dm b/code/modules/species/species.dm index c94cfb4b646b..a87d2efa07a3 100644 --- a/code/modules/species/species.dm +++ b/code/modules/species/species.dm @@ -270,8 +270,14 @@ var/pass_flags = 0 //? Stats - /// Point at which the mob will enter crit. + /// Total health the mob has var/total_health = 100 + /// Point at which the mob will die + var/death_health = MOB_MINIMUM_HEALTH + /// Point at which the mob will enter crit + var/crit_health = MOB_CRITICAL_HEALTH + /// Point at which the mob will enter soft crit + var/soft_crit_health = MOB_SOFT_CRITICAL_HEALTH /// Physical damage multiplier. var/brute_mod = 1 /// Burn damage multiplier. @@ -512,6 +518,10 @@ //! LEGACY is_subspecies = id != uid superspecies_id = id + if(!id) + id = uid + if(!uid) + uid = id if(hud_type) hud = new hud_type() @@ -571,6 +581,9 @@ H.gender = genders[1] H.maxHealth = total_health + H.minHealth = death_health + H.critHealth = crit_health + H.softCritHealth = soft_crit_health if(!isnull(mob_physiology_modifier)) H.add_physiology_modifier(mob_physiology_modifier) @@ -630,50 +643,81 @@ GLOBAL_LIST_INIT(species_oxygen_tank_by_gas, list( GAS_ID_CARBON_DIOXIDE = /obj/item/tank/emergency/carbon_dioxide )) -/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 0,var/comprehensive = 0) - var/boxtype = /obj/item/storage/box/survival //Default survival box - - var/synth = H.isSynthetic() - - //Empty box for synths - if(synth) - boxtype = /obj/item/storage/box/survival/synth +/** + * Injects spawn descriptors into `into_box` and `into_inv` lists. Both must be provided. + * + * Descriptors can be; + * * a typepath + * * an anonymous type + * + * Notes: + * * The `into_box` and `into_inv` lists should always be added to via `?.Add()`, incase they are null. + * * Returned lists **must** be handled. If you aren't equipping anything, properly qdel() any spawned items, or + * a memory leak will result. + * + * @params + * * for_target - (optional) person who is getting survival gear. if this is not provided, default + * survival gear that would go on them through inventory calls should be put into `into_inv`. + * * into_box - things to put into their survival kit. do not put anything large in here. + * * into_inv - things to make sure they have somewhere on, or near them. anything large can be put in here. + * things will not necessarily be put in their backpack, as an example a wheelchair would be put under them. + */ +/datum/species/proc/apply_racial_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + return - //Special box with extra equipment - else if(comprehensive) - boxtype = /obj/item/storage/box/survival/comp +/** + * Injects spawn descriptors into `into_box` and `into_inv` lists. Both must be provided. + * + * Descriptors can be; + * * a typepath + * * an anonymous type + * + * Notes: + * * The `into_box` and `into_inv` lists should always be added to via `?.Add()`, incase they are null. + * * Returned lists **must** be handled. If you aren't equipping anything, properly qdel() any spawned items, or + * a memory leak will result. + * + * @params + * * for_target - (optional) person who is getting survival gear. if this is not provided, default + * survival gear that would go on them through inventory calls should be put into `into_inv`. + * * into_box - things to put into their survival kit. do not put anything large in here. + * * into_inv - things to make sure they have somewhere on, or near them. anything large can be put in here. + * things will not necessarily be put in their backpack, as an example a wheelchair would be put under them. + */ +/datum/species/proc/apply_survival_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + into_box?.Add(/obj/item/tool/prybar/red) - //Create the box - var/obj/item/storage/box/box = new boxtype(H) + // todo: crank flashlight + prybar combo? + into_box?.Add(/obj/item/flashlight/flare/survival) - //If not synth, they get an air tank (if they breathe) - if(!synth && breath_type) - //Create a tank (if such a thing exists for this species) - var/given_path = GLOB.species_oxygen_tank_by_gas[breath_type] - var/tankpath - if(extendedtank) + if(for_target.isSynthetic()) + into_box?.Add(/obj/item/fbp_backup_cell) + else + into_box?.Add( + /obj/item/clothing/mask/breath, + /obj/item/stack/medical/bruise_pack, + /obj/item/reagent_containers/hypospray/autoinjector, + /obj/item/reagent_containers/food/snacks/wrapped/proteinbar, + /obj/item/clothing/glasses/goggles, + ) + + if(breath_type) + var/given_path = GLOB.species_oxygen_tank_by_gas[breath_type] + var/tankpath + + // always extended now! + // if(extendedtank) tankpath = text2path("[given_path]" + "/engi") if(!tankpath) //Is it just that there's no /engi? tankpath = text2path("[given_path]" + "/double") - if(!tankpath) - tankpath = given_path + if(!tankpath) + tankpath = given_path - if(tankpath) - new tankpath(box) - else - stack_trace("Could not find a tank path for breath type [breath_type], given path was [given_path].") - - //If they are synth, they get a smol battery - else if(synth) - new /obj/item/fbp_backup_cell(box) - - box.obj_storage.fit_to_contents(no_shrink = TRUE) - - if(H.backbag == 1) - H.equip_to_slot_or_del(box, /datum/inventory_slot/abstract/hand/right, INV_OP_SILENT | INV_OP_FLUFFLESS) - else - H.equip_to_slot_or_del(box, /datum/inventory_slot/abstract/put_in_backpack, INV_OP_FORCE | INV_OP_SILENT) + if(tankpath) + into_box?.Add(tankpath) + else + stack_trace("Could not find a tank path for breath type [breath_type], given path was [given_path].") /** * called to ensure organs are consistent with our species's diff --git a/code/modules/species/species_getters.dm b/code/modules/species/species_getters.dm index 076b7dcaecf1..48ab79afbb93 100644 --- a/code/modules/species/species_getters.dm +++ b/code/modules/species/species_getters.dm @@ -98,10 +98,7 @@ return ((H && H.isSynthetic()) ? "encounters a hardware fault and suddenly reboots!" : knockout_message) /datum/species/proc/get_death_message(mob/living/carbon/human/H) - if(config_legacy.show_human_death_message) - return ((H && H.isSynthetic()) ? "gives one shrill beep before falling lifeless." : death_message) - else - return "no message" + return ((H && H.isSynthetic()) ? "gives one shrill beep before falling lifeless." : death_message) /datum/species/proc/get_ssd(mob/living/carbon/human/H) if(H) @@ -162,9 +159,9 @@ else return capitalize(pick(GLOB.first_names_male)) + " " + capitalize(pick(GLOB.last_names)) - var/datum/prototype/language/species_language = RSlanguages.fetch(get_name_language_id()) + var/datum/prototype/language/species_language = RSlanguages.fetch_local_or_throw(get_name_language_id()) if(!species_language) - species_language = RSlanguages.fetch(default_language) + species_language = RSlanguages.fetch_local_or_throw(default_language) if(!species_language) return "unknown" return species_language.get_random_name(gender) diff --git a/code/modules/species/station/adherent.dm b/code/modules/species/station/adherent.dm index f55fd5a8f4ae..11a278e95e43 100644 --- a/code/modules/species/station/adherent.dm +++ b/code/modules/species/station/adherent.dm @@ -151,8 +151,11 @@ /datum/inventory_slot/inventory/id::id, ) -/datum/species/adherent/equip_survival_gear(mob/living/carbon/human/H, extendedtank = FALSE, comprehensive = FALSE) - H.equip_to_slot_or_del(new /obj/item/storage/belt/utility/crystal, /datum/inventory_slot/abstract/put_in_backpack) +/datum/species/adherent/apply_racial_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + var/obj/item/storage/belt/utility/crystal/give_them_the_toolbelt = new + if(!for_target?.inventory?.equip_to_slot_if_possible(give_them_the_toolbelt, /datum/inventory_slot/inventory/belt)) + into_inv += give_them_the_toolbelt + return ..() /datum/species/adherent/New() /*equip_adjust = list( diff --git a/code/modules/species/station/alraune.dm b/code/modules/species/station/alraune.dm index 4666f4372fb1..cfbbbf5b0b1d 100644 --- a/code/modules/species/station/alraune.dm +++ b/code/modules/species/station/alraune.dm @@ -164,7 +164,7 @@ if(!breath || (breath.total_moles == 0)) H.failed_last_breath = 1 - if(H.health > config_legacy.health_threshold_crit) + if(H.health > H.getCritHealth()) H.adjustOxyLoss(ALRAUNE_MAX_OXYLOSS) else H.adjustOxyLoss(ALRAUNE_CRIT_MAX_OXYLOSS) diff --git a/code/modules/species/station/custom_species.dm b/code/modules/species/station/custom_species.dm index 2dfdcf2295d3..d4596f74d607 100644 --- a/code/modules/species/station/custom_species.dm +++ b/code/modules/species/station/custom_species.dm @@ -68,32 +68,3 @@ var/datum/species/real = SScharacters.resolve_species_name(base_species) return real.real_race_key(H) -// Stub species overrides for shoving trait abilities into - -//Called when face-down in the water or otherwise over their head. -// Return: TRUE for able to breathe fine in water. -/datum/species/custom/can_breathe_water() - return ..() - -//Called during handle_environment in Life() ticks. -// Return: Not used. -/datum/species/custom/handle_environment_special(mob/living/carbon/human/H, datum/gas_mixture/environment, dt) - return ..() - -//Called when spawning to equip them with special things. -/datum/species/custom/equip_survival_gear(mob/living/carbon/human/H) - /* Example, from Vox: - H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), SLOT_ID_MASK) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), SLOT_ID_BACK) - H.equip_to_slot_or_del(new /obj/item/storage/box/vox(H), /datum/inventory_slot/abstract/hand/right) - H.internal = H.back - else - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), /datum/inventory_slot/abstract/hand/right) - H.equip_to_slot_or_del(new /obj/item/storage/box/vox(H.back), /datum/inventory_slot/abstract/put_in_backpack) - H.internal = H.r_hand - H.internal = locate(/obj/item/tank) in H.contents - if(istype(H.internal,/obj/item/tank) && H.internals) - H.internals.icon_state = "internal1" - */ - return ..() diff --git a/code/modules/species/station/diona.dm b/code/modules/species/station/diona.dm index 18c736fc3852..52bcd43f3d3c 100644 --- a/code/modules/species/station/diona.dm +++ b/code/modules/species/station/diona.dm @@ -148,12 +148,6 @@ return TRUE return FALSE -/datum/species/diona/equip_survival_gear(mob/living/carbon/human/H) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/flashlight/flare(H), /datum/inventory_slot/abstract/hand/right) - else - H.equip_to_slot_or_del(new /obj/item/flashlight/flare(H.back), /datum/inventory_slot/abstract/put_in_backpack) - /datum/species/diona/handle_death(mob/living/carbon/human/H) var/mob/living/carbon/alien/diona/S = new(get_turf(H)) diff --git a/code/modules/species/station/phoronoids.dm b/code/modules/species/station/phoronoids.dm index 3033d87f7d5c..c56d37cf5d3c 100644 --- a/code/modules/species/station/phoronoids.dm +++ b/code/modules/species/station/phoronoids.dm @@ -102,143 +102,174 @@ H.IgniteMob() enviroment_bad = FALSE -/datum/species/phoronoid/equip_survival_gear(mob/living/carbon/human/H, extendedtank = FALSE, comprehensive = FALSE) - . = ..() - var/suit = /obj/item/clothing/suit/space/plasman - var/helm = /obj/item/clothing/head/helmet/space/plasman +/datum/species/phoronoid/apply_survival_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + // ensure they have a valid mask + var/mask_type = /obj/item/clothing/mask/breath + if(for_target) + var/obj/item/existing_mask = for_target.inventory.get_slot_single(/datum/inventory_slot/inventory/mask) + if(existing_mask?.clothing_flags & ALLOWINTERNALS) + else + into_inv?.Add(existing_mask) + for_target.temporarily_remove_from_inventory(existing_mask, INV_OP_FORCE) + for_target.equip_to_slot_or_del(new mask_type(for_target), /datum/inventory_slot/inventory/mask, INV_OP_SILENT | INV_OP_FLUFFLESS) + else + into_inv?.Add(mask_type) - H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), SLOT_ID_MASK) + var/suit_path = /obj/item/clothing/suit/space/plasman + var/helm_path = /obj/item/clothing/head/helmet/space/plasman - switch(H.mind?.assigned_role) + // todo: deal with this dumpster fire of a switch + switch(for_target.mind?.assigned_role) if("Security Officer") - suit=/obj/item/clothing/suit/space/plasman/sec - helm=/obj/item/clothing/head/helmet/space/plasman/sec + suit_path = /obj/item/clothing/suit/space/plasman/sec + helm_path = /obj/item/clothing/head/helmet/space/plasman/sec if("Detective") - suit=/obj/item/clothing/suit/space/plasman/sec/detective - helm=/obj/item/clothing/head/helmet/space/plasman/sec/detective + suit_path = /obj/item/clothing/suit/space/plasman/sec/detective + helm_path = /obj/item/clothing/head/helmet/space/plasman/sec/detective if("Warden") - suit=/obj/item/clothing/suit/space/plasman/sec/warden - helm=/obj/item/clothing/head/helmet/space/plasman/sec + suit_path = /obj/item/clothing/suit/space/plasman/sec/warden + helm_path = /obj/item/clothing/head/helmet/space/plasman/sec if("Head of Security") - suit=/obj/item/clothing/suit/space/plasman/sec/hos - helm=/obj/item/clothing/head/helmet/space/plasman/sec/hos + suit_path = /obj/item/clothing/suit/space/plasman/sec/hos + helm_path = /obj/item/clothing/head/helmet/space/plasman/sec/hos if("Facility Director") - suit=/obj/item/clothing/suit/space/plasman/sec/captain - helm=/obj/item/clothing/head/helmet/space/plasman/sec/captain + suit_path = /obj/item/clothing/suit/space/plasman/sec/captain + helm_path = /obj/item/clothing/head/helmet/space/plasman/sec/captain if("Head of Personnel") - suit=/obj/item/clothing/suit/space/plasman/sec/hop - helm=/obj/item/clothing/head/helmet/space/plasman/sec/hop + suit_path = /obj/item/clothing/suit/space/plasman/sec/hop + helm_path = /obj/item/clothing/head/helmet/space/plasman/sec/hop if("Scientist","Roboticist","Xenobiologist") - suit=/obj/item/clothing/suit/space/plasman/science - helm=/obj/item/clothing/head/helmet/space/plasman/science + suit_path = /obj/item/clothing/suit/space/plasman/science + helm_path = /obj/item/clothing/head/helmet/space/plasman/science if("Explorer","Pilot","Pathfinder") - suit=/obj/item/clothing/suit/space/plasman/science/explorer - helm=/obj/item/clothing/head/helmet/space/plasman/science/explorer + suit_path = /obj/item/clothing/suit/space/plasman/science/explorer + helm_path = /obj/item/clothing/head/helmet/space/plasman/science/explorer if("Research Director") - suit=/obj/item/clothing/suit/space/plasman/science/rd - helm=/obj/item/clothing/head/helmet/space/plasman/science/rd + suit_path = /obj/item/clothing/suit/space/plasman/science/rd + helm_path = /obj/item/clothing/head/helmet/space/plasman/science/rd if("Station Engineer") - suit=/obj/item/clothing/suit/space/plasman/engi/ - helm=/obj/item/clothing/head/helmet/space/plasman/engi/ + suit_path = /obj/item/clothing/suit/space/plasman/engi/ + helm_path = /obj/item/clothing/head/helmet/space/plasman/engi/ if("Chief Engineer") - suit=/obj/item/clothing/suit/space/plasman/engi/ce - helm=/obj/item/clothing/head/helmet/space/plasman/engi/ce + suit_path = /obj/item/clothing/suit/space/plasman/engi/ce + helm_path = /obj/item/clothing/head/helmet/space/plasman/engi/ce if("Atmospheric Technician") - suit=/obj/item/clothing/suit/space/plasman/engi/atmos - helm=/obj/item/clothing/head/helmet/space/plasman/engi/atmos + suit_path = /obj/item/clothing/suit/space/plasman/engi/atmos + helm_path = /obj/item/clothing/head/helmet/space/plasman/engi/atmos if("Medical Doctor","Paramedic","Psychiatrist") - suit=/obj/item/clothing/suit/space/plasman/med - helm=/obj/item/clothing/head/helmet/space/plasman/med + suit_path = /obj/item/clothing/suit/space/plasman/med + helm_path = /obj/item/clothing/head/helmet/space/plasman/med if("Field Medic") - suit=/obj/item/clothing/suit/space/plasman/med/rescue - helm=/obj/item/clothing/head/helmet/space/plasman/med/rescue + suit_path = /obj/item/clothing/suit/space/plasman/med/rescue + helm_path = /obj/item/clothing/head/helmet/space/plasman/med/rescue if("Chemist") - suit=/obj/item/clothing/suit/space/plasman/med/chemist - helm=/obj/item/clothing/head/helmet/space/plasman/med/chemist + suit_path = /obj/item/clothing/suit/space/plasman/med/chemist + helm_path = /obj/item/clothing/head/helmet/space/plasman/med/chemist if("Chief Medical Officer") - suit=/obj/item/clothing/suit/space/plasman/med/cmo - helm=/obj/item/clothing/head/helmet/space/plasman/med/cmo + suit_path = /obj/item/clothing/suit/space/plasman/med/cmo + helm_path = /obj/item/clothing/head/helmet/space/plasman/med/cmo if("Bartender","Chef") - suit=/obj/item/clothing/suit/space/plasman/service - helm=/obj/item/clothing/head/helmet/space/plasman/service + suit_path = /obj/item/clothing/suit/space/plasman/service + helm_path = /obj/item/clothing/head/helmet/space/plasman/service if("Cargo Technician","Quartermaster") - suit=/obj/item/clothing/suit/space/plasman/cargo - helm=/obj/item/clothing/head/helmet/space/plasman/cargo + suit_path = /obj/item/clothing/suit/space/plasman/cargo + helm_path = /obj/item/clothing/head/helmet/space/plasman/cargo if("Shaft Miner") - suit=/obj/item/clothing/suit/space/plasman/cargo/miner - helm=/obj/item/clothing/head/helmet/space/plasman/cargo/miner + suit_path = /obj/item/clothing/suit/space/plasman/cargo/miner + helm_path = /obj/item/clothing/head/helmet/space/plasman/cargo/miner if("Botanist") - suit=/obj/item/clothing/suit/space/plasman/botanist - helm=/obj/item/clothing/head/helmet/space/plasman/botanist + suit_path = /obj/item/clothing/suit/space/plasman/botanist + helm_path = /obj/item/clothing/head/helmet/space/plasman/botanist if("Chaplain") - suit=/obj/item/clothing/suit/space/plasman/chaplain - helm=/obj/item/clothing/head/helmet/space/plasman/chaplain + suit_path = /obj/item/clothing/suit/space/plasman/chaplain + helm_path = /obj/item/clothing/head/helmet/space/plasman/chaplain if("Janitor") - suit=/obj/item/clothing/suit/space/plasman/janitor - helm=/obj/item/clothing/head/helmet/space/plasman/janitor + suit_path = /obj/item/clothing/suit/space/plasman/janitor + helm_path = /obj/item/clothing/head/helmet/space/plasman/janitor if("Internal Affairs Agent","Command Secretary") - suit=/obj/item/clothing/suit/space/plasman/fancy - helm=/obj/item/clothing/head/helmet/space/plasman/fancy + suit_path = /obj/item/clothing/suit/space/plasman/fancy + helm_path = /obj/item/clothing/head/helmet/space/plasman/fancy if("Visitor") - suit=/obj/item/clothing/suit/space/plasman/assistant - helm=/obj/item/clothing/head/helmet/space/plasman/assistant + suit_path = /obj/item/clothing/suit/space/plasman/assistant + helm_path = /obj/item/clothing/head/helmet/space/plasman/assistant if("Clown") - suit=/obj/item/clothing/suit/space/plasman/clown - helm=/obj/item/clothing/head/helmet/space/plasman/clown + suit_path = /obj/item/clothing/suit/space/plasman/clown + helm_path = /obj/item/clothing/head/helmet/space/plasman/clown if("Mime") - suit=/obj/item/clothing/suit/space/plasman/mime - helm=/obj/item/clothing/head/helmet/space/plasman/mime - H.equip_to_slot_or_del(new suit(H), SLOT_ID_SUIT) - H.equip_to_slot_or_del(new helm(H), SLOT_ID_HEAD) - H.put_in_hands_or_del(new /obj/item/extinguisher/mini/plasman(H)) - - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), SLOT_ID_BACK) - H.internal = H.back + suit_path = /obj/item/clothing/suit/space/plasman/mime + helm_path = /obj/item/clothing/head/helmet/space/plasman/mime + + into_inv += /obj/item/extinguisher/mini/plasman + + if(for_target) + var/obj/item/existing_head_slot = for_target.inventory.get_slot_single(/datum/inventory_slot/inventory/head) + var/obj/item/existing_suit_slot = for_target.inventory.get_slot_single(/datum/inventory_slot/inventory/suit) + var/obj/item/creating_head_slot = new helm_path + var/obj/item/creating_suit_slot = new suit_path + if(existing_head_slot) + if(for_target.temporarily_remove_from_inventory(existing_head_slot, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(existing_head_slot) + if(!for_target.inventory.equip_to_slot_if_possible(creating_head_slot, /datum/inventory_slot/inventory/head, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(creating_head_slot) + else + into_inv?.Add(creating_head_slot) + if(existing_suit_slot) + if(for_target.temporarily_remove_from_inventory(existing_suit_slot, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(existing_suit_slot) + if(!for_target.inventory.equip_to_slot_if_possible(creating_suit_slot, /datum/inventory_slot/inventory/suit, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(creating_suit_slot) + else + into_inv?.Add(creating_suit_slot) + else + into_inv?.Add(helm_path) + into_inv?.Add(suit_path) + + //! legacy: just in case + for_target.ExtinguishMob() + + // ensure they have a vox tank + var/tank_type = /obj/item/tank/vox + if(for_target) + var/obj/item/tank/equipping_tank = new tank_type + var/could_place = TRUE + if(for_target.inventory.equip_to_slot_if_possible(equipping_tank, /datum/inventory_slot/inventory/pocket/left)) + else if(for_target.inventory.equip_to_slot_if_possible(equipping_tank, /datum/inventory_slot/inventory/pocket/right)) + else if(for_target.inventory.equip_to_slot_if_possible(equipping_tank, /datum/inventory_slot/inventory/suit_storage)) + else if(for_target.inventory.put_in_hands(equipping_tank)) + else + could_place = FALSE + if(could_place) + // todo: refactor this shit + for_target.internal = equipping_tank + for_target.internals.icon_state = "internal1" + else + into_inv?.Add(tank_type) else - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), SLOT_ID_SUIT_STORAGE) - H.internal = H.s_store - - H.internal = locate(/obj/item/tank) in H.contents - if(istype(H.internal,/obj/item/tank) && H.internals) - H.internals.icon_state = "internal1" - - spawn(2) - if(H.head && !istype(H.head,/obj/item/clothing/head/helmet/space/plasman)) - qdel(H.head) - H.equip_to_slot_or_del(new helm(H), SLOT_ID_HEAD) - if(H.on_fire) - H.ExtinguishMob() - - if(H.wear_suit && !istype(H.wear_suit,/obj/item/clothing/suit/space/plasman)) - qdel(H.wear_suit) - H.equip_to_slot_or_del(new suit(H), SLOT_ID_SUIT) - if(H.on_fire) - H.ExtinguishMob() - H.equip_to_slot_or_del(new /obj/item/tank/vox(H), SLOT_ID_SUIT_STORAGE) - H.internal = H.s_store + into_inv?.Add(tank_type) + + return ..() diff --git a/code/modules/species/station/standard/tajaran.dm b/code/modules/species/station/standard/tajaran.dm index 1e8b8b3bb9cd..b459f8d92664 100644 --- a/code/modules/species/station/standard/tajaran.dm +++ b/code/modules/species/station/standard/tajaran.dm @@ -127,6 +127,12 @@ /mob/living/carbon/human/proc/hide_tail, ) -/datum/species/tajaran/equip_survival_gear(mob/living/carbon/human/H) - . = ..() - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), SLOT_ID_SHOES) +/datum/species/tajaran/apply_racial_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + var/footwear_type = /obj/item/clothing/shoes/sandal + if(for_target && !for_target.inventory?.get_slot_single(/datum/inventory_slot/inventory/shoes)) + var/obj/item/footwear_instance = new footwear_type + if(!for_target.inventory.equip_to_slot_if_possible(footwear_instance, /datum/inventory_slot/inventory/shoes)) + into_inv += footwear_instance + else + into_inv += footwear_type + return ..() diff --git a/code/modules/species/station/standard/teshari.dm b/code/modules/species/station/standard/teshari.dm index 2a387379d718..699ca60bd146 100644 --- a/code/modules/species/station/standard/teshari.dm +++ b/code/modules/species/station/standard/teshari.dm @@ -178,10 +178,15 @@ /obj/item/clothing/suit/straight_jacket, ) - -/datum/species/teshari/equip_survival_gear(mob/living/carbon/human/H) - ..() - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),SLOT_ID_SHOES) +/datum/species/teshari/apply_racial_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + var/footwear_type = /obj/item/clothing/shoes/sandal + if(for_target && !for_target.inventory?.get_slot_single(/datum/inventory_slot/inventory/shoes)) + var/obj/item/footwear_instance = new footwear_type + if(!for_target.inventory.equip_to_slot_if_possible(footwear_instance, /datum/inventory_slot/inventory/shoes)) + into_inv += footwear_instance + else + into_inv += footwear_type + return ..() /datum/species/teshari/handle_falling(mob/living/carbon/human/H, atom/hit_atom, damage_min, damage_max, silent, planetary) diff --git a/code/modules/species/station/standard/unathi.dm b/code/modules/species/station/standard/unathi.dm index fc7f8fcac053..c0831d4bf9f8 100644 --- a/code/modules/species/station/standard/unathi.dm +++ b/code/modules/species/station/standard/unathi.dm @@ -145,6 +145,12 @@ /mob/living/carbon/human/proc/hide_tail, ) -/datum/species/unathi/equip_survival_gear(mob/living/carbon/human/H) - . = ..() - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), SLOT_ID_SHOES) +/datum/species/unathi/apply_racial_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + var/footwear_type = /obj/item/clothing/shoes/sandal + if(for_target && !for_target.inventory?.get_slot_single(/datum/inventory_slot/inventory/shoes)) + var/obj/item/footwear_instance = new footwear_type + if(!for_target.inventory.equip_to_slot_if_possible(footwear_instance, /datum/inventory_slot/inventory/shoes)) + into_inv += footwear_instance + else + into_inv += footwear_type + return ..() diff --git a/code/modules/species/station/standard/zaddat.dm b/code/modules/species/station/standard/zaddat.dm index 911a4a28ec52..044723cb907e 100644 --- a/code/modules/species/station/standard/zaddat.dm +++ b/code/modules/species/station/standard/zaddat.dm @@ -96,30 +96,46 @@ descriptors = list() -/datum/species/zaddat/equip_survival_gear(mob/living/carbon/human/H) - ..() - if(H.wear_suit) //get rid of job labcoats so they don't stop us from equipping the Shroud - qdel(H.wear_suit) //if you know how to gently set it in like, their backpack or whatever, be my guest - if(H.wear_mask) - qdel(H.wear_mask) - if(H.head) - qdel(H.head) - - H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/zaddat/(H), SLOT_ID_MASK) // mask has to come first or Shroud helmet will get in the way - H.equip_to_slot_or_del(new /obj/item/clothing/suit/space/void/zaddat/(H), SLOT_ID_SUIT) - - var/obj/item/storage/toolbox/lunchbox/survival/L = new(H) +/datum/species/zaddat/apply_survival_gear(mob/living/carbon/for_target, list/into_box, list/into_inv) + // ensure they have a valid mask + var/mask_type = /obj/item/clothing/mask/gas/zaddat + if(for_target) + var/obj/item/existing_mask = for_target.inventory.get_slot_single(/datum/inventory_slot/inventory/mask) + if(for_target.temporarily_remove_from_inventory(existing_mask, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(existing_mask) + var/obj/item/creating_mask = new mask_type + if(for_target.inventory.equip_to_slot_if_possible(creating_mask, /datum/inventory_slot/inventory/mask, INV_OP_SILENT | INV_OP_FLUFFLESS)) + else + into_inv?.Add(creating_mask) + else + into_inv?.Add(mask_type) + else + into_inv?.Add(mask_type) + + var/suit_path = /obj/item/clothing/suit/space/void/zaddat + if(for_target) + var/obj/item/existing_suit_slot = for_target.inventory.get_slot_single(/datum/inventory_slot/inventory/suit) + var/obj/item/creating_suit_slot = new suit_path + if(existing_suit_slot) + if(for_target.temporarily_remove_from_inventory(existing_suit_slot, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(existing_suit_slot) + if(!for_target.inventory.equip_to_slot_if_possible(creating_suit_slot, /datum/inventory_slot/inventory/suit, INV_OP_FORCE | INV_OP_SILENT)) + into_inv?.Add(creating_suit_slot) + else + into_inv?.Add(creating_suit_slot) + else + into_inv?.Add(suit_path) + + var/obj/item/storage/toolbox/lunchbox/survival/L = new new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(L) new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(L) new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(L) new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(L) new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(L) new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(L) + into_inv += L - if(H.backbag == 1) - H.put_in_hands_or_del(L) - else - H.equip_to_slot_or_del(L, /datum/inventory_slot/abstract/put_in_backpack) + return ..() /datum/species/zaddat/handle_environment_special(mob/living/carbon/human/H, datum/gas_mixture/environment, dt) diff --git a/code/modules/species/station/station_special_abilities.dm b/code/modules/species/station/station_special_abilities.dm index b7debb074b5d..8cd39108f690 100644 --- a/code/modules/species/station/station_special_abilities.dm +++ b/code/modules/species/station/station_special_abilities.dm @@ -867,3 +867,91 @@ set category = "Abilities" pass_flags ^= ATOM_PASS_TABLE //I dunno what this fancy ^= is but Aronai gave it to me. to_chat(src, "You [pass_flags&ATOM_PASS_TABLE ? "will" : "will NOT"] move over tables/railings/trays!") + +/mob/living/carbon/human/proc/water_stealth() + set name = "Dive under water / Resurface" + set desc = "Dive under water, allowing for you to be stealthy and move faster." + set category = "Abilities" + + if(last_special > world.time) + return + last_special = world.time + 50 //No spamming! + + if(has_modifier_of_type(/datum/modifier/trait/underwater_stealth)) + to_chat(src, "You resurface!") + remove_modifiers_of_type(/datum/modifier/trait/underwater_stealth) + return + + if(!isturf(loc)) //We have no turf. + to_chat(src, "There is no water for you to dive into!") + return + + if(istype(src.loc, /turf/simulated/floor/water)) + var/turf/simulated/floor/water/water_floor = src.loc + if(water_floor.depth >= 1) //Is it deep enough? + add_modifier(/datum/modifier/trait/underwater_stealth) //No duration. It'll remove itself when they exit the water! + to_chat(src, "You dive into the water!") + visible_message("[src] dives into the water!") + else + to_chat(src, "The water here is not deep enough to dive into!") + return + + else + to_chat(src, "There is no water for you to dive into!") + return + +/mob/living/carbon/human/proc/underwater_devour() + set name = "Devour From Water" + set desc = "Grab something in the water with you and devour them with your selected stomach." + set category = "Abilities.Vore" + + if(last_special > world.time) + return + last_special = world.time + 50 //No spamming! + + if(stat == DEAD || !CHECK_MOBILITY(src, MOBILITY_CAN_MOVE)) + to_chat(src, SPAN_NOTICE("You cannot do that while in your current state.")) + return + + if(!(src.vore_selected)) + to_chat(src, SPAN_NOTICE("No selected belly found.")) + return + + + if(!has_modifier_of_type(/datum/modifier/trait/underwater_stealth)) + to_chat(src, "You must be underwater to do this!!") + return + + var/list/targets = list() //Shameless copy and paste. If it ain't broke don't fix it! + + for(var/turf/T in range(1, src)) + if(istype(T, /turf/simulated/floor/water)) + for(var/mob/living/L in T) + if(L == src) //no eating yourself. 1984. + continue + if(L.devourable && L.can_be_drop_prey) + targets += L + + if(!(targets.len)) + to_chat(src, SPAN_NOTICE("No eligible targets found.")) + return + + var/mob/living/target = tgui_input_list(src, "Please select a target.", "Victim", targets) + + if(!target) + return + + to_chat(target, SPAN_CRITICAL("Something begins to circle around you in the water!")) //Dun dun... + var/starting_loc = target.loc + + if(do_after(src, 50)) + if(target.loc != starting_loc) + to_chat(target, SPAN_WARNING("You got away from whatever that was...")) + to_chat(src, SPAN_NOTICE("They got away.")) + return + if(target.buckled) //how are you buckled in the water?! + target.buckled.unbuckle_mob() + target.visible_message(SPAN_WARNING("\The [target] suddenly disappears, being dragged into the water!"),\ + SPAN_DANGER("You are dragged below the water and feel yourself slipping directly into \the [src]'s [lowertext(vore_selected)]!")) + to_chat(src, SPAN_NOTICE("You successfully drag \the [target] into the water, slipping them into your [lowertext(vore_selected)].")) + target.forceMove(src.vore_selected) diff --git a/code/modules/sprite_accessories/sprite_accessory.dm b/code/modules/sprite_accessories/sprite_accessory.dm index 9c151d4cf69c..dace6b79355c 100644 --- a/code/modules/sprite_accessories/sprite_accessory.dm +++ b/code/modules/sprite_accessories/sprite_accessory.dm @@ -102,7 +102,7 @@ GLOBAL_LIST_EMPTY(sprite_accessory_icon_cache) continue if(!istext(colors[i])) stack_trace("attempted to use non-text color string with legacy additive; this is not supported.") - var/list/decoded = ReadRGB(colors[i]) + var/list/decoded = rgb2num(colors[i]) var/list/computed = list( 1, 0, 0, 0, 1, 0, diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index 734a788d43e9..2e27a62087e1 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -8,6 +8,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/glue_bone + step_name = "Glue bone" + allowed_tools = list( /obj/item/surgical/bonegel = 100 ) @@ -50,6 +52,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/set_bone + step_name = "Set bone" + allowed_tools = list( /obj/item/surgical/bonesetter = 100, /obj/item/surgical/bonesetter_primitive = 60 @@ -95,6 +99,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/mend_skull + step_name = "Mend skull" + allowed_tools = list( /obj/item/surgical/bonesetter = 100, /obj/item/surgical/bonesetter_primitive = 60 @@ -135,6 +141,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/finish_bone + step_name = "Finish bone" + allowed_tools = list( /obj/item/surgical/bonegel = 100 ) @@ -176,6 +184,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/clamp_bone + step_name = "Clamp bone" + allowed_tools = list( /obj/item/surgical/bone_clamp = 100 ) diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index e64692c96d16..aa50cc8532f3 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -19,8 +19,11 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/open_encased/saw + step_name = "Saw bones" + allowed_tools = list( /obj/item/surgical/circular_saw = 100, \ + /obj/item/surgical/saw_bronze = 75, \ /obj/item/material/knife/machete/hatchet = 75, \ /obj/item/surgical/saw_primitive = 60 ) @@ -69,6 +72,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/open_encased/retract + step_name = "Retract bones" + allowed_tools = list( /obj/item/surgical/retractor = 100, /obj/item/surgical/retractor_primitive = 75 @@ -123,6 +128,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/open_encased/close + step_name = "Close bones" + allowed_tools = list( /obj/item/surgical/retractor = 100, /obj/item/surgical/retractor_primitive = 75 @@ -182,6 +189,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/open_encased/mend + step_name = "Mend bones" + allowed_tools = list( /obj/item/surgical/bonegel = 100 ) @@ -223,6 +232,8 @@ // Saw/Retractor/Gel Combi-open and close. /////////////////////////////////////////////////////////////// /datum/surgery_step/open_encased/advancedsaw_open + step_name = "Divert bones" + allowed_tools = list( /obj/item/surgical/circular_saw/manager = 100 ) @@ -272,6 +283,8 @@ /datum/surgery_step/open_encased/advancedsaw_mend + step_name = "Seal bones" + allowed_tools = list( /obj/item/surgical/circular_saw/manager = 100 ) diff --git a/code/modules/surgery/external_repair.dm b/code/modules/surgery/external_repair.dm index 416c1ba6a109..a708a2e608f2 100644 --- a/code/modules/surgery/external_repair.dm +++ b/code/modules/surgery/external_repair.dm @@ -30,6 +30,8 @@ ////////////////////////////////////////////////////////////////// /datum/surgery_step/repairflesh/scan_injury + step_name = "Scan injury" + allowed_tools = list( /obj/item/healthanalyzer = 100, /obj/item/atmos_analyzer = 10 @@ -80,6 +82,8 @@ ////////////////////////////////////////////////////////////////// /datum/surgery_step/repairflesh/repair_burns + step_name = "Reconstruct skin" + allowed_tools = list( /obj/item/stack/medical/advanced/ointment = 100, /obj/item/surgical/FixOVein = 100, @@ -149,6 +153,8 @@ ////////////////////////////////////////////////////////////////// /datum/surgery_step/repairflesh/repair_brute + step_name = "Repair skin" + allowed_tools = list( /obj/item/stack/medical/advanced/bruise_pack = 100, /obj/item/surgical/cautery = 100, diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index b44987d47cf8..6882d8e6f49d 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -21,9 +21,12 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/cut_face + step_name = "Cut face" + allowed_tools = list( /obj/item/surgical/scalpel = 100, \ /obj/item/surgical/scalpel_primitive = 80, \ + /obj/item/surgical/scalpel_bronze = 90, \ /obj/item/material/knife = 75, \ /obj/item/material/shard = 50, \ ) @@ -56,6 +59,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/face/mend_vocal + step_name = "Fix vocal cords" + allowed_tools = list( /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ @@ -89,6 +94,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/face/fix_face + step_name = "Fix face" + allowed_tools = list( /obj/item/surgical/retractor = 100, \ /obj/item/surgical/retractor_primitive = 75, \ @@ -124,6 +131,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/face/cauterize + step_name = "Cauterize" + allowed_tools = list( /obj/item/surgical/cautery = 100, \ /obj/item/clothing/mask/smokable/cigarette = 75, \ diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 71be860aef84..bf5ce7447ce9 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -27,8 +27,11 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/cut_open + step_name = "Incise" + allowed_tools = list( /obj/item/surgical/scalpel = 100, + /obj/item/surgical/scalpel_bronze = 90, /obj/item/surgical/scalpel_primitive = 80, /obj/item/material/knife = 75, /obj/item/material/shard = 50, @@ -72,6 +75,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/cut_with_laser + step_name = "Laser incision" + allowed_tools = list( /obj/item/surgical/scalpel/laser3 = 95, \ /obj/item/surgical/scalpel/laser2 = 85, \ @@ -118,6 +123,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/incision_manager + step_name = "Prepared incision" + allowed_tools = list( /obj/item/surgical/scalpel/manager = 100, ) @@ -164,6 +171,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/clamp_bleeders + step_name = "Clamp bleeders" + allowed_tools = list( /obj/item/surgical/hemostat = 100, /obj/item/stack/cable_coil = 75, @@ -204,6 +213,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/retract_skin + step_name = "Retract skin" + allowed_tools = list( /obj/item/surgical/retractor = 100, /obj/item/surgical/retractor_primitive = 75, @@ -265,6 +276,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/cauterize + step_name = "Cauterize" + allowed_tools = list( /obj/item/surgical/cautery = 100, /obj/item/clothing/mask/smokable/cigarette = 75, @@ -307,9 +320,12 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/generic/amputate + step_name = "Amputate limb" + allowed_tools = list( /obj/item/surgical/circular_saw = 100, /obj/item/material/knife/machete/hatchet = 75, + /obj/item/surgical/saw_bronze = 75, /obj/item/surgical/saw_primitive = 60, ) req_open = 0 diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index b6c00fe16c6d..938d58778143 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -44,6 +44,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/cavity/make_space + step_name = "Prepare cavity" + allowed_tools = list( /obj/item/surgical/surgicaldrill = 100, /obj/item/pen = 75, @@ -76,6 +78,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/cavity/close_space + step_name = "Seal cavity" + priority = 2 allowed_tools = list( /obj/item/surgical/cautery = 100, @@ -111,6 +115,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/cavity/place_item + step_name = "Implant item" + priority = 0 allowed_tools = list(/obj/item = 100) @@ -122,6 +128,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) //if(istype(user,/mob/living/silicon/robot)) //return + if(tool == null) + return 0 if(affected && affected.cavity) var/total_volume = tool.w_class for(var/obj/item/I in affected.implants) @@ -168,6 +176,8 @@ update_icon() /datum/surgery_step/cavity/implant_removal + step_name = "Remove implant" + allowed_tools = list( /obj/item/surgical/hemostat = 100, \ /obj/item/surgical/hemostat_primitive = 50, \ diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index a2c2e78d804d..0e3a17c4cfb7 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -22,12 +22,16 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/limb/attach + step_name = "Attach limb" + allowed_tools = list(/obj/item/organ/external = 100) min_duration = 50 max_duration = 70 /datum/surgery_step/limb/attach/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!istype(tool, /obj/item/organ/external)) + return 0 var/obj/item/organ/external/E = tool var/obj/item/organ/external/P = target.organs_by_name[E.parent_organ] var/obj/item/organ/external/affected = target.get_organ(target_zone) @@ -73,6 +77,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/limb/connect + step_name = "Connect muscles" + allowed_tools = list( /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ @@ -113,6 +119,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/limb/mechanize + step_name = "Attach prosthetic" + allowed_tools = list(/obj/item/robot_parts = 100) min_duration = 80 diff --git a/code/modules/surgery/neck.dm b/code/modules/surgery/neck.dm index 069187ac9438..f5997cd8a81d 100644 --- a/code/modules/surgery/neck.dm +++ b/code/modules/surgery/neck.dm @@ -21,6 +21,8 @@ ///////////////////////////// /datum/surgery_step/brainstem/mend_vessels + step_name = "Mend vessels" + priority = 1 allowed_tools = list( /obj/item/surgical/FixOVein = 100, @@ -56,6 +58,8 @@ ///////////////////////////// /datum/surgery_step/brainstem/drill_vertebrae + step_name = "Drill vertebrae" + priority = 3 //Do this instead of expanding the skull cavity allowed_tools = list( /obj/item/surgical/surgicaldrill = 100, @@ -99,6 +103,8 @@ ///////////////////////////// /datum/surgery_step/brainstem/clean_chips + step_name = "Clear bone chips" + priority = 3 //Do this instead of picking around for implants. allowed_tools = list( /obj/item/surgical/hemostat = 100, @@ -139,6 +145,8 @@ ///////////////////////////// /datum/surgery_step/brainstem/mend_cord + step_name = "Mend spinal cord" + priority = 1 //Do this after IB. allowed_tools = list( /obj/item/surgical/FixOVein = 100, @@ -179,6 +187,8 @@ ///////////////////////////// /datum/surgery_step/brainstem/mend_vertebrae + step_name = "Mend vertebrae" + priority = 3 //Do this instead of fixing bones. allowed_tools = list( /obj/item/surgical/bonegel = 100, @@ -217,6 +227,8 @@ ///////////////////////////// /datum/surgery_step/brainstem/realign_tissue + step_name = "Realign tissue" + priority = 3 //Do this instead of searching for objects in the skull. allowed_tools = list( /obj/item/surgical/hemostat = 100, diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 39794ddcb5b5..8ad03a4e9665 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -58,6 +58,8 @@ // CHEST INTERNAL ORGAN SURGERY // ////////////////////////////////////////////////////////////////// /datum/surgery_step/internal/fix_organ + step_name = "Fix organs" + allowed_tools = list( /obj/item/stack/medical/advanced/bruise_pack= 100, \ /obj/item/stack/medical/bruise_pack = 20 @@ -145,9 +147,11 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/internal/detatch_organ/ + step_name = "Detatch organ" allowed_tools = list( /obj/item/surgical/scalpel = 100, \ + /obj/item/surgical/scalpel_bronze = 90, \ /obj/item/surgical/scalpel_primitive = 80, \ /obj/item/material/knife = 75, \ /obj/item/material/shard = 50, \ @@ -208,6 +212,7 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/internal/remove_organ + step_name = "Extract organ" allowed_tools = list( /obj/item/surgical/hemostat = 100, \ @@ -267,6 +272,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/internal/replace_organ + step_name = "Insert organ" + allowed_tools = list( /obj/item/organ = 100 ) @@ -346,6 +353,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/internal/attach_organ + step_name = "Attach organ" + allowed_tools = list( /obj/item/surgical/FixOVein = 100, \ /obj/item/stack/cable_coil = 75 @@ -398,6 +407,7 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/internal/rip_organ + step_name = "Rip organ" allowed_tools = list( /obj/item/surgical/scalpel/ripper = 100 diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index d8a31dbd9b64..477605328ce1 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -8,6 +8,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/fix_vein + step_name = "Fix vein" + priority = 2 allowed_tools = list( /obj/item/surgical/FixOVein = 100, \ @@ -70,9 +72,12 @@ // Necrosis Surgery Step 1 /////////////////////////////////////////////////////////////// /datum/surgery_step/fix_dead_tissue //Debridement + step_name = "Debride tissue" + priority = 2 allowed_tools = list( /obj/item/surgical/scalpel = 100, \ + /obj/item/surgical/scalpel_bronze = 90, \ /obj/item/surgical/scalpel_primitive = 80, \ /obj/item/material/knife = 75, \ /obj/item/material/shard = 50, \ @@ -118,6 +123,8 @@ // Necrosis Surgery Step 2 /////////////////////////////////////////////////////////////// /datum/surgery_step/treat_necrosis + step_name = "Treat necrosis" + priority = 2 allowed_tools = list( /obj/item/reagent_containers/dropper = 100, @@ -193,9 +200,12 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/hardsuit + step_name = "Remove hardsuit" + allowed_tools = list( /obj/item/weldingtool = 80, /obj/item/surgical/circular_saw = 60, + /obj/item/surgical/saw_bronze = 30, /obj/item/surgical/saw_primitive = 25, /obj/item/pickaxe/plasmacutter = 100 ) @@ -258,6 +268,8 @@ return target_zone == BP_TORSO && (MUTATION_HUSK in target.mutations) /datum/surgery_step/dehusk/structinitial + step_name = "Create mesh" + allowed_tools = list( /obj/item/surgical/bioregen = 100 ) @@ -287,6 +299,8 @@ ..() /datum/surgery_step/dehusk/relocateflesh + step_name = "Relocate flesh" + allowed_tools = list( /obj/item/surgical/hemostat = 100, \ /obj/item/stack/cable_coil = 75, \ @@ -319,6 +333,8 @@ ..() /datum/surgery_step/dehusk/structfinish + step_name = "Finish structure" + allowed_tools = list( /obj/item/surgical/bioregen = 100, \ /obj/item/surgical/FixOVein = 30 @@ -363,6 +379,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/internal/detoxify + step_name = "Detoxify" + blood_level = 1 allowed_tools = list(/obj/item/surgical/bioregen=100) min_duration = 90 diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index b24a7dca4162..14a3fda45380 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -28,6 +28,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/unscrew_hatch + step_name = "Unscrew hatch" + allowed_tools = list( /obj/item/coin = 50, /obj/item/material/knife = 50 @@ -67,6 +69,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/open_hatch + step_name = "Open hatch" + allowed_tools = list( /obj/item/surgical/retractor = 100, /obj/item/surgical/retractor_primitive = 75, @@ -105,6 +109,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/close_hatch + step_name = "Close hatch" + allowed_tools = list( /obj/item/surgical/retractor = 100, /obj/item/surgical/retractor_primitive = 75, @@ -144,6 +150,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/repair_brute + step_name = "Fix structure" + allowed_tools = list( /obj/item/weldingtool = 100, /obj/item/pickaxe/plasmacutter = 50 @@ -185,6 +193,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/repair_burn + step_name = "Fix wiring" + allowed_tools = list( /obj/item/stack/cable_coil = 100 ) @@ -233,6 +243,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/fix_organ_robotic //For artificial organs + step_name = "Repair systems" + allowed_tools = list( /obj/item/stack/nanopaste = 100, \ /obj/item/surgical/bonegel = 30, \ @@ -301,6 +313,7 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/detatch_organ_robotic + step_name = "Decouple system" allowed_tools = list( /obj/item/multitool = 100 @@ -354,6 +367,7 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/attach_organ_robotic + step_name = "Install system" allowed_tools = list( /obj/item/surgical/FixOVein = 100 @@ -406,6 +420,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/install_mmi + step_name = "Install MMI" + allowed_tools = list( /obj/item/mmi = 100 ) @@ -484,6 +500,8 @@ */ /datum/surgery_step/robotics/install_nymph + step_name = "Install Nymph" + allowed_tools = list( /obj/item/holder/diona = 100 ) diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index 3f2660fb9c64..ac945710cdd9 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -12,8 +12,10 @@ /datum/surgery_step/slime/cut_flesh + step_name = "Incise" allowed_tools = list( /obj/item/surgical/scalpel = 100, + /obj/item/surgical/scalpel_bronze = 90, /obj/item/surgical/scalpel_primitive = 80, /obj/item/material/knife = 75, /obj/item/material/shard = 50, @@ -41,8 +43,11 @@ /datum/surgery_step/slime/cut_innards + step_name = "Expose core" + allowed_tools = list( /obj/item/surgical/scalpel = 100, \ + /obj/item/surgical/scalpel_bronze = 90, \ /obj/item/surgical/scalpel_primitive = 80, \ /obj/item/material/knife = 75, \ /obj/item/material/shard = 50, \ @@ -70,8 +75,11 @@ /datum/surgery_step/slime/saw_core + step_name = "Extract core" + allowed_tools = list( /obj/item/surgical/circular_saw = 100, \ + /obj/item/surgical/saw_bronze = 90, \ /obj/item/surgical/saw_primitive = 80, \ /obj/item/material/knife/machete/hatchet = 75 ) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 8e430c51bd3d..b6ae6f8fa96b 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -7,6 +7,8 @@ var/surgery_odds = 30 // temporary - surgery odds for on-turf. /datum/surgery_step + var/step_name = "" //label to show for this step on operating consoles + var/priority = 0 //steps with higher priority would be attempted first var/req_open = 1 //1 means the part must be cut open, 0 means it doesn't diff --git a/code/modules/vehicles/ridden/boat.dm b/code/modules/vehicles/ridden/boat.dm index e76981d65c87..dc364cfb8d00 100644 --- a/code/modules/vehicles/ridden/boat.dm +++ b/code/modules/vehicles/ridden/boat.dm @@ -20,7 +20,7 @@ if(!material) qdel(src) return - add_atom_colour(material.icon_colour, FIXED_COLOUR_PRIORITY) + add_atom_color(material.icon_colour) /obj/vehicle/ridden/boat/drive_check(mob/user) return !!user.get_held_item_of_type(/obj/item/oar) @@ -83,7 +83,7 @@ if(!material) qdel(src) return - add_atom_colour(material.icon_colour, FIXED_COLOUR_PRIORITY) + add_atom_color(material.icon_colour) /obj/item/oar/ashlander name = "blessed oar" diff --git a/code/modules/vehicles/sealed/mecha/mecha_appearance.dm b/code/modules/vehicles/sealed/mecha/mecha_appearance.dm index 4f61f5603cee..9d8ca1a731da 100644 --- a/code/modules/vehicles/sealed/mecha/mecha_appearance.dm +++ b/code/modules/vehicles/sealed/mecha/mecha_appearance.dm @@ -13,13 +13,13 @@ // How many pixels do we bump the pilot upward? var/pilot_lift = 0 -/obj/vehicle/sealed/mecha/update_transform() - // Now for the regular stuff. - var/matrix/M = matrix() - M.Scale(icon_scale_x, icon_scale_y) - M.Translate(0, 16*(icon_scale_y-1)) - animate(src, transform = M, time = 10) - return +/obj/vehicle/sealed/mecha/apply_transform(matrix/to_apply) + animate(src, transform = to_apply, time = 1 SECONDS) + +/obj/vehicle/sealed/mecha/base_transform(matrix/applying) + var/matrix/base_matrix = ..() + base_matrix.Translate(0, 16 * (icon_scale_y - 1)) + return base_matrix /obj/vehicle/sealed/mecha/update_icon() if(!initial_icon) diff --git a/code/modules/vehicles/sealed/mecha/subtypes/micro/mecha_construction_paths_vr.dm b/code/modules/vehicles/sealed/mecha/subtypes/micro/mecha_construction_paths_vr.dm index 36d682829ffd..36606784333a 100644 --- a/code/modules/vehicles/sealed/mecha/subtypes/micro/mecha_construction_paths_vr.dm +++ b/code/modules/vehicles/sealed/mecha/subtypes/micro/mecha_construction_paths_vr.dm @@ -306,8 +306,6 @@ const_holder.cut_overlays() spawn() qdel(src) - return - /datum/construction/reversible/mecha/gopher result = "/obj/vehicle/sealed/mecha/micro/utility/gopher" diff --git a/code/modules/xenobio2/mob/xeno.dm b/code/modules/xenobio2/mob/xeno.dm index 6b9cef60afb4..a2cd4799c3e5 100644 --- a/code/modules/xenobio2/mob/xeno.dm +++ b/code/modules/xenobio2/mob/xeno.dm @@ -79,7 +79,7 @@ Also includes Life and New ProcessTraits() . =..() if(colored) - add_atom_colour(traitdat.get_trait(TRAIT_XENO_COLOR), FIXED_COLOUR_PRIORITY) + add_atom_color(traitdat.get_trait(TRAIT_XENO_COLOR)) create_reagents(internal_vol) temp_chem_holder = new() temp_chem_holder.create_reagents(20) diff --git a/config.default/README.md b/config.default/README.md new file mode 100644 index 000000000000..616c7c225371 --- /dev/null +++ b/config.default/README.md @@ -0,0 +1,4 @@ +# Default Configuration + +Due to the nature of TGS, we can either make an entire directory and everything in it static or make nothing in it static. +This is annoying, and necessitates default config be in another directory. diff --git a/config.default/config.toml b/config.default/config.toml new file mode 100644 index 000000000000..6d5305501ef8 --- /dev/null +++ b/config.default/config.toml @@ -0,0 +1,19 @@ +[[backend.logging.toggles]] + access = true + admin = true + adminchat = true + adminwarn = true + attack = true + debug = true + emote = true + game = true + ooc = true + pda = true + runtime = true + say = true + topic = true + vote = true + whisper = true + +[[backend.repository]] + persistence = true diff --git a/config/config.toml b/config/config.toml new file mode 100644 index 000000000000..c38562316155 --- /dev/null +++ b/config/config.toml @@ -0,0 +1 @@ +# Config file. Loaded second in the load order, after `config.default.toml`. diff --git a/dependencies.sh b/dependencies.sh index e41225a27381..358da47695bc 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -22,4 +22,10 @@ export NODE_VERSION_COMPAT=20.2.0 export SPACEMAN_DMM_VERSION=suite-1.9 # Python version for mapmerge and other tools -export PYTHON_VERSION=3.9.0 +export PYTHON_VERSION=3.12.0 + +# MariaDB version +export MARIADB_VERSION=11.4.4 + +# Flyway version +export FLYWAY_VERSION=11.0.1 diff --git a/icons/README.md b/icons/README.md index f29ffc46d8d2..3f792cec58af 100644 --- a/icons/README.md +++ b/icons/README.md @@ -22,25 +22,26 @@ Yes, this currently includes all turfs, mobs, objs, and misc things. Sorry. We'l - /gearsets - bundled sets, like voidsuits, cryosuits, etc - /effects - generic visual effects that are not screen/rendering: e.g. attack, emp, bomb, etc. - /items - general, non-module, non-clothing items placed in here + - /items/stacks - general `/obj/item/stack` types placed in here. - /interface - used for stuff going into spritesheets for tgui, etc. if it's a HUD object, it should go in /screen instead. - /machinery - used for sprites for general, non-module machines. use subdirectories if more than one .dmi is needed, or for closely related machinery. - /mapping - used for sprites for in-map-editor objects that are invisible in game world - /helpers - mapping helpers like autopipe/autocable/baseturf replacers go here - /landmarks - landmark icons - /spawners - things like window spawners + - /materials - material sprites - /mob - mob sprites - /bodysets - limbs and their corrosponding sprite accessories & markings & miscellaneous. used in the abstraction of limb sprite from limb definition. - /sprite_accessories - unconverted sprite accessories - /sprite_accessory - modern sprite accessory system - /modules - used for specific departments / content packs / logical bundles - - /{modulename} - the examples before are just that, examples. some modules will require different styles of icon organization. + - /{modulename} - the examples below are just that, examples. some modules will require different styles of icon organization. - /items - items - /clothing - clothing - /machinery - machinery - /structures - structures - /objects - miscellaneous objects that are not items, machinery, or structures - - /overmaps - **All** overmap sprites, whether or not it's screen rendering, goes in here - /runtime - follow similar structure inside this, treat it as a sub-copy. icons in this are copied over for use during runtime - currently being deprecated; we have chosen to instead copy over all icons/sounds, so the runtime server can access them. diff --git a/icons/UI_Icons/emoji/emoji.dmi b/icons/UI_Icons/emoji/emoji.dmi index 31eabbd7e5a4..147f38be72c7 100644 Binary files a/icons/UI_Icons/emoji/emoji.dmi and b/icons/UI_Icons/emoji/emoji.dmi differ diff --git a/icons/UI_Icons/emoji/todo.dmi b/icons/UI_Icons/emoji/todo.dmi new file mode 100644 index 000000000000..693edb5c0bf3 Binary files /dev/null and b/icons/UI_Icons/emoji/todo.dmi differ diff --git a/icons/clothing/uniform/misc/replika.dmi b/icons/clothing/uniform/misc/replika.dmi index d6611904f095..953e3e1da4ac 100644 Binary files a/icons/clothing/uniform/misc/replika.dmi and b/icons/clothing/uniform/misc/replika.dmi differ diff --git a/icons/items/stacks/medical.dmi b/icons/items/stacks/medical.dmi new file mode 100644 index 000000000000..be8ef7c1f9e4 Binary files /dev/null and b/icons/items/stacks/medical.dmi differ diff --git a/icons/materials/metals/steel.dmi b/icons/materials/metals/steel.dmi new file mode 100644 index 000000000000..a6d60b5e2a8f Binary files /dev/null and b/icons/materials/metals/steel.dmi differ diff --git a/icons/modules/mining/ore_overlay.dmi b/icons/modules/mining/ore_overlay.dmi new file mode 100644 index 000000000000..0ed15d389802 Binary files /dev/null and b/icons/modules/mining/ore_overlay.dmi differ diff --git a/icons/obj/card_cit.dmi b/icons/obj/card_cit.dmi index 90efc5d22b3d..44bc331abc26 100644 Binary files a/icons/obj/card_cit.dmi and b/icons/obj/card_cit.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 49db5abafc5b..6b24c51d56a0 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/passports.dmi b/icons/obj/passports.dmi new file mode 100644 index 000000000000..329797e21d8c Binary files /dev/null and b/icons/obj/passports.dmi differ diff --git a/icons/obj/stacks.dmi b/icons/obj/stacks.dmi index ed3caf031ea1..d3134e3fe055 100644 Binary files a/icons/obj/stacks.dmi and b/icons/obj/stacks.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index f228e50e505e..73ecd6a01a68 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/maps/endeavour/endeavour-papers.dm b/maps/endeavour/endeavour-papers.dm new file mode 100644 index 000000000000..1fc774f18094 --- /dev/null +++ b/maps/endeavour/endeavour-papers.dm @@ -0,0 +1,5 @@ + +/obj/item/paper/pamphlet/substation + name = "Notice to NSV Endeavour Auxiliary Engineering Staff" + desc = "Some sort of technical information regarding this generator doohickey" + info = "Hello!

If you are reading this, you are attempting to activate the back up supply generators for an Endeavour Class vessel!

Please take note! Distribute the fuel among four or more generators, and be sure to leave them connected to each other via the breakers! This ships is divided into power zones, rather than departmental power subgrids. Powering the generators and leaving them connected to the secondary net will combine the power of all the generators and power the ship via this combined effort. If part of the ship is damaged, and you need to get power up to your section of the ship, *then* disconnect your area of interest.

Thank you for reading, and have a secure day!" diff --git a/maps/endeavour/endeavour.dm b/maps/endeavour/endeavour.dm index f31553fc93bd..867226057f13 100644 --- a/maps/endeavour/endeavour.dm +++ b/maps/endeavour/endeavour.dm @@ -22,6 +22,7 @@ /datum/map/sector/frozen_192, /datum/map/sector/wasteland_192, /datum/map/sector/nebula_tradeport, + /datum/map/sector/delerict_casino, /datum/map/sector/surt, /datum/map/sector/miaphus, /datum/map/sector/roguemining_192/one, @@ -104,7 +105,7 @@ bot_patrolling = FALSE - allowed_spawns = list(LATEJOIN_METHOD_ARRIVALS_SHUTTLE,LATEJOIN_METHOD_GATEWAY,LATEJOIN_METHOD_CRYOGENIC_STORAGE,LATEJOIN_METHOD_ROBOT_STORAGE,"Beruang Trading Corp Cryo") + allowed_spawns = list(LATEJOIN_METHOD_ARRIVALS_SHUTTLE,LATEJOIN_METHOD_GATEWAY,LATEJOIN_METHOD_CRYOGENIC_STORAGE,LATEJOIN_METHOD_ROBOT_STORAGE,"Beruang Trading Corp Cryo","Nebula Visitor Arrival") spawnpoint_died = /datum/spawnpoint/arrivals spawnpoint_left = /datum/spawnpoint/arrivals spawnpoint_stayed = /datum/spawnpoint/cryo diff --git a/maps/endeavour/levels/deck1.dmm b/maps/endeavour/levels/deck1.dmm index e08e51229e09..3245675dc49d 100644 --- a/maps/endeavour/levels/deck1.dmm +++ b/maps/endeavour/levels/deck1.dmm @@ -11,6 +11,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1portamidhall) +"abs" = ( +/obj/structure/loot_pile/maint/technical, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "abD" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -41,13 +48,17 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) "abZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, /obj/structure/bed/chair/comfy/brown, /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, /turf/simulated/floor/wood, /area/library) "acr" = ( @@ -74,6 +85,10 @@ /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) +"acQ" = ( +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "adZ" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 5 @@ -85,6 +100,7 @@ /area/rnd/test_area) "aeg" = ( /obj/structure/table/bench/wooden, +/obj/machinery/air_alarm/east_mount, /turf/simulated/floor/tiled/dark, /area/chapel/main) "aej" = ( @@ -151,6 +167,14 @@ }, /turf/simulated/floor/tiled, /area/shuttle/excursion/general) +"ahn" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table/steel, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "ahv" = ( /obj/machinery/access_button{ command = "cycle_ext"; @@ -358,11 +382,16 @@ /turf/simulated/wall/prepainted, /area/endeavour/hallway/d1fwdmaint) "aqI" = ( -/obj/effect/floor_decal/techfloor, -/obj/effect/floor_decal/corner/red/border, -/obj/landmark/spawnpoint/latejoin/station/arrivals_shuttle, -/turf/simulated/floor/tiled/techfloor/grid, -/area/endeavour/hallway/d1afthall) +/obj/structure/window/basic{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/closet/secure_closet/personal, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/crew_quarters/pool/changing_room) "aqP" = ( /obj/structure/table/reinforced, /obj/fiftyspawner/glass, @@ -376,6 +405,13 @@ }, /turf/simulated/floor/tiled/old_tile/green, /area/shuttle/civvie/general) +"arx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "arI" = ( /obj/effect/floor_decal/techfloor/orange{ dir = 10 @@ -429,6 +465,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) +"asp" = ( +/obj/random/cutout, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "asR" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -603,7 +643,7 @@ name = "Chapel" }, /obj/structure/curtain/black, -/turf/simulated/floor/carpet/sblucarpet, +/turf/simulated/floor/carpet/bcarpet, /area/chapel/main) "aBr" = ( /obj/structure/cable/orange{ @@ -612,24 +652,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "aBC" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/bordercorner2{ - dir = 8 - }, -/obj/structure/sign/warning/evac{ - pixel_x = -32 +/obj/machinery/light{ + dir = 4 }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1afthall) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "aCq" = ( /obj/structure/sign/warning/bomb_range{ name = "\improper LIVE ORDINANCE"; @@ -676,10 +703,12 @@ /turf/simulated/floor/tiled/dark, /area/rnd/research/testingrange) "aDo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/junction{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "aDX" = ( @@ -807,7 +836,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "aGH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -820,29 +849,13 @@ /turf/simulated/wall/r_wall/prepainted/exploration, /area/exploration/courser_dock) "aGL" = ( -/obj/machinery/camera/network/exploration{ - dir = 4 - }, /obj/effect/floor_decal/borderfloor{ - dir = 9 + dir = 1 }, /obj/effect/floor_decal/corner/blue/border{ - dir = 9 - }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/structure/window/reinforced{ dir = 1 }, -/obj/structure/closet/secure_closet/sar{ - req_access = list(5); - req_one_access = list(5) - }, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/syringes, -/obj/item/tank/jetpack/oxygen, -/obj/item/storage/backpack/parachute, -/obj/item/clothing/accessory/permit/gun/planetside, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/white, /area/exploration/medical) "aHc" = ( /obj/structure/bed/chair, @@ -895,12 +908,17 @@ pixel_x = -1 }, /obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, /turf/simulated/floor/tiled, /area/exploration/showers) "aIl" = ( /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/secondary/docking_hallway) @@ -1181,6 +1199,9 @@ name = "light switch "; pixel_y = 26 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "aSm" = ( @@ -1207,6 +1228,17 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"aSH" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) +"aUq" = ( +/obj/structure/closet/crate, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "aUt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1250,13 +1282,36 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"aVc" = ( +/obj/machinery/camera/network/exploration{ + dir = 4 + }, +/obj/structure/closet/secure_closet/sar{ + req_access = list(5); + req_one_access = list(5) + }, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/syringes, +/obj/item/tank/jetpack/oxygen, +/obj/item/storage/backpack/parachute, +/obj/item/clothing/accessory/permit/gun/planetside, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/monotile, +/area/exploration/medical) "aVu" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/bookcase{ name = "bookcase (Non-Fiction)" }, /obj/item/book/custom_library/nonfiction, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, /turf/simulated/floor/wood, /area/library) "aVF" = ( @@ -1297,11 +1352,12 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) "aWP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/effect/floor_decal/spline/fancy/wood{ dir = 10 }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/obj/structure/flora/pottedplant/orientaltree, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "aWX" = ( /obj/effect/floor_decal/chapel{ dir = 4 @@ -1315,6 +1371,9 @@ /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "aXa" = ( @@ -1346,6 +1405,11 @@ }, /turf/simulated/floor/tiled, /area/shuttle/excursion/general) +"aXE" = ( +/obj/effect/floor_decal/rust, +/obj/item/handcuffs/cable/white, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "aXR" = ( /obj/machinery/button/remote/airlock{ id = "gateway"; @@ -1364,8 +1428,7 @@ "aYh" = ( /obj/machinery/shipsensors, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/plating, /area/shuttle/courser/general) @@ -1401,6 +1464,10 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) +"bag" = ( +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "bak" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -1433,6 +1500,10 @@ /obj/structure/target_stake, /turf/simulated/floor/plating, /area/endeavour/exploration/hallway_fore) +"bbQ" = ( +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "bcg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -1483,6 +1554,15 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"bdO" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/obj/structure/table/steel, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "bdP" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -1588,6 +1668,11 @@ /obj/effect/floor_decal/corner/mauve/border, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_fore) +"bha" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "bhz" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -1654,6 +1739,18 @@ "bkR" = ( /turf/simulated/wall/prepainted/exploration, /area/exploration/showers) +"blm" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1portforhall) "blo" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/mauve/bordercorner, @@ -1670,6 +1767,15 @@ "blR" = ( /turf/simulated/wall/prepainted/command, /area/bridge/hallway) +"blV" = ( +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/structure/closet, +/obj/random/maintenance/research, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "bmD" = ( /obj/machinery/air_alarm{ pixel_y = 22 @@ -1677,9 +1783,6 @@ /obj/effect/floor_decal/borderfloor{ dir = 1 }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 - }, /obj/machinery/suit_cycler/medical, /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 9 @@ -1705,15 +1808,8 @@ /turf/simulated/wall/r_wall/prepainted/exploration, /area/shuttle/excursion/cockpit) "bnw" = ( -/obj/machinery/camera/network/civilian{ - dir = 1 - }, -/obj/structure/bed/chair/comfy/brown{ - dir = 1 - }, -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = -37 - }, +/obj/structure/table/woodentable, +/obj/item/flashlight/lamp/green/on, /turf/simulated/floor/carpet/bcarpet, /area/library) "bnJ" = ( @@ -1816,6 +1912,21 @@ /obj/item/book/manual/atmospipes, /turf/simulated/floor/wood, /area/library) +"bty" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navblue/border, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1portforhall) "bul" = ( /obj/structure/closet/crate/bin{ anchored = 1 @@ -1835,6 +1946,11 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) +"bwa" = ( +/obj/structure/table/woodentable, +/obj/item/flame/candle/candelabra/everburn, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "bwl" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -2008,6 +2124,14 @@ /obj/machinery/light, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) +"bCN" = ( +/obj/structure/table/standard, +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "bEg" = ( /obj/structure/table/woodentable, /obj/item/flashlight/lamp/green, @@ -2059,7 +2183,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/captain) "bHg" = ( -/obj/machinery/vending/fitness, +/obj/machinery/gear_painter, /turf/simulated/floor/tiled, /area/maintenance/tool_storage) "bHC" = ( @@ -2111,7 +2235,7 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 }, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) "bIp" = ( /obj/structure/bed/chair/comfy/black{ @@ -2141,7 +2265,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "bIF" = ( /obj/machinery/air_alarm{ dir = 4; @@ -2155,22 +2279,11 @@ }, /area/hallway/secondary/docking_hallway2) "bJN" = ( -/obj/item/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/turf/simulated/floor/wood, +/area/library) "bKU" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2221,12 +2334,13 @@ /turf/simulated/wall/prepainted/exploration, /area/exploration) "bMt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/bookcase{ name = "bookcase (Religious)" }, /obj/item/book/custom_library/religious, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, /turf/simulated/floor/wood, /area/library) "bNm" = ( @@ -2290,6 +2404,12 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/lounge) +"bPE" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "bPG" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -2307,12 +2427,13 @@ /turf/simulated/floor/wood, /area/endeavour/surfacebase/sauna) "bPV" = ( -/obj/machinery/light/small{ +/obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/obj/structure/table/woodentable, +/obj/item/flame/candle/candelabra/everburn, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "bQx" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, @@ -2345,19 +2466,16 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) "bSd" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, /obj/machinery/light/small{ dir = 1 }, /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/carpet/bcarpet, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/wood, /area/library) "bSl" = ( /obj/machinery/recharger/wallcharger{ @@ -2406,6 +2524,14 @@ }, /turf/simulated/floor/tiled/monodark, /area/bridge) +"bUQ" = ( +/obj/structure/closet/firecloset, +/obj/effect/floor_decal/rust, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "bVE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -2513,6 +2639,12 @@ }, /turf/simulated/floor/carpet/purcarpet, /area/exploration/meeting) +"cag" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 1, Port Side" + }, +/turf/space/basic, +/area/space) "caS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/flora/pottedplant/orientaltree, @@ -2535,22 +2667,9 @@ /turf/simulated/floor/carpet/arcadecarpet, /area/endeavour/hallway/d1aftmaint) "cdv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/computer/timeclock/premade/south, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "cdx" = ( @@ -2573,8 +2692,7 @@ }, /obj/machinery/door/firedoor, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1afthall) @@ -2668,6 +2786,15 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) +"chY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "cib" = ( /obj/machinery/door/airlock{ name = "Public Heated Pool" @@ -2724,16 +2851,13 @@ /obj/machinery/air_alarm{ pixel_y = 22 }, +/obj/random/maintenance, /turf/simulated/floor/plating, /area/maintenance/chapel) "ckz" = ( -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-2" - }, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "clz" = ( /obj/machinery/light/small{ dir = 1 @@ -2794,14 +2918,28 @@ /turf/simulated/floor/airless, /area/shuttle/civvie/cockpit) "cnv" = ( -/obj/structure/bed/chair/sofa/black/right{ - dir = 1 +/obj/structure/table/woodentable, +/obj/machinery/light{ + dir = 8 }, -/turf/simulated/floor/carpet/purcarpet, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) +"cnZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plating, +/area/tether/station/burial) "coH" = ( -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 5 +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 9 }, /turf/simulated/floor/tiled/white, /area/endeavour/surfacebase/sauna) @@ -2814,6 +2952,21 @@ }, /turf/simulated/floor/tiled, /area/rnd/test_area) +"coS" = ( +/obj/structure/sign/directions/security, +/obj/structure/sign/directions/medical{ + pixel_y = -6 + }, +/obj/structure/sign/directions/elevator{ + dir = 4; + pixel_y = 6 + }, +/obj/structure/sign/directions/bridge{ + dir = 4; + pixel_y = 12 + }, +/turf/simulated/wall/prepainted, +/area/station/stairs_one) "cpb" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -2827,8 +2980,11 @@ /turf/simulated/floor/tiled, /area/rnd/misc_lab) "cpq" = ( -/obj/structure/bed/chair/sofa/black/left, -/turf/simulated/floor/carpet/purcarpet, +/obj/structure/bed/chair/sofa/black/right, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "cpA" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, @@ -2881,6 +3037,20 @@ }, /turf/simulated/wall/r_wall/prepainted/civilian, /area/shuttle/civvie/general) +"csD" = ( +/obj/machinery/door/window{ + dir = 8; + name = "Mass Driver"; + req_access = list(22) + }, +/obj/machinery/mass_driver{ + id = "chapelgun" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/tether/station/burial) "ctl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2928,11 +3098,11 @@ /turf/simulated/floor/wood, /area/crew_quarters/lounge) "cuR" = ( -/obj/machinery/light{ - dir = 1 +/obj/structure/sign/deck/first{ + pixel_x = -32 }, -/turf/simulated/floor/tiled/dark, -/area/endeavour/hallway/d1portforhall) +/turf/simulated/open, +/area/station/stairs_one) "cvc" = ( /obj/effect/floor_decal/corner/blue{ dir = 8 @@ -2940,11 +3110,11 @@ /turf/simulated/floor/tiled/dark, /area/bridge) "cvv" = ( -/obj/machinery/door/firedoor, /obj/map_helper/access_helper/airlock/station/maintenance, /obj/machinery/door/airlock/maintenance/engi{ req_one_access = null }, +/obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/maintenance/substation/command) "cvx" = ( @@ -2993,7 +3163,6 @@ /obj/effect/floor_decal/corner/black/diagonal, /obj/structure/table/marble, /obj/item/material/knife/butch, -/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/crew_quarters/lounge/kitchen_freezer) "cxt" = ( @@ -3048,6 +3217,13 @@ }, /turf/simulated/floor/tiled, /area/exploration) +"cyC" = ( +/obj/machinery/camera/network/civilian{ + dir = 4 + }, +/obj/structure/bed/padded, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "czv" = ( /obj/machinery/camera/network/exploration{ dir = 1 @@ -3095,6 +3271,25 @@ }, /turf/simulated/floor/wood, /area/bridge/meeting_room) +"cAG" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/warning/evac{ + pixel_x = -32 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1afthall) "cBe" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -3217,11 +3412,13 @@ /obj/machinery/door/firedoor{ dir = 8 }, -/obj/structure/cable/green{ - icon_state = "2-8" - }, /turf/simulated/floor/lino, /area/crew_quarters/coffee_shop) +"cER" = ( +/obj/random/maintenance/clean, +/obj/structure/table/rack/shelf, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "cEY" = ( /obj/machinery/door/airlock{ name = "Restroom" @@ -3299,16 +3496,18 @@ "cIw" = ( /obj/structure/table/wooden_reinforced, /obj/item/folder/blue{ - pixel_x = 8; + pixel_x = 4; pixel_y = 2 }, /obj/item/flashlight/lamp/green{ pixel_x = -4; pixel_y = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/camera/network/command{ + dir = 1 }, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/blueshield) @@ -3375,9 +3574,16 @@ /turf/simulated/floor/carpet/tealcarpet, /area/shuttle/civvie/general) "cLM" = ( -/obj/structure/bed/chair/sofa/black/left, -/turf/simulated/floor/wood, -/area/maintenance/chapel) +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardamidhall) "cLR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -3444,9 +3650,9 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) "cOc" = ( -/obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/obj/structure/bed/chair, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "cOe" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, @@ -3500,9 +3706,6 @@ /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "cPS" = ( -/obj/structure/cable/green{ - icon_state = "1-4" - }, /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ icon_state = "1-2" @@ -3549,23 +3752,14 @@ /turf/simulated/floor/carpet/purcarpet, /area/exploration/meeting) "cRj" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/cable/green{ - icon_state = "2-8" - }, -/obj/structure/cable/green{ - icon_state = "1-8" - }, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "cRT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3594,23 +3788,15 @@ "cSU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "cSZ" = ( -/obj/machinery/power/apc/north_mount, /obj/structure/cable/green{ - icon_state = "0-2" + icon_state = "4-8" }, -/obj/structure/table/standard, -/obj/item/inflatable_duck, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardamidhall) "cTj" = ( /obj/structure/catwalk, /obj/structure/cable/green{ @@ -3618,6 +3804,16 @@ }, /turf/simulated/floor/plating, /area/maintenance/chapel) +"cTq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "cTV" = ( /obj/effect/floor_decal/grass_edge, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -3685,6 +3881,9 @@ dir = 2; icon_state = "pipe-c" }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "cVp" = ( @@ -3696,6 +3895,17 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) +"cVz" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "cVD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3735,7 +3945,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/tiled/steel, +/turf/simulated/floor/carpet/bcarpet, /area/library) "cXD" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ @@ -3819,6 +4029,13 @@ /obj/structure/flora/ausbushes/brflowers, /turf/simulated/floor/grass, /area/endeavour/exploration/hallway_aft) +"cZw" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/library) "cZC" = ( /obj/structure/table/reinforced, /turf/simulated/floor/carpet/purcarpet, @@ -3850,7 +4067,7 @@ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 + dir = 4 }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) @@ -3919,6 +4136,12 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/lounge) +"dgz" = ( +/obj/structure/sign/deck/first{ + pixel_x = 32 + }, +/turf/simulated/open, +/area/station/stairs_one) "dgF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -4016,6 +4239,10 @@ }, /turf/simulated/wall/prepainted, /area/endeavour/hallway/d1fwdmaint) +"dkl" = ( +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "dkm" = ( /obj/structure/table/rack/shelf/steel, /obj/item/stack/flag/red, @@ -4063,11 +4290,15 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hop) "dmy" = ( -/obj/machinery/camera/network/civilian{ - dir = 4 +/obj/structure/table/woodentable, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 8 }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/obj/item/flame/candle/candelabra/everburn{ + pixel_y = 8 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "dmO" = ( /obj/structure/flora/ausbushes/brflowers, /obj/effect/floor_decal/grass_edge, @@ -4090,12 +4321,12 @@ /turf/simulated/floor/wood, /area/hydroponics/garden) "dnA" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/fire_alarm/east_mount, -/turf/simulated/floor/tiled/steel, -/area/station/stairs_one) +/obj/structure/sign/deck/first, +/turf/simulated/wall/prepainted, +/area/endeavour/hallway/d1fwdhall) +"dor" = ( +/turf/simulated/wall/prepainted/civilian, +/area/maintenance/substation/exploration) "dos" = ( /obj/machinery/chem_master/condimaster, /obj/effect/floor_decal/corner/black{ @@ -4329,6 +4560,7 @@ /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "dyH" = ( @@ -4365,6 +4597,10 @@ /turf/simulated/floor/tiled, /area/exploration/pilot_prep) "dAK" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/sign/warning/evac{ + pixel_x = -32 + }, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -4377,7 +4613,6 @@ /obj/effect/floor_decal/corner/navblue/bordercorner2{ dir = 10 }, -/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "dAR" = ( @@ -4421,8 +4656,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -4503,6 +4737,18 @@ /obj/effect/floor_decal/industrial/halfstair, /turf/simulated/floor/tiled/dark, /area/gateway) +"dFa" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "dFj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -4510,6 +4756,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "dFF" = ( @@ -4542,9 +4791,6 @@ /area/shuttle/courser/general) "dGT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) @@ -4566,13 +4812,13 @@ /turf/simulated/floor/wood, /area/vacant/vacant_bar) "dIc" = ( -/obj/machinery/disposal, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/tram) +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/endeavour/hallway/d1afthall) "dIm" = ( /obj/structure/loot_pile/maint/trash, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/maintenance/asmaint) "dIw" = ( /turf/simulated/floor/water/deep/pool, /area/crew_quarters/pool) @@ -4630,7 +4876,7 @@ dir = 5 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "dJV" = ( /obj/effect/floor_decal/corner/yellow{ dir = 5 @@ -4641,6 +4887,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/chapel/main) "dKn" = ( @@ -4651,6 +4898,10 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 8 }, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 1; + name = "Exploration Public Lobby" + }, /turf/simulated/floor/tiled, /area/exploration) "dKp" = ( @@ -4700,8 +4951,9 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "dMB" = ( /obj/structure/toilet{ dir = 4 @@ -4718,6 +4970,19 @@ /obj/effect/floor_decal/corner/navgold/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) +"dNy" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/chapel/main) +"dNA" = ( +/obj/structure/table/rack, +/obj/item/tool/wrench, +/obj/item/tank/air, +/obj/item/tank/air, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "dNZ" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, @@ -4759,8 +5024,9 @@ /obj/item/reagent_containers/food/condiment/small/saltshaker{ pixel_x = -9 }, -/obj/machinery/camera/network/civilian{ - dir = 8 +/obj/machinery/light_switch{ + pixel_y = 5; + pixel_x = 25 }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) @@ -4777,6 +5043,15 @@ /obj/structure/ship_munition/disperser_charge/emp, /turf/simulated/floor/tiled/dark, /area/exploration/courser_dock) +"dOJ" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "dOW" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -4803,7 +5078,9 @@ /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) "dQJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "dRe" = ( @@ -4834,14 +5111,20 @@ /turf/simulated/floor/tiled, /area/gateway/prep_room) "dSe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/camera/network/command{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/corner/beige/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 10 + }, +/obj/effect/floor_decal/corner/beige/bordercorner2{ + dir = 10 }, /turf/simulated/floor/tiled/dark, /area/bridge/hallway) @@ -4949,6 +5232,10 @@ }, /turf/simulated/floor/tiled/monotile, /area/exploration/explorer_prep) +"dUQ" = ( +/obj/effect/debris/cleanable/cobweb2, +/turf/simulated/floor/wood, +/area/endeavour/hallway/d1aftmaint) "dVP" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -4978,6 +5265,9 @@ /obj/machinery/holoposter{ pixel_y = 32 }, +/obj/machinery/fire_alarm/west_mount{ + pixel_x = -28 + }, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/blueshield) "dXL" = ( @@ -4999,10 +5289,6 @@ /obj/effect/floor_decal/corner/mauve/border, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) -"dYN" = ( -/obj/structure/sign/deck/first, -/turf/simulated/wall/r_wall/prepainted/civilian, -/area/station/stairs_one) "dYO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -5196,6 +5482,28 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/surfacebase/tram) +"eex" = ( +/obj/structure/sign/directions/engineering{ + pixel_y = -6; + dir = 1 + }, +/obj/structure/sign/directions/cargo{ + dir = 1 + }, +/obj/structure/sign/directions/science{ + pixel_y = 6; + dir = 1 + }, +/obj/structure/sign/directions/cryo{ + pixel_y = 13; + dir = 1 + }, +/obj/structure/sign/directions/evac{ + dir = 8; + pixel_y = -12 + }, +/turf/simulated/wall/prepainted, +/area/station/stairs_one) "eez" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -5236,12 +5544,10 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/secondary/docking_hallway) "ehl" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - icon_state = "2-8" - }, -/turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "ehq" = ( /turf/simulated/floor/plating, /area/maintenance/station/exploration) @@ -5269,12 +5575,6 @@ /obj/effect/floor_decal/corner/beige/border{ dir = 8 }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 10 - }, -/obj/effect/floor_decal/corner/beige/bordercorner2{ - dir = 10 - }, /turf/simulated/floor/tiled/dark, /area/bridge/hallway) "ejb" = ( @@ -5296,6 +5596,9 @@ /obj/structure/bed/chair{ dir = 1 }, +/obj/machinery/fire_alarm/south_mount{ + pixel_y = -24 + }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/surfacebase/tram) "ejN" = ( @@ -5463,6 +5766,15 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, /area/bridge/hallway) +"eqh" = ( +/obj/structure/table/rack, +/obj/random/toy, +/obj/random/maintenance/medical, +/obj/random/medical/lite, +/obj/random/maintenance/clean, +/obj/random/maintenance/medical, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "erf" = ( /obj/machinery/door/firedoor/glass{ dir = 8 @@ -5473,7 +5785,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/tiled/steel, +/turf/simulated/floor/carpet/bcarpet, /area/library) "ert" = ( /turf/simulated/wall/r_wall/prepainted/civilian, @@ -5498,6 +5810,14 @@ }, /turf/simulated/floor/tiled, /area/chapel/main) +"erZ" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor/glass{ + dir = 8 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/library) "esl" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5515,12 +5835,13 @@ /turf/simulated/floor/tiled/old_tile/green, /area/shuttle/civvie/general) "esr" = ( -/obj/item/radio/intercom{ - pixel_y = -24 +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor/glass{ + dir = 8 }, -/obj/effect/mist, -/turf/simulated/floor/water/deep/pool, -/area/endeavour/surfacebase/sauna) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/library) "est" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -5533,8 +5854,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -5658,8 +5978,9 @@ /turf/simulated/floor/tiled, /area/exploration/pathfinder_office) "exi" = ( -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/obj/structure/bed/chair, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "eyc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -5685,10 +6006,10 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 }, -/obj/machinery/light/small{ - dir = 8 +/obj/structure/bed/chair/sofa/black/right{ + dir = 1 }, -/turf/simulated/floor/carpet/purcarpet, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "eyp" = ( /obj/structure/cable/green{ @@ -5743,6 +6064,7 @@ icon_state = "4-8" }, /obj/spawner/window/reinforced/full, +/obj/effect/paint/palebottlegreen, /turf/simulated/floor/plating, /area/maintenance/substation/exploration) "eAX" = ( @@ -5830,6 +6152,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/chapel/main) "eDR" = ( @@ -5962,6 +6285,12 @@ /obj/machinery/portable_atmospherics/hydroponics/soil, /turf/simulated/floor/grass, /area/hydroponics/garden) +"eIq" = ( +/obj/structure/table, +/obj/random/action_figure, +/obj/random/cigarettes, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "eIv" = ( /obj/machinery/gateway{ dir = 1 @@ -5975,11 +6304,14 @@ /turf/simulated/wall/r_wall/prepainted/civilian, /area/shuttle/civvie/general) "eJs" = ( -/obj/machinery/status_display{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/chapel/main) +/area/tether/station/burial) "eJW" = ( /obj/machinery/bomb_tester, /obj/machinery/light, @@ -6018,9 +6350,17 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) "eMO" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/dark, -/area/endeavour/hallway/d1starboardafthall) +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1portforhall) "eNt" = ( /obj/machinery/holopad, /turf/simulated/floor/carpet/bcarpet, @@ -6031,8 +6371,11 @@ /area/endeavour/hallway/d1fwdmaint) "eNz" = ( /obj/effect/floor_decal/techfloor, -/obj/effect/floor_decal/corner/red/border, -/obj/landmark/spawnpoint/overflow/station, +/obj/landmark/spawnpoint/latejoin/station/arrivals_shuttle, +/obj/machinery/computer/cryopod{ + name = "asset retention console"; + pixel_x = -32 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/hallway/d1afthall) "eNB" = ( @@ -6061,8 +6404,8 @@ /turf/simulated/floor/tiled/dark, /area/bridge) "eNY" = ( -/turf/simulated/floor/wood, -/area/maintenance/chapel) +/turf/simulated/wall/prepainted/civilian, +/area/tether/station/burial) "eNZ" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -6179,7 +6522,7 @@ "eRi" = ( /obj/random/cutout, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/endeavour/hallway/d1fwdmaint) "eRC" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -6204,6 +6547,10 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) +"eSM" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "eSO" = ( /obj/machinery/computer/secure_data{ dir = 4 @@ -6224,15 +6571,16 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/holoposter{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ +/obj/machinery/door/firedoor{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 }, +/obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "eTc" = ( @@ -6264,6 +6612,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/chapel/main) "eTR" = ( @@ -6272,11 +6621,15 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) "eUo" = ( -/obj/structure/fireplace{ - pixel_y = 23 +/obj/structure/table/woodentable, +/obj/effect/floor_decal/spline/fancy/wood, +/obj/structure/sign/goldenplaque{ + desc = "This plaque is thankfully empty, but is dedicated to those that were killed in the line of duty protecting the NSV Endeavour, and Nanotrasen as a whole."; + name = "Memorial Plaque"; + pixel_y = 32 }, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "eUz" = ( /obj/structure/catwalk, /obj/structure/cable/orange{ @@ -6392,7 +6745,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "eWE" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/fuel_port{ @@ -6482,6 +6835,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/maintenance/station/exploration) +"faq" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/simulated/floor/wood, +/area/library) "fbe" = ( /obj/structure/catwalk, /obj/machinery/light{ @@ -6567,7 +6927,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/carpet/sblucarpet, +/turf/simulated/floor/carpet/bcarpet, /area/chapel/main) "fcG" = ( /obj/effect/floor_decal/borderfloorblack, @@ -6585,10 +6945,16 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "fdP" = ( -/obj/effect/floor_decal/rust, -/obj/machinery/portable_atmospherics/powered/scrubber, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "fef" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 8 @@ -6614,18 +6980,18 @@ /turf/simulated/floor/tiled, /area/exploration/showers) "feB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, /obj/structure/bed/chair/comfy/brown{ dir = 4 }, /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/wood, /area/library) "ffi" = ( @@ -6657,11 +7023,11 @@ /turf/simulated/floor/plating, /area/exploration/pathfinder_office) "fge" = ( -/obj/structure/bed/chair/sofa/black/right{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/turf/simulated/floor/wood, -/area/maintenance/chapel) +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "fgr" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/structure/bed/chair/bay/comfy/black{ @@ -6726,6 +7092,13 @@ dir = 10 }, /obj/structure/closet/secure_closet/freezer/kitchen, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/milk, +/obj/item/reagent_containers/food/drinks/bottle/coconutmilk, +/obj/item/reagent_containers/food/drinks/bottle/coconutmilk, /turf/simulated/floor/tiled/white, /area/crew_quarters/lounge/kitchen_freezer) "fjs" = ( @@ -6757,8 +7130,8 @@ /obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks{ id = "chapel" }, -/obj/structure/curtain/black, /obj/effect/paint/palebottlegreen, +/obj/structure/curtain/black, /turf/simulated/floor/plating, /area/chapel/main) "fkF" = ( @@ -6795,7 +7168,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "flf" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -6836,24 +7209,21 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/light, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) "flK" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/lino, /area/crew_quarters/coffee_shop) "fmb" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/tiled/dark, +/area/chapel/main) "fmh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -7064,16 +7434,25 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "fsN" = ( -/obj/machinery/vending/coffee, /obj/machinery/light/small, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) "fsR" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "fsX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -7164,6 +7543,13 @@ }, /turf/simulated/open, /area/maintenance/substation/dock) +"fuj" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "fuz" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -7297,8 +7683,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -7387,37 +7772,36 @@ /turf/simulated/floor/tiled, /area/shuttle/excursion/general) "fDI" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Pool Room"; + dir = 8 + }, +/obj/machinery/door/firedoor/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/bed/chair/comfy/brown{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/library) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "fDJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, /area/library) "fDY" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/effect/floor_decal/corner/mauve/border{ - dir = 4 +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 }, -/obj/structure/railing{ - dir = 8 +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 }, -/turf/simulated/floor/tiled, -/area/endeavour/exploration/hallway_fore) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardafthall) "fEx" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -7564,6 +7948,18 @@ }, /turf/simulated/floor/tiled, /area/exploration/explorer_prep) +"fKd" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/bridge/hallway) "fKP" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ dir = 4 @@ -7571,22 +7967,18 @@ /turf/simulated/floor/reinforced/airless, /area/rnd/test_area) "fLt" = ( -/obj/structure/bed/chair/sofa/black/corner{ - dir = 4 - }, -/obj/machinery/camera/network/civilian{ +/obj/effect/floor_decal/spline/fancy/wood{ dir = 4 }, -/turf/simulated/floor/carpet/purcarpet, +/obj/structure/bed/chair/sofa/black/left, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "fLD" = ( -/obj/structure/closet/crate, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, +/obj/machinery/light/small{ + dir = 8 + }, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/maintenance/library) "fLR" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -7707,12 +8099,13 @@ /turf/simulated/floor/tiled, /area/shuttle/excursion/cockpit) "fND" = ( -/obj/structure/memorial{ - name = "NSV Endeavour's Builder's Plate"; - desc = "The Armstrong-Hawker Shipbuilding company would like to thank the following for the contributions to the design: Dáire van der Waals, M.D., Ph.D.; Ruminis Melro, B.S.E; Hammond McGuire Sr., M.S.E.. Their work was essential in the design and manufacture of this vessel, and those of her class in the years to follow." +/obj/machinery/door/firedoor{ + dir = 8 }, -/turf/simulated/wall/prepainted/civilian, -/area/station/stairs_one) +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "fNJ" = ( /obj/machinery/light, /turf/simulated/floor/tiled/dark, @@ -7724,19 +8117,12 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "fOe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, /obj/structure/bed/chair/comfy/brown{ dir = 1 }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, /turf/simulated/floor/wood, /area/library) "fOo" = ( @@ -7788,6 +8174,13 @@ /obj/effect/floor_decal/industrial/warning/full, /turf/simulated/floor/tiled, /area/shuttle/excursion/general) +"fQg" = ( +/obj/structure/memorial{ + name = "NSV Endeavour's Builder's Plate"; + desc = "The Armstrong-Hawker Shipbuilding company would like to thank the following for the contributions to the design: Dáire van der Waals, M.D., Ph.D.; Ruminis Melro, B.S.E; Jonathan A. Russel, Ph.D.; Hammond McGuire Sr., M.S.E.. Their work was essential in the design and manufacture of this vessel, and those of her class in the years to follow." + }, +/turf/simulated/wall/prepainted, +/area/endeavour/hallway/d1fwdhall) "fRf" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -7822,6 +8215,9 @@ /obj/machinery/door/firedoor/glass{ dir = 8 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) "fRL" = ( @@ -7892,8 +8288,7 @@ dir = 10 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hop) @@ -7996,6 +8391,9 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/carpet/bcarpet, /area/library) "fZu" = ( @@ -8007,6 +8405,11 @@ "fZy" = ( /turf/simulated/wall/prepainted/civilian, /area/crew_quarters/lounge/kitchen_freezer) +"fZE" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/babyblue, +/turf/simulated/floor/plating, +/area/hallway/secondary/docking_hallway2) "fZY" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -8092,7 +8495,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/asmaint) +/area/maintenance/library) "gcb" = ( /obj/machinery/recharger/wallcharger{ pixel_x = -22 @@ -8112,6 +8515,15 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) +"gco" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "gdd" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -8177,6 +8589,13 @@ }, /turf/simulated/floor/tiled, /area/exploration/explorer_prep) +"ggi" = ( +/obj/structure/table/woodentable, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "ggp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8268,7 +8687,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "gja" = ( /obj/structure/table/reinforced, /obj/item/stamp/denied, @@ -8471,15 +8890,15 @@ /turf/simulated/floor/grass, /area/hydroponics/garden) "goT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /obj/structure/flora/pottedplant/minitree, /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, /obj/machinery/light, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "gpc" = ( @@ -8503,10 +8922,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "gpv" = ( -/obj/structure/bed/chair/sofa/black/corner{ - dir = 4 +/obj/structure/bed/chair/comfy/black{ + dir = 8 }, -/turf/simulated/floor/carpet/purcarpet, +/turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "gpx" = ( /obj/effect/floor_decal/borderfloorblack/corner{ @@ -8624,7 +9043,7 @@ "gvJ" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/asmaint) +/area/maintenance/library) "gvL" = ( /obj/structure/railing{ dir = 8 @@ -8718,8 +9137,6 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "gBF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/steeldecal/steel_decals2{ dir = 8 }, @@ -8727,8 +9144,18 @@ dir = 8; icon_state = "pipe-c" }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "gBG" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/violet, @@ -8738,11 +9165,10 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/holopad, /obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "gCI" = ( @@ -8761,6 +9187,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/exploration) "gDf" = ( @@ -8828,6 +9255,12 @@ }, /turf/simulated/floor/lino, /area/chapel/office) +"gEy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/tether/station/burial) "gED" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor/glass{ @@ -8845,11 +9278,12 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway2) "gEQ" = ( +/obj/structure/catwalk, /obj/structure/cable/green{ - icon_state = "1-4" + icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/library) "gGl" = ( /obj/machinery/power/terminal{ dir = 8 @@ -8863,6 +9297,12 @@ /obj/structure/railing, /turf/simulated/floor/plating, /area/shuttle/courser/general) +"gGN" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/rust, +/obj/item/toy/crossbow, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "gGO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -8896,6 +9336,25 @@ }, /turf/simulated/floor/tiled/dark, /area/station/stairs_one) +"gHB" = ( +/obj/structure/sign/directions/bridge{ + dir = 4; + pixel_y = 7 + }, +/obj/structure/sign/directions/elevator{ + dir = 4 + }, +/turf/simulated/wall/prepainted/civilian, +/area/maintenance/library) +"gIz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "gIT" = ( /obj/structure/window/reinforced, /turf/simulated/open, @@ -9033,9 +9492,6 @@ /turf/simulated/floor/reinforced/airless, /area/rnd/test_area) "gNs" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -9048,12 +9504,16 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "gNY" = ( /obj/machinery/sleeper{ dir = 8 }, +/obj/effect/floor_decal/industrial/outline, /turf/simulated/floor/tiled/white, /area/exploration/medical) "gOL" = ( @@ -9076,12 +9536,8 @@ /turf/simulated/floor/tiled, /area/exploration/explorer_prep) "gOX" = ( -/obj/machinery/door/airlock/maintenance/common, -/obj/machinery/door/firedoor{ - dir = 1 - }, -/turf/simulated/floor/plating, -/area/hallway/secondary/docking_hallway) +/turf/simulated/wall/prepainted, +/area/maintenance/asmaint) "gPm" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/corner/black/full, @@ -9237,19 +9693,17 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "gWh" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/structure/bed/chair, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 }, -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/navgold/border, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) +"gWl" = ( +/obj/effect/floor_decal/techfloor, +/obj/landmark/spawnpoint/overflow/station, +/turf/simulated/floor/tiled/techfloor/grid, +/area/endeavour/hallway/d1afthall) "gWI" = ( /obj/machinery/atmospherics/component/unary/heater{ dir = 1 @@ -9291,14 +9745,12 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "gZb" = ( -/obj/structure/curtain/open/privacy, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = -24; - pixel_y = 6 +/obj/machinery/door/firedoor{ + dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "gZf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/vending/hydronutrients, @@ -9445,7 +9897,7 @@ dir = 8; id = "cap_office"; layer = 3.1; - name = "Colony Directo's Shutters" + name = "Colony Director's Shutters" }, /obj/machinery/door/blast/regular{ density = 0; @@ -9510,12 +9962,8 @@ /turf/simulated/floor/plating, /area/maintenance/substation/exploration) "hfR" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/library) "hfY" = ( /turf/simulated/floor/airless/ceiling, /area/space) @@ -9593,8 +10041,12 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "hik" = ( -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/substation/dock) "hja" = ( /obj/structure/closet/secure_closet/explorer, /obj/effect/floor_decal/industrial/outline/yellow, @@ -9628,7 +10080,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "hjz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, @@ -9719,11 +10171,6 @@ /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) "hpw" = ( -/obj/machinery/air_alarm{ - frequency = 1441; - pixel_y = 22; - target_temperature = 275.15 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, @@ -9792,15 +10239,13 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hop) "hrr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/structure/cable/green{ - icon_state = "2-4" +/obj/machinery/light/small{ + dir = 4 }, -/obj/machinery/atmospherics/component/unary/vent_pump/on, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/obj/structure/table/rack, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "hrs" = ( /obj/machinery/shower{ pixel_y = 8 @@ -9820,12 +10265,13 @@ /turf/simulated/floor/carpet/tealcarpet, /area/shuttle/civvie/general) "hrC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 +/obj/structure/closet/firecloset/full, +/obj/effect/floor_decal/spline/plain{ + dir = 1 }, -/obj/machinery/light, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/obj/effect/floor_decal/industrial/outline/red, +/turf/simulated/floor/holofloor/tiled/dark, +/area/endeavour/hallway/d1starboardhall) "hrH" = ( /obj/structure/bed/chair/sofa/right{ dir = 4 @@ -9870,7 +10316,8 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/simulated/floor/carpet/bcarpet, +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/wood, /area/library) "hub" = ( /turf/simulated/wall/r_wall/prepainted/science, @@ -9938,7 +10385,6 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) "hxi" = ( -/obj/effect/floor_decal/corner/red/border, /obj/landmark/spawnpoint/overflow/station, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/hallway/d1afthall) @@ -9949,6 +10395,12 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/dock) +"hyg" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "hyL" = ( /obj/structure/closet/crate, /obj/fiftyspawner/steel, @@ -9957,6 +10409,20 @@ /obj/fiftyspawner/glass, /turf/simulated/floor/plating, /area/vacant/vacant_bar) +"hyQ" = ( +/obj/structure/sign/directions/elevator{ + dir = 4 + }, +/obj/structure/sign/directions/evac{ + dir = 8; + pixel_y = -7 + }, +/obj/structure/sign/directions/bridge{ + dir = 4; + pixel_y = 7 + }, +/turf/simulated/wall/prepainted, +/area/endeavour/hallway/d1fwdmaint) "hzU" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -10116,6 +10582,13 @@ /obj/structure/undies_wardrobe, /turf/simulated/floor/carpet/gaycarpet, /area/crew_quarters/clownoffice) +"hIQ" = ( +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "hIR" = ( /turf/simulated/floor/tiled/monodark, /area/bridge) @@ -10197,7 +10670,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/asmaint) +/area/maintenance/library) "hMQ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -10267,6 +10740,9 @@ dir = 4; pixel_y = 7 }, +/obj/structure/sign/directions/elevator{ + dir = 4 + }, /turf/simulated/wall/prepainted/civilian, /area/crew_quarters/coffee_shop) "hOW" = ( @@ -10284,8 +10760,12 @@ /turf/simulated/floor, /area/shuttle/civvie/general) "hPn" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, /turf/simulated/floor/wood, /area/library) "hPu" = ( @@ -10295,6 +10775,10 @@ /obj/machinery/atmospherics/component/unary/vent_pump/on, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) +"hPx" = ( +/obj/structure/loot_pile/maint/boxfort, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "hPQ" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -10692,6 +11176,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "ibx" = ( @@ -10702,20 +11187,20 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d1aftmaint) "ibD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "4-8" + dir = 1 }, -/obj/machinery/door/airlock/glass/civilian{ - name = "Pool Access" +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) +"ibS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Chapel" }, -/turf/simulated/floor/tiled/white, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/tiled/dark, +/area/chapel/main) "ibU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -10763,6 +11248,20 @@ /obj/machinery/vending/cigarette, /turf/simulated/floor/wood, /area/exploration/meeting) +"idq" = ( +/obj/structure/sign/directions/elevator{ + dir = 4 + }, +/obj/structure/sign/directions/evac{ + dir = 8; + pixel_y = -7 + }, +/obj/structure/sign/directions/bridge{ + dir = 4; + pixel_y = 7 + }, +/turf/simulated/wall/prepainted, +/area/endeavour/hallway/d1aftmaint) "idu" = ( /obj/machinery/appliance/cooker/grill/stand, /turf/simulated/floor/grass, @@ -10844,6 +11343,14 @@ /obj/structure/table/marble, /turf/simulated/floor/lino, /area/crew_quarters/coffee_shop) +"igb" = ( +/obj/structure/closet, +/obj/random/maintenance, +/obj/random/maintenance, +/obj/random/maintenance, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "igX" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -11108,27 +11615,14 @@ }, /turf/simulated/floor/carpet/purcarpet, /area/exploration/meeting) -"iqq" = ( -/obj/machinery/door/airlock/maintenance/common{ - id_tag = "maint_dorm" - }, -/obj/machinery/door/firedoor, -/obj/structure/catwalk, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/endeavour/hallway/d1fwdmaint) "iqr" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 1 - }, -/obj/machinery/holoposter{ - pixel_y = 32 +/obj/structure/table/standard, +/obj/item/inflatable_duck, +/obj/machinery/light{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "iqI" = ( /obj/effect/floor_decal/corner/blue{ dir = 1 @@ -11136,11 +11630,15 @@ /turf/simulated/floor/tiled/dark, /area/bridge) "irX" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8 + }, /obj/structure/cable/green{ - icon_state = "2-8" + icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "isf" = ( /obj/effect/floor_decal/chapel{ dir = 8 @@ -11219,20 +11717,9 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "ivm" = ( -/obj/structure/table/glass, -/obj/item/inflatable_duck, -/obj/effect/floor_decal/spline/plain{ - dir = 8 - }, -/obj/machinery/air_alarm{ - dir = 4; - pixel_x = -22 - }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/library) "ivC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, @@ -11282,27 +11769,14 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway) "iwR" = ( -/obj/machinery/light{ - dir = 8 - }, /obj/effect/floor_decal/borderfloor{ - dir = 8 + dir = 10 }, /obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/structure/window/reinforced, -/obj/structure/closet/secure_closet/sar{ - req_access = list(5); - req_one_access = list(5) + dir = 10 }, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/syringes, -/obj/item/tank/jetpack/oxygen, -/obj/item/storage/backpack/parachute, -/obj/item/clothing/accessory/permit/gun/planetside, -/turf/simulated/floor/tiled/monotile, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/tiled/white, /area/exploration/medical) "ixp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11462,8 +11936,8 @@ /turf/simulated/floor/tiled/steel, /area/hallway/secondary/docking_hallway) "iBH" = ( -/turf/simulated/wall/prepainted/command, -/area/station/stairs_one) +/turf/simulated/floor/wood, +/area/endeavour/hallway/d1aftmaint) "iBS" = ( /obj/machinery/atmospherics/component/unary/engine{ dir = 4 @@ -11516,22 +11990,21 @@ /turf/simulated/wall/r_wall/prepainted/medical, /area/hallway/secondary/docking_hallway2) "iES" = ( -/obj/structure/bed/chair/comfy/black, /obj/machinery/light{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "iEX" = ( -/obj/machinery/door/firedoor{ - dir = 1 - }, -/obj/machinery/door/airlock/maintenance/common, /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/plating, -/area/library) +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "iFe" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 8 @@ -11541,8 +12014,11 @@ /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) "iFj" = ( -/turf/simulated/wall/r_wall/prepainted/engineering, -/area/hallway/secondary/docking_hallway) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "iFq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -11599,6 +12075,11 @@ }, /turf/simulated/floor/tiled/dark, /area/bridge) +"iIY" = ( +/obj/structure/railing, +/obj/structure/icecream_cart, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "iJn" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -11609,7 +12090,10 @@ /obj/machinery/camera/network/exploration{ dir = 4 }, -/turf/simulated/floor/tiled, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/open, /area/endeavour/exploration/hallway_fore) "iKk" = ( /obj/structure/cable{ @@ -11621,10 +12105,17 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "iKm" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/obj/structure/table/woodentable, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 }, -/turf/simulated/floor/carpet/bcarpet, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/wood, /area/library) "iKu" = ( /obj/effect/floor_decal/industrial/outline/yellow, @@ -11636,6 +12127,7 @@ name = "bookcase (Fiction)" }, /obj/item/book/manual/the_humanized_mice, +/obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/library) "iLv" = ( @@ -11791,14 +12283,15 @@ /turf/simulated/floor/plating, /area/chapel/office) "iRR" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/obj/machinery/power/apc/north_mount, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /obj/structure/cable/green{ - icon_state = "1-8" + icon_state = "0-4" }, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "iSA" = ( /turf/simulated/floor/carpet/arcadecarpet, /area/endeavour/hallway/d1aftmaint) @@ -11844,7 +12337,7 @@ "iUW" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central6, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "iVd" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -11972,6 +12465,11 @@ }, /turf/simulated/floor/carpet/gaycarpet, /area/crew_quarters/clownoffice) +"iYH" = ( +/obj/random/maintenance, +/obj/structure/table/rack/shelf, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "iZf" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -12000,9 +12498,6 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "iZR" = ( @@ -12012,15 +12507,7 @@ /turf/simulated/floor/tiled, /area/exploration/pilot_prep) "jag" = ( -/obj/structure/table/rack/shelf, -/obj/item/tank/oxygen, -/obj/item/suit_cooling_unit, -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, +/obj/landmark/spawnpoint/job/field_medic, /turf/simulated/floor/tiled/white, /area/exploration/medical) "jbd" = ( @@ -12181,6 +12668,27 @@ }, /turf/simulated/floor/plating, /area/shuttle/courser/cockpit) +"jjy" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/beige/border{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/dark, +/area/bridge/hallway) "jkq" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -12197,8 +12705,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) @@ -12233,9 +12741,12 @@ /turf/simulated/floor/tiled, /area/shuttle/excursion/general) "jkS" = ( -/obj/structure/bed/chair/sofa/black, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/wood, -/area/maintenance/chapel) +/area/library) "jlr" = ( /obj/structure/flora/pottedplant/minitree, /turf/simulated/floor/wood, @@ -12310,6 +12821,12 @@ /obj/machinery/holopad, /turf/simulated/floor/tiled, /area/exploration) +"jmI" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "jmM" = ( /obj/effect/floor_decal/techfloor/orange{ dir = 1 @@ -12396,11 +12913,14 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) "jpl" = ( -/obj/machinery/door/airlock/maintenance/common, -/obj/item/barrier_tape_segment/engineering, -/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/catwalk, +/obj/machinery/air_alarm/east_mount, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/endeavour/hallway/d1fwdmaint) "jpO" = ( /obj/structure/fireaxecabinet, /turf/simulated/wall/r_wall/prepainted/command, @@ -12421,6 +12941,11 @@ /obj/effect/floor_decal/grass_edge, /turf/simulated/floor/grass, /area/hydroponics/garden) +"jrC" = ( +/obj/effect/floor_decal/rust, +/obj/structure/bed, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "jrK" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -12512,9 +13037,10 @@ /turf/simulated/floor/tiled, /area/exploration/explorer_prep) "jsH" = ( -/obj/item/radio/intercom/north_mount, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/obj/machinery/portable_atmospherics/powered/pump/filled, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/library) "jtj" = ( /obj/machinery/door/airlock/multi_tile/glass{ dir = 1; @@ -12537,6 +13063,11 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/exploration/meeting) +"jtp" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "jty" = ( /obj/structure/dispenser{ phorontanks = 0 @@ -12671,9 +13202,9 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 1 }, -/obj/structure/table/standard, -/obj/item/duct_tape_roll, -/obj/item/hand_labeler, +/obj/structure/table/rack/shelf, +/obj/item/tank/oxygen, +/obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/white, /area/exploration/medical) "jxc" = ( @@ -12694,6 +13225,13 @@ }, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hop) +"jxO" = ( +/obj/structure/bed/chair/comfy/brown, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/library) "jyC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -12743,12 +13281,18 @@ /obj/structure/displaycase, /turf/simulated/floor/wood, /area/crew_quarters/captain) +"jAh" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "jAq" = ( /obj/machinery/power/apc/north_mount, /obj/structure/cable/green{ icon_state = "0-8" }, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) "jAG" = ( /obj/structure/cable/green{ @@ -12783,16 +13327,33 @@ /turf/simulated/floor/wood, /area/library) "jCV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) +"jDd" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/commandblue, +/turf/simulated/floor/plating, +/area/crew_quarters/heads/blueshield) "jDn" = ( -/obj/machinery/light/small{ +/obj/machinery/camera/network/civilian{ + dir = 1 + }, +/obj/structure/bed/chair/sofa/brown/left{ dir = 1 }, /turf/simulated/floor/carpet/bcarpet, /area/library) +"jDK" = ( +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/hallway/secondary/docking_hallway) "jEi" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ @@ -12815,7 +13376,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/endeavour/hallway/d1fwdmaint) "jEM" = ( /obj/structure/cable{ icon_state = "1-8" @@ -12831,6 +13392,10 @@ /obj/machinery/vending/phoronresearch, /turf/simulated/floor/tiled, /area/rnd/test_area) +"jFd" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "jFy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -12903,22 +13468,25 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) "jGC" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 +/obj/effect/floor_decal/corner/navgold/border{ + dir = 4 }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner2{ + dir = 6 }, -/obj/effect/floor_decal/borderfloorblack/corner, -/obj/effect/floor_decal/corner/navgold/bordercorner, /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway) "jGM" = ( /obj/machinery/light_switch{ - pixel_x = 25 + pixel_x = 27 }, /turf/simulated/floor/carpet/bcarpet, /area/chapel/main) @@ -12976,7 +13544,7 @@ dir = 9 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "jJL" = ( /obj/machinery/power/apc/west_mount{ cell_type = /obj/item/cell/super @@ -13003,6 +13571,7 @@ /area/maintenance/tool_storage) "jKd" = ( /obj/structure/table/woodentable, +/obj/item/instrument/harmonica, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "jKs" = ( @@ -13074,12 +13643,17 @@ /turf/space, /area/space) "jNp" = ( -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 +/obj/machinery/light_switch{ + pixel_y = 32 }, -/obj/machinery/light/small, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "jNC" = ( /obj/machinery/computer/ship/navigation/telescreen{ pixel_x = 32 @@ -13087,12 +13661,9 @@ /turf/simulated/floor/plating, /area/vacant/vacant_bar) "jNH" = ( -/obj/machinery/light_switch{ - pixel_x = -25; - pixel_y = -25 - }, -/turf/simulated/wall/prepainted/civilian, -/area/crew_quarters/lounge/kitchen_freezer) +/obj/structure/flora/pottedplant/minitree, +/turf/simulated/floor/wood, +/area/crew_quarters/coffee_shop) "jOl" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, @@ -13137,8 +13708,7 @@ /area/hallway/secondary/docking_hallway2) "jPj" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) @@ -13181,6 +13751,15 @@ /obj/structure/table/bench/wooden, /turf/simulated/floor/tiled/dark, /area/chapel/main) +"jQp" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Library" + }, +/turf/simulated/floor/carpet/bcarpet, +/area/library) "jQF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -13246,10 +13825,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "jTs" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/carpet/bcarpet, +/obj/structure/bookcase{ + name = "bookcase (Fiction)" + }, +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/wood, /area/library) "jTI" = ( /obj/machinery/atmospherics/portables_connector{ @@ -13273,7 +13853,9 @@ dir = 5 }, /obj/machinery/fire_alarm/north_mount, -/obj/machinery/suit_storage_unit/search_and_rescue, +/obj/structure/table/standard, +/obj/item/duct_tape_roll, +/obj/item/hand_labeler, /turf/simulated/floor/tiled/white, /area/exploration/medical) "jTR" = ( @@ -13312,10 +13894,9 @@ /obj/machinery/light{ dir = 1 }, -/obj/machinery/door/firedoor{ - dir = 1 +/obj/machinery/holoposter{ + pixel_y = 32 }, -/obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "jUy" = ( @@ -13327,6 +13908,11 @@ }, /turf/simulated/floor/tiled/dark, /area/bridge) +"jUA" = ( +/obj/effect/floor_decal/rust, +/obj/structure/loot_pile/maint/boxfort, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "jUN" = ( /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/canister/air/airlock, @@ -13339,6 +13925,13 @@ /obj/item/deck/cards, /turf/simulated/floor/carpet, /area/endeavour/hallway/d1fwdmaint) +"jVc" = ( +/obj/structure/loot_pile/maint/junk, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "jVj" = ( /obj/structure/table/bench/wooden, /obj/item/reagent_containers/food/drinks/cans/waterbottle, @@ -13362,6 +13955,9 @@ /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "jWo" = ( @@ -13382,6 +13978,11 @@ dir = 8; pixel_x = -24 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -28; + pixel_y = 17 + }, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/blueshield) "jWs" = ( @@ -13446,7 +14047,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "jXL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13476,6 +14077,15 @@ "jYs" = ( /turf/simulated/wall/prepainted/command, /area/crew_quarters/heads/blueshield) +"jYC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "jYV" = ( /obj/structure/catwalk, /obj/machinery/door/airlock/maintenance, @@ -13525,6 +14135,14 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) +"kat" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "kaL" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central7, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -13590,6 +14208,12 @@ }, /turf/simulated/floor/tiled, /area/rnd/test_area) +"kcG" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "kcJ" = ( /obj/machinery/light, /obj/machinery/recharger/wallcharger{ @@ -13625,17 +14249,9 @@ /turf/simulated/floor/plating, /area/maintenance/substation/dock) "kdX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "kef" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/corner/navblue/bordercorner, @@ -13687,6 +14303,11 @@ /obj/spawner/window/reinforced/full, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) +"khe" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/map_helper/access_helper/airlock/station/exploration/department, +/turf/simulated/floor/tiled, +/area/endeavour/exploration/hallway_fore) "khl" = ( /obj/landmark/spawnpoint/job/lawyer, /obj/structure/bed/chair/office/dark{ @@ -13694,6 +14315,12 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/lawoffice) +"khr" = ( +/obj/machinery/camera/network/civilian{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/library) "khu" = ( /obj/structure/table/bench/padded, /turf/simulated/floor/wood, @@ -13710,6 +14337,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_fore) +"khE" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/wood, +/area/library) "khS" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -13768,11 +14399,10 @@ /turf/simulated/floor/water/deep/pool, /area/endeavour/surfacebase/sauna) "kiD" = ( -/obj/structure/bed/chair/sofa/black{ - dir = 1 - }, +/obj/structure/table/woodentable, +/obj/structure/table/woodentable, /turf/simulated/floor/wood, -/area/maintenance/chapel) +/area/library) "kiK" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/corner/navgold/bordercorner, @@ -13799,13 +14429,20 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1portforhall) "kjq" = ( -/obj/structure/bed/chair/sofa/black/right, -/turf/simulated/floor/wood, -/area/maintenance/chapel) +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "kjF" = ( -/obj/structure/bed/chair/comfy/brown, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "kkN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -13841,6 +14478,13 @@ /obj/item/storage/fancy/heartbox, /turf/simulated/floor/carpet, /area/endeavour/hallway/d1fwdmaint) +"kmD" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "kno" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -13857,12 +14501,22 @@ /obj/machinery/camera/network/civilian{ dir = 4 }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) +"knH" = ( +/obj/machinery/floodlight, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) +"kom" = ( +/obj/machinery/fire_alarm/north_mount, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "kos" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central7, /obj/structure/cable/green{ @@ -13895,6 +14549,13 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) +"kpq" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1afthall) "kpN" = ( /obj/machinery/air_alarm{ dir = 1; @@ -13942,8 +14603,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "krO" = ( -/turf/simulated/wall/prepainted, -/area/maintenance/arrivals) +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/palebottlegreen, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "ksB" = ( /obj/item/radio/intercom{ dir = 4; @@ -13995,6 +14658,11 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) +"kvn" = ( +/obj/random/trash_pile, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "kvI" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -14013,10 +14681,8 @@ /turf/simulated/floor/plating, /area/vacant/vacant_bar) "kvQ" = ( -/obj/structure/bed/chair/sofa/black/corner{ - dir = 1 - }, -/turf/simulated/floor/carpet/purcarpet, +/obj/machinery/holopad, +/turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "kvR" = ( /obj/machinery/door/morgue, @@ -14049,9 +14715,15 @@ /turf/simulated/floor/plating, /area/vacant/vacant_bar) "kxk" = ( -/obj/structure/sign/deck/fourth, -/turf/simulated/wall/prepainted, -/area/crew_quarters/clownoffice) +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/library) "kxn" = ( /obj/machinery/atmospherics/pipe/tank/air{ dir = 1 @@ -14097,11 +14769,11 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) "kzG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, /obj/structure/table/woodentable, /obj/item/paper_bin, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, /turf/simulated/floor/wood, /area/library) "kAg" = ( @@ -14158,6 +14830,9 @@ /area/chapel/office) "kCA" = ( /obj/machinery/camera/network/civilian, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, /turf/simulated/floor/wood, /area/library) "kCB" = ( @@ -14206,16 +14881,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "kEl" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -28; - pixel_y = -4 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/obj/effect/floor_decal/rust, +/obj/random/maintenance, +/obj/structure/table/rack/shelf, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "kEq" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -14252,6 +14922,13 @@ }, /turf/simulated/floor/wood, /area/lawoffice) +"kEM" = ( +/obj/machinery/light/small, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/library) "kFe" = ( /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, @@ -14293,6 +14970,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/steel, /area/hallway/secondary/docking_hallway) +"kGL" = ( +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "kHh" = ( /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) @@ -14359,17 +15043,12 @@ /turf/simulated/floor/reinforced/airless, /area/rnd/test_area) "kJh" = ( -/obj/structure/window/basic{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/structure/closet/athletic_mixed, -/obj/machinery/camera/network/civilian{ +/obj/structure/bed/chair/sofa/brown/right, +/obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/crew_quarters/pool/changing_room) +/turf/simulated/floor/carpet/bcarpet, +/area/library) "kJp" = ( /obj/machinery/light/small{ dir = 4 @@ -14437,9 +15116,6 @@ dir = 4; icon_state = "pipe-c" }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, /obj/machinery/light{ dir = 1 }, @@ -14496,18 +15172,9 @@ /turf/simulated/floor/grass, /area/hydroponics/garden) "kME" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "kNi" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -14519,7 +15186,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "kNs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 6 @@ -14546,13 +15213,16 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "kNK" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/carpet/bcarpet, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, /area/library) "kNR" = ( /obj/machinery/light/small, @@ -14577,13 +15247,13 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "kOz" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) "kOG" = ( /obj/effect/floor_decal/chapel{ @@ -14838,16 +15508,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) -"kYx" = ( -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 4 - }, -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-4" - }, -/turf/simulated/floor/carpet/purcarpet, -/area/crew_quarters/coffee_shop) "kYE" = ( /obj/machinery/power/port_gen/pacman/mrs{ anchored = 1 @@ -14859,6 +15519,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/command) "kYZ" = ( @@ -14898,6 +15559,21 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/plating, /area/maintenance/station/exploration) +"lbB" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/endeavour/exploration/hallway_fore) "lbH" = ( /obj/machinery/computer/ship/navigation{ dir = 1 @@ -14952,12 +15628,8 @@ /turf/simulated/floor/tiled, /area/rnd/research/testingrange) "leq" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/door/firedoor/glass{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "leE" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -14984,7 +15656,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/maintenance/library) "lhS" = ( /turf/simulated/wall/prepainted, /area/hallway/secondary/docking_hallway2) @@ -14995,14 +15667,9 @@ /turf/simulated/floor/tiled, /area/maintenance/tool_storage) "liT" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, +/obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1fwdmaint) +/area/maintenance/asmaint) "liZ" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -15023,13 +15690,6 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) -"ljP" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/bed/chair/comfy/black, -/turf/simulated/floor/wood, -/area/crew_quarters/coffee_shop) "lkN" = ( /obj/structure/table/woodentable, /obj/item/reagent_containers/food/drinks/shaker, @@ -15051,24 +15711,24 @@ dir = 8 }, /obj/machinery/vending/wallmed1{ - pixel_x = 32 + pixel_x = 36 }, /obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/tiled/dark, /area/station/stairs_one) "llV" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "llY" = ( /obj/machinery/door/firedoor, /obj/map_helper/access_helper/airlock/station/exploration/department, @@ -15098,15 +15758,8 @@ /turf/simulated/floor/plating, /area/maintenance/substation/command) "lmG" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/turf/simulated/wall/prepainted, +/area/maintenance/library) "lno" = ( /obj/machinery/conveyor_switch/oneway{ id = "courser_magazine_2"; @@ -15269,6 +15922,7 @@ /obj/structure/sink{ pixel_y = 22 }, +/obj/landmark/spawnpoint/job/field_medic, /turf/simulated/floor/tiled/white, /area/exploration/medical) "lth" = ( @@ -15281,15 +15935,11 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/secondary/docking_hallway) "ltO" = ( -/obj/machinery/disposal, -/obj/machinery/camera/network/civilian{ - dir = 9 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/structure/table/bench/wooden, +/obj/effect/mist, +/obj/item/radio/intercom/north_mount, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/sauna) "lul" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/window/reinforced, @@ -15314,6 +15964,11 @@ /obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/wood, /area/lawoffice) +"lvV" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/obj/structure/flora/pottedplant/orientaltree, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "lwn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -15334,6 +15989,15 @@ }, /turf/simulated/floor/tiled/dark, /area/exploration/courser_dock) +"lwV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/library) "lxO" = ( /obj/machinery/door/airlock/maintenance/engi{ req_one_access = null @@ -15352,14 +16016,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /obj/structure/disposalpipe/sortjunction{ dir = 4; name = "HoS Office"; sortType = "HoS Office" }, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "lyH" = ( @@ -15383,7 +16047,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "lyX" = ( /obj/map_helper/access_helper/airlock/station/exploration/department, /obj/structure/cable/green{ @@ -15477,11 +16141,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "lBc" = ( -/obj/machinery/power/breakerbox{ - RCon_tag = "MAIN - DECK 1 AFT" +/obj/machinery/power/breakerbox/activated{ + RCon_tag = "MAIN - DECK 1 FORE" }, /turf/simulated/floor/plating, -/area/maintenance/substation/civilian) +/area/maintenance/substation/command) "lBV" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -15511,15 +16175,12 @@ /turf/simulated/floor/carpet/gaycarpet, /area/crew_quarters/clownoffice) "lCx" = ( -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_x = 32 - }, -/obj/machinery/light/small{ - dir = 4 - }, /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/carpet/bcarpet, /area/library) "lDc" = ( @@ -15622,7 +16283,7 @@ dir = 8; pixel_y = -7 }, -/turf/simulated/wall/r_wall/prepainted/civilian, +/turf/simulated/wall/r_wall/prepainted, /area/station/stairs_one) "lKq" = ( /obj/machinery/camera/network/command{ @@ -15630,6 +16291,12 @@ }, /turf/simulated/floor/wood, /area/bridge/meeting_room) +"lKv" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "lKJ" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -15687,13 +16354,6 @@ /obj/item/book/manual/robotics_cyborgs, /turf/simulated/floor/wood, /area/library) -"lMF" = ( -/obj/structure/bed/chair/sofa/black/left, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/carpet/purcarpet, -/area/crew_quarters/coffee_shop) "lMT" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -15904,6 +16564,23 @@ /obj/effect/floor_decal/corner/navgold/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) +"lTc" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "lTA" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -15946,10 +16623,11 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/mimeoffice) "lVu" = ( -/obj/structure/sign/goldenplaque{ - desc = "This plaque is thankfully empty, but is dedicated to those that were killed in the line of duty protecting the NSV Endeavour, and Nanotrasen as a whole."; - name = "Memorial Plaque"; - pixel_y = 32 +/obj/structure/extinguisher_cabinet{ + pixel_y = 31 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 }, /turf/simulated/floor/tiled/dark, /area/chapel/main) @@ -15971,20 +16649,17 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "lWb" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/structure/cable/green{ - icon_state = "2-8" - }, /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, /obj/effect/floor_decal/corner/beige/border{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/bridge/hallway) "lXo" = ( @@ -16007,6 +16682,12 @@ }, /turf/simulated/floor/plating, /area/shuttle/excursion/cargo) +"lYt" = ( +/obj/structure/table/rack, +/obj/item/toy/stickhorse, +/obj/item/toy/katana, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "lYx" = ( /obj/machinery/sparker{ id = "burn_chamber"; @@ -16018,9 +16699,12 @@ /turf/simulated/floor/reinforced/airless, /area/rnd/test_area) "lZv" = ( -/obj/structure/sign/department/biblio, -/turf/simulated/wall/prepainted, -/area/maintenance/chapel) +/obj/machinery/door/blast/regular{ + id = "chapelgun"; + name = "Chapel Launcher Door" + }, +/turf/simulated/floor/plating, +/area/tether/station/burial) "maa" = ( /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) @@ -16061,6 +16745,14 @@ }, /turf/simulated/floor/tiled/dark, /area/chapel/main) +"maY" = ( +/obj/structure/table/woodentable, +/obj/structure/flora/pottedplant/flower, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/library) "maZ" = ( /obj/structure/flora/pottedplant/stoutbush, /obj/structure/window/reinforced{ @@ -16234,7 +16926,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/obj/landmark/spawnpoint/job/field_medic, /turf/simulated/floor/tiled/white, /area/exploration/medical) "mgg" = ( @@ -16296,8 +16987,11 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/sign/department/biblio{ + pixel_x = -32 + }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "mic" = ( /obj/effect/floor_decal/chapel, /obj/effect/floor_decal/spline/fancy/wood{ @@ -16436,12 +17130,21 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/obj/machinery/fire_alarm/north_mount, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1portamidhall) +/area/endeavour/hallway/d1portforhall) +"mmH" = ( +/obj/item/clothing/mask/muzzle, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "mmN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16513,19 +17216,25 @@ /turf/simulated/floor/wood, /area/endeavour/surfacebase/sauna) "mqa" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/turf/simulated/wall/r_wall/prepainted, +/area/maintenance/asmaint) "mrv" = ( -/obj/structure/sign/directions/science{ - pixel_y = 3 +/obj/structure/sign/directions/engineering{ + pixel_y = -6; + dir = 1 }, /obj/structure/sign/directions/cargo{ - pixel_y = -4 + dir = 1 }, -/turf/simulated/wall/r_wall/prepainted/civilian, +/obj/structure/sign/directions/science{ + pixel_y = 6; + dir = 1 + }, +/obj/structure/sign/directions/cryo{ + pixel_y = 13; + dir = 1 + }, +/turf/simulated/wall/r_wall/prepainted, /area/station/stairs_one) "mrA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -16689,16 +17398,28 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/asmaint) +/area/maintenance/library) "mxK" = ( -/obj/machinery/suit_storage_unit/search_and_rescue, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/sar{ + req_access = list(5); + req_one_access = list(5) + }, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/syringes, +/obj/item/tank/jetpack/oxygen, +/obj/item/storage/backpack/parachute, +/obj/item/clothing/accessory/permit/gun/planetside, /obj/effect/floor_decal/borderfloor{ - dir = 1 + dir = 8 }, /obj/effect/floor_decal/corner/blue/border{ - dir = 1 + dir = 8 }, -/turf/simulated/floor/tiled/white, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/monotile, /area/exploration/medical) "myg" = ( /obj/effect/floor_decal/spline/plain, @@ -16827,10 +17548,7 @@ /obj/effect/floor_decal/corner/mauve/bordercorner{ dir = 8 }, -/obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j2" - }, +/obj/structure/disposalpipe/junction, /turf/simulated/floor/tiled, /area/exploration) "mDd" = ( @@ -16986,6 +17704,12 @@ }, /turf/simulated/floor/wood, /area/lawoffice) +"mGW" = ( +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "mHb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -17123,16 +17847,24 @@ /turf/simulated/floor/tiled, /area/gateway/prep_room) "mMw" = ( -/obj/structure/sign/directions/elevator{ - dir = 4 - }, -/obj/structure/sign/directions/bridge{ - dir = 4; - pixel_y = 7 - }, /obj/structure/sign/directions/evac{ dir = 8; - pixel_y = -7 + pixel_y = -6 + }, +/obj/structure/sign/directions/engineering{ + pixel_y = -12; + dir = 1 + }, +/obj/structure/sign/directions/cargo{ + dir = 1 + }, +/obj/structure/sign/directions/science{ + pixel_y = 6; + dir = 1 + }, +/obj/structure/sign/directions/cryo{ + pixel_y = 13; + dir = 1 }, /turf/simulated/wall/prepainted, /area/station/stairs_one) @@ -17140,7 +17872,16 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 }, -/turf/simulated/floor/carpet/purcarpet, +/obj/structure/table/woodentable, +/obj/item/reagent_containers/food/condiment/small/saltshaker{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/condiment/small/peppermill{ + pixel_x = 3; + pixel_y = 6 + }, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "mNu" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, @@ -17158,6 +17899,12 @@ }, /turf/simulated/floor/tiled, /area/maintenance/tool_storage) +"mNC" = ( +/obj/effect/floor_decal/rust, +/obj/structure/table/woodentable, +/obj/item/gps/dataknife, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "mNK" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -17276,6 +18023,14 @@ /obj/machinery/portable_atmospherics/powered/pump, /turf/simulated/floor/tiled, /area/rnd/misc_lab) +"mSo" = ( +/obj/structure/table/woodentable, +/obj/item/flashlight/lamp/green/on, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/library) "mSv" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor/glass{ @@ -17293,6 +18048,23 @@ /obj/map_helper/access_helper/airlock/station/external_airlock, /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) +"mTv" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "mTU" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -17366,6 +18138,15 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/shuttle/courser/general) +"mWh" = ( +/obj/structure/table/bench/wooden, +/obj/effect/mist, +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/sauna) "mWz" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -17472,7 +18253,7 @@ /turf/simulated/floor/lino, /area/crew_quarters/coffee_shop) "mYb" = ( -/turf/simulated/wall/prepainted, +/turf/simulated/wall/prepainted/civilian, /area/hydroponics/garden) "mYF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -17482,7 +18263,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "mYH" = ( /obj/spawner/window/low_wall/full/firelocks/nogrille, /obj/structure/curtain/black, @@ -17520,9 +18301,8 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) "mZV" = ( -/obj/machinery/air_alarm/north_mount, /obj/machinery/light{ - dir = 4 + dir = 1 }, /turf/simulated/floor/tiled/dark, /area/chapel/main) @@ -17561,6 +18341,21 @@ "nct" = ( /turf/simulated/floor/plating, /area/hallway/secondary/docking_hallway) +"ncC" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/power/apc/south_mount, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "ncX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -17571,17 +18366,8 @@ /turf/simulated/floor/wood, /area/library) "ndh" = ( -/obj/machinery/air_alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/turf/simulated/wall/r_wall/prepainted/civilian, +/area/tether/station/burial) "nei" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17770,6 +18556,12 @@ /obj/effect/floor_decal/corner/beige/border{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/beige/bordercorner2{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/bridge/hallway) "nnq" = ( @@ -17811,11 +18603,14 @@ /turf/space/basic, /area/space) "noo" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/bed/chair/sofa/black/left, +/obj/structure/window/reinforced{ dir = 1 }, -/turf/simulated/floor/wood, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "noM" = ( /obj/structure/table/reinforced, @@ -17834,7 +18629,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "noZ" = ( /obj/effect/floor_decal/spline/plain{ dir = 1 @@ -17930,6 +18725,22 @@ }, /turf/simulated/floor/plating, /area/shuttle/excursion/cargo) +"nry" = ( +/obj/structure/window/basic{ + dir = 1 + }, +/obj/structure/curtain/open/privacy, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/machinery/shower{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/crew_quarters/pool/changing_room) "nrF" = ( /obj/structure/cable{ icon_state = "1-8" @@ -18121,6 +18932,19 @@ }, /turf/simulated/floor/tiled/dark, /area/bridge) +"nzo" = ( +/obj/structure/closet, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + desc = "TASTE DEMOCRACY"; + name = "Managed Democra-cider" + }, +/obj/random/cigarettes, +/obj/random/contraband, +/obj/random/maintenance/clean, +/obj/random/maintenance/medical, +/obj/random/maintenance/medical, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "nzy" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 @@ -18139,21 +18963,23 @@ /obj/effect/paint/palebottlegreen, /turf/simulated/floor/plating, /area/hydroponics/garden) +"nAj" = ( +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "nAm" = ( /obj/structure/closet/lasertag/red, /turf/simulated/floor/tiled/old_tile/red, /area/endeavour/hallway/d1aftmaint) "nAn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/multi_tile/glass{ - name = "Pool Room" +/obj/structure/window/basic{ + dir = 1 }, -/turf/simulated/floor/tiled/white, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/holofloor/tiled/dark, /area/crew_quarters/pool/changing_room) "nAT" = ( /obj/structure/table/marble, @@ -18183,15 +19009,12 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/coffee_shop) "nBz" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 }, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/obj/structure/flora/pottedplant/orientaltree, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "nBS" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -18212,6 +19035,16 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) +"nCd" = ( +/obj/structure/closet/firecloset, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "nCl" = ( /obj/structure/symbol/sa, /turf/simulated/wall/prepainted, @@ -18235,6 +19068,10 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/shuttle/excursion/cargo) +"nCV" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/wood, +/area/library) "nEa" = ( /obj/machinery/light{ dir = 8 @@ -18243,24 +19080,9 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "nFc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/holopad, -/obj/machinery/camera/network/command{ - dir = 1 - }, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/structure/cable/green{ - icon_state = "1-4" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/obj/structure/loot_pile/maint/technical, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "nFp" = ( /obj/structure/cable{ icon_state = "4-8" @@ -18271,6 +19093,9 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "nFx" = ( @@ -18333,8 +19158,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "nHC" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 6 @@ -18386,21 +19212,9 @@ /turf/simulated/floor/plating, /area/shuttle/courser/cockpit) "nJA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/bed/chair/comfy/brown{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/library) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/library) "nJD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -18443,12 +19257,7 @@ }, /obj/effect/floor_decal/corner/black/diagonal, /obj/structure/table/marble, -/obj/item/storage/fancy/egg_box{ - pixel_y = 11 - }, -/obj/item/storage/fancy/egg_box{ - pixel_y = 5 - }, +/obj/item/material/kitchen/rollingpin, /turf/simulated/floor/tiled/white, /area/crew_quarters/lounge/kitchen_freezer) "nLZ" = ( @@ -18538,10 +19347,10 @@ /turf/simulated/floor/plating, /area/maintenance/substation/exploration) "nPI" = ( -/obj/structure/table/woodentable, -/obj/item/instrument/harmonica, -/obj/machinery/recharger, /obj/machinery/light, +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "nPK" = ( @@ -18615,15 +19424,21 @@ /turf/simulated/floor/tiled, /area/endeavour/surfacebase/sauna) "nSy" = ( -/obj/machinery/portable_atmospherics/powered/pump/filled, +/obj/machinery/shield_diffuser, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/tether/station/burial) "nSH" = ( -/obj/structure/bed/chair/sofa/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/carpet/purcarpet, +/turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) +"nSV" = ( +/obj/random/maintenance/security, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "nSW" = ( /obj/machinery/door/airlock/glass_external{ name = "Exploration Hangar"; @@ -18678,11 +19493,16 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1fwdmaint) "nUG" = ( +/obj/item/radio/intercom{ + dir = 1; + name = "Station Intercom (General)"; + pixel_y = 26 + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/light{ + dir = 1 }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) @@ -18751,13 +19571,14 @@ "nXJ" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, -/obj/machinery/camera/network/civilian{ - dir = 1 - }, /obj/effect/floor_decal/borderfloorblack/corner2{ alpha = 255 }, /obj/effect/floor_decal/corner/navgold/bordercorner2, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "nXR" = ( @@ -18997,7 +19818,7 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 9 }, -/obj/machinery/vending/fitness, +/obj/machinery/vending/snack, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d1afthall) "oiv" = ( @@ -19320,9 +20141,14 @@ /turf/simulated/floor/tiled, /area/exploration/explorer_prep) "ovE" = ( -/obj/machinery/door/airlock/maintenance/common, -/turf/simulated/floor/plating, -/area/endeavour/exploration/hallway_fore) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "owg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -19408,6 +20234,15 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"oxL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "oxV" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -19434,10 +20269,14 @@ }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) -"ozV" = ( -/obj/structure/bed/chair, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/tram) +"ozD" = ( +/obj/machinery/portable_atmospherics/powered/pump/filled, +/obj/effect/floor_decal/rust, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "ozZ" = ( /turf/simulated/floor/tiled/dark, /area/gateway) @@ -19448,6 +20287,21 @@ }, /turf/simulated/floor/tiled/monodark, /area/crew_quarters/lounge) +"oAj" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "oAD" = ( /obj/machinery/light, /obj/structure/table/rack, @@ -19500,6 +20354,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_fore) +"oCl" = ( +/obj/random/maintenance/research, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "oCT" = ( /obj/machinery/computer/shuttle_control/explore/civvie{ dir = 8 @@ -19574,6 +20432,13 @@ }, /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) +"oFn" = ( +/obj/structure/closet/cabinet, +/obj/random/maintenance/research, +/obj/random/maintenance/security, +/obj/random/maintenance/medical, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "oFO" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -19582,11 +20447,10 @@ /turf/simulated/floor/grass, /area/hydroponics/garden) "oGx" = ( -/obj/structure/table/woodentable, -/obj/item/flashlight/lamp/green, -/obj/machinery/light/small{ - dir = 4 +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 29 }, +/obj/structure/bed/chair/sofa/brown/left, /turf/simulated/floor/carpet/bcarpet, /area/library) "oHo" = ( @@ -19667,13 +20531,13 @@ /turf/simulated/floor/tiled, /area/endeavour/surfacebase/sauna) "oKZ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/structure/table/woodentable, +/obj/effect/floor_decal/spline/fancy/wood, +/obj/item/flame/candle/candelabra/everburn{ + pixel_y = 8 }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "oLF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -19837,6 +20701,14 @@ }, /turf/simulated/floor/wood, /area/endeavour/hallway/d1fwdmaint) +"oTa" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/crew_quarters/pool/changing_room) "oTA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19931,8 +20803,7 @@ /turf/simulated/wall/r_wall/prepainted/exploration, /area/shuttle/excursion/cargo) "oWY" = ( -/obj/machinery/holopad, -/turf/simulated/floor/tiled/white, +/turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool/changing_room) "oXb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -20121,14 +20992,23 @@ /area/maintenance/chapel) "pdw" = ( /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway2) +"pdz" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "pdK" = ( /turf/simulated/floor/tiled, /area/gateway/prep_room) @@ -20161,6 +21041,9 @@ /obj/effect/floor_decal/corner/black/full{ dir = 1 }, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, /turf/simulated/floor/tiled/white, /area/crew_quarters/lounge/kitchen_freezer) "pfk" = ( @@ -20268,6 +21151,10 @@ /turf/simulated/floor/grass, /area/hydroponics/garden) "pgL" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/landmark/spawnpoint/overflow/station, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/hallway/d1afthall) "phb" = ( @@ -20318,8 +21205,8 @@ /turf/simulated/wall/r_wall/prepainted/command, /area/crew_quarters/heads/hop) "piB" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/carpet/purcarpet, +/obj/structure/bed/chair/sofa/black/right, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "piW" = ( /obj/structure/catwalk, @@ -20336,10 +21223,6 @@ "pjL" = ( /obj/machinery/door/firedoor, /obj/machinery/cryopod/robot/door/shuttle, -/obj/machinery/computer/cryopod{ - name = "asset retention console"; - pixel_y = -30 - }, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/hallway/d1afthall) "pkq" = ( @@ -20356,7 +21239,7 @@ dir = 8; name = "Library" }, -/turf/simulated/floor/tiled/steel, +/turf/simulated/floor/carpet/bcarpet, /area/library) "plx" = ( /obj/structure/bookcase/legal/combo, @@ -20454,8 +21337,7 @@ /area/shuttle/civvie/cockpit) "pnA" = ( /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) @@ -20510,10 +21392,22 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/surfacebase/tram) -"ppR" = ( -/obj/effect/floor_decal/rust, +"ppi" = ( +/obj/item/tool/screwdriver, +/obj/item/cigbutt, /turf/simulated/floor/plating, -/area/hallway/secondary/docking_hallway) +/area/endeavour/hallway/d1aftmaint) +"ppR" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "pqe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -20528,7 +21422,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "pqr" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -20624,6 +21518,7 @@ /obj/structure/cable/green{ icon_state = "0-2" }, +/obj/effect/floor_decal/rust, /turf/simulated/floor/plating, /area/maintenance/chapel) "pvb" = ( @@ -20648,6 +21543,10 @@ }, /turf/simulated/floor/wood, /area/endeavour/hallway/d1fwdmaint) +"pvq" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "pvA" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -20738,6 +21637,7 @@ /area/endeavour/surfacebase/sauna) "pAX" = ( /obj/machinery/sleep_console, +/obj/effect/floor_decal/industrial/outline, /turf/simulated/floor/tiled/white, /area/exploration/medical) "pBk" = ( @@ -20752,6 +21652,12 @@ "pBz" = ( /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/lounge) +"pBI" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/rust, +/obj/item/toy/bouquet, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "pBW" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -20810,6 +21716,10 @@ }, /turf/simulated/floor/wood, /area/bridge/office) +"pDT" = ( +/obj/random/toolbox, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "pEr" = ( /turf/simulated/wall/prepainted, /area/maintenance/substation/civilian) @@ -20912,8 +21822,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -20939,6 +21848,17 @@ /obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"pKP" = ( +/obj/machinery/light/small, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/simulated/floor/wood, +/area/library) "pKV" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -21016,9 +21936,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "pOh" = ( -/obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/endeavour/hallway/d1fwdmaint) +/obj/machinery/camera/network/civilian{ + dir = 9 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "pOB" = ( /obj/machinery/door/firedoor/glass{ dir = 8 @@ -21031,14 +21953,28 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) "pOC" = ( -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 5 - }, /obj/structure/window/reinforced{ dir = 8 }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 10 + }, /turf/simulated/floor/tiled/white, /area/endeavour/surfacebase/sauna) +"pOJ" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/machinery/air_alarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/bed/padded, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "pPL" = ( /turf/simulated/floor/plating, /area/maintenance/substation/civilian) @@ -21129,6 +22065,13 @@ }, /turf/simulated/floor/tiled, /area/shuttle/excursion/general) +"pTh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "pUQ" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, @@ -21159,6 +22102,19 @@ }, /turf/simulated/floor/tiled/white, /area/exploration/medical) +"pVF" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "pVQ" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/corner/navblue/bordercorner, @@ -21253,6 +22209,13 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1fwdhall) +"qcD" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "qcV" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -21269,18 +22232,18 @@ /area/endeavour/hallway/d1fwdmaint) "qdt" = ( /obj/structure/sign/directions/security{ - pixel_y = -10 + pixel_y = -7 }, /obj/structure/sign/directions/medical{ - pixel_y = 4 + pixel_y = 5 }, /obj/structure/sign/directions/cryo{ - pixel_y = -3 + pixel_y = -1 }, /obj/structure/sign/directions/engineering{ pixel_y = 11 }, -/turf/simulated/wall/r_wall/prepainted/civilian, +/turf/simulated/wall/r_wall/prepainted, /area/station/stairs_one) "qdM" = ( /obj/machinery/door/firedoor, @@ -21368,6 +22331,14 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_fore) +"qfR" = ( +/obj/effect/floor_decal/rust, +/obj/structure/closet/hydrant{ + dir = 8; + pixel_x = 32 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "qfY" = ( /obj/machinery/air_alarm{ frequency = 1441; @@ -21375,6 +22346,18 @@ }, /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway2) +"qgb" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1portforhall) "qgv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -21438,6 +22421,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/test_area) +"qjI" = ( +/obj/effect/floor_decal/rust, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "qjK" = ( /obj/structure/window/reinforced/tinted/frosted{ dir = 8 @@ -21475,7 +22463,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "qku" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -21604,12 +22592,31 @@ }, /turf/simulated/floor/tiled, /area/endeavour/surfacebase/sauna) -"qqr" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 8 +"qqo" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/plating, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner2{ + dir = 4 + }, +/obj/structure/sign/department/biblio{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) +"qqr" = ( +/obj/structure/lattice, +/turf/space/basic, +/area/space) +"qqT" = ( +/obj/item/surgical/hemostat, +/turf/simulated/floor/wood/broken, /area/endeavour/hallway/d1aftmaint) "qrz" = ( /obj/structure/cable/green{ @@ -21791,7 +22798,7 @@ /area/endeavour/hallway/d1fwdhall) "qzb" = ( /obj/structure/disposalpipe/segment{ - dir = 2; + dir = 4; icon_state = "pipe-c" }, /turf/simulated/floor/tiled/steel, @@ -22029,6 +23036,9 @@ name = "Security Checkpoint"; sortType = "Security Checkpoint" }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled/steel, /area/hallway/secondary/docking_hallway) "qJE" = ( @@ -22105,17 +23115,12 @@ /obj/effect/floor_decal/corner/navgold/border, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, -/obj/machinery/computer/timeclock/premade/south, -/obj/machinery/door/firedoor{ - dir = 1 - }, /obj/effect/floor_decal/borderfloorblack/corner2{ dir = 9 }, /obj/effect/floor_decal/corner/navgold/bordercorner2{ dir = 9 }, -/obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "qLL" = ( @@ -22172,29 +23177,28 @@ "qMR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 4 - }, -/obj/effect/floor_decal/corner/navgold/bordercorner{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) -"qNt" = ( /obj/effect/floor_decal/borderfloorblack{ - dir = 1 + dir = 4 }, /obj/effect/floor_decal/corner/navgold/border{ - dir = 1 + dir = 4 }, /obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 + dir = 5 }, /obj/effect/floor_decal/corner/navgold/bordercorner2{ - dir = 1 + dir = 5 }, /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway) +"qNt" = ( +/obj/machinery/button/remote/driver{ + id = "chapelgun"; + name = "Chapel Mass Driver"; + pixel_x = 25 + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "qNJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22240,17 +23244,13 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/obj/item/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 26 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "qOI" = ( @@ -22296,6 +23296,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) +"qPJ" = ( +/obj/structure/closet, +/obj/random/maintenance, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "qQg" = ( /obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks{ id = "pathfinder_office" @@ -22311,9 +23317,10 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway2) "qQJ" = ( -/obj/machinery/light/small, +/obj/structure/catwalk, +/obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/hallway/secondary/docking_hallway) +/area/maintenance/chapel) "qQK" = ( /obj/effect/floor_decal/chapel{ dir = 8 @@ -22394,13 +23401,10 @@ "qUT" = ( /obj/structure/catwalk, /obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "qVN" = ( /obj/structure/flora/pottedplant/subterranean, /turf/simulated/floor/carpet/bcarpet, @@ -22417,6 +23421,10 @@ /obj/machinery/meter, /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) +"qWa" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "qWg" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -22446,12 +23454,14 @@ /turf/simulated/floor/carpet/purcarpet, /area/bridge) "qWP" = ( -/obj/machinery/light/small{ - dir = 8 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/machinery/floodlight, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "qWS" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -22530,6 +23540,9 @@ /obj/machinery/power/apc/south_mount, /turf/simulated/floor/wood, /area/crew_quarters/clownoffice) +"qZB" = ( +/turf/simulated/floor/wood/broken, +/area/endeavour/hallway/d1aftmaint) "qZR" = ( /obj/structure/bed/chair/comfy/brown, /obj/machinery/computer/ship/navigation/telescreen{ @@ -22543,6 +23556,13 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) +"qZX" = ( +/obj/machinery/vending/cola, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/library) "raV" = ( /obj/structure/dogbed{ name = "pet bed" @@ -22575,7 +23595,9 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/lounge) "rbv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "rbV" = ( @@ -22602,6 +23624,12 @@ /obj/machinery/recharger, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/heads/hop) +"rcs" = ( +/obj/structure/table/rack/shelf, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "rcJ" = ( /obj/machinery/light{ dir = 8 @@ -22628,16 +23656,15 @@ }, /obj/item/book/custom_library/fiction, /obj/item/book/custom_library/fiction, +/obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/library) "rdn" = ( -/obj/machinery/air_alarm{ - dir = 8; - pixel_x = 24 - }, /obj/machinery/light{ dir = 1 }, +/obj/machinery/air_alarm/north_mount, +/obj/machinery/holopad, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/blueshield) "rdz" = ( @@ -22694,6 +23721,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) "rfr" = ( @@ -22846,14 +23876,15 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "rln" = ( -/obj/machinery/air_alarm{ - dir = 1; - pixel_y = -22; - target_temperature = 312.15 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/effect/mist, -/turf/simulated/floor/water/pool, -/area/endeavour/surfacebase/sauna) +/turf/simulated/floor/plating, +/area/maintenance/chapel) +"rlp" = ( +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "rlA" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -22864,7 +23895,7 @@ req_access = list(25) }, /obj/machinery/door/blast/shutters{ - dir = 2; + dir = 8; id = "cafe"; layer = 3.1; name = "Cafe Shutters" @@ -22990,9 +24021,13 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ +/obj/machinery/door/firedoor{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "rqv" = ( @@ -23028,6 +24063,16 @@ /obj/machinery/computer/timeclock/premade/north, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) +"rrt" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "rub" = ( /obj/machinery/light_switch{ name = "light switch "; @@ -23164,11 +24209,9 @@ /turf/simulated/floor/tiled, /area/rnd/misc_lab) "rzS" = ( -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 - }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +/obj/machinery/power/apc/south_mount, +/obj/structure/cable/green{ + icon_state = "0-4" }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) @@ -23441,8 +24484,13 @@ /turf/simulated/floor/carpet/tealcarpet, /area/shuttle/civvie/general) "rKP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/landmark/spawnpoint/job/field_medic, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/search_and_rescue, /turf/simulated/floor/tiled/white, /area/exploration/medical) "rLb" = ( @@ -23483,6 +24531,27 @@ }, /turf/simulated/wall/r_wall/prepainted/exploration, /area/shuttle/excursion/cargo) +"rOy" = ( +/obj/machinery/door/airlock/command{ + id_tag = "blueshielddoor"; + name = "Blueshield"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/head_office/blueshield, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/crew_quarters/heads/blueshield) "rOU" = ( /obj/structure/flora/ausbushes/lavendergrass, /turf/simulated/floor/grass, @@ -23523,6 +24592,9 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, /turf/simulated/floor/wood, /area/library) "rRP" = ( @@ -23619,15 +24691,17 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 }, -/obj/machinery/button/windowtint{ - dir = 4; - id = "sauna_tint"; - pixel_x = -25 - }, /obj/structure/table/bench/wooden, /obj/effect/mist, /turf/simulated/floor/wood, /area/endeavour/surfacebase/sauna) +"rVK" = ( +/obj/item/tool/wirecutters, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "rVM" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -23645,16 +24719,12 @@ /turf/simulated/wall/r_wall/prepainted/exploration, /area/gateway) "rVX" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ +/obj/machinery/fire_alarm/north_mount, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 }, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "rWf" = ( /obj/structure/flora/pottedplant/stoutbush{ pixel_y = 12 @@ -23669,8 +24739,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) +"rXt" = ( +/obj/structure/lattice, +/turf/space/basic, +/area/endeavour/command/turrets) "rXv" = ( /obj/machinery/door/airlock{ name = "Internal Affairs" @@ -23732,13 +24806,9 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "saq" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, /obj/machinery/iv_drip, -/obj/effect/floor_decal/borderfloor{ - dir = 10 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 10 - }, /turf/simulated/floor/tiled/white, /area/exploration/medical) "saB" = ( @@ -23760,12 +24830,15 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "sbD" = ( -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 5 - }, /obj/structure/window/reinforced{ dir = 4 }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 9 + }, /turf/simulated/floor/tiled/white, /area/endeavour/surfacebase/sauna) "sbG" = ( @@ -23855,6 +24928,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/chapel/main) "sfl" = ( @@ -23874,6 +24948,12 @@ /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, /area/gateway) +"sgV" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/clothing/suit/space/anomaly, +/obj/item/clothing/head/helmet/space/anomaly, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "shj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -23929,6 +25009,11 @@ }, /turf/simulated/floor/tiled, /area/endeavour/surfacebase/tram) +"sjD" = ( +/obj/structure/railing, +/obj/structure/closet/crate, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "sjP" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -23982,15 +25067,12 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "skF" = ( -/obj/machinery/camera/network/civilian, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 1 +/obj/machinery/door/firedoor/glass, +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "skI" = ( /obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, /obj/effect/paint/commandblue, @@ -24034,26 +25116,21 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1afthall) "smS" = ( -/obj/structure/catwalk, /obj/structure/cable/green{ icon_state = "2-4" }, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "snc" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 - }, /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) "sne" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -24078,6 +25155,15 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) +"spU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/library) "sqa" = ( /obj/structure/bed/chair{ dir = 4 @@ -24111,8 +25197,20 @@ /turf/simulated/floor/plating, /area/shuttle/courser/cockpit) "srV" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, /turf/simulated/floor/plating, -/area/station/stairs_one) +/area/endeavour/hallway/d1aftmaint) "ssc" = ( /obj/machinery/light/small{ dir = 1 @@ -24120,6 +25218,10 @@ /obj/machinery/recharge_station, /turf/simulated/floor/tiled/white, /area/endeavour/hallway/d1fwdmaint) +"ssh" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "ssN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -24205,13 +25307,6 @@ "svt" = ( /turf/simulated/wall/prepainted, /area/endeavour/hallway/d1portamidhall) -"svI" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/bed/chair/comfy/black, -/turf/simulated/floor/wood, -/area/crew_quarters/coffee_shop) "svZ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -24273,7 +25368,7 @@ /turf/simulated/floor/plating, /area/hallway/secondary/docking_hallway) "syY" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/closet/athletic_mixed, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) "szl" = ( @@ -24327,7 +25422,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "sBk" = ( /obj/structure/flora/pottedplant/orientaltree, /obj/machinery/atmospherics/component/unary/vent_pump/on, @@ -24456,7 +25551,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/endeavour/hallway/d1fwdmaint) "sFu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/flora/ausbushes/ppflowers, @@ -24472,8 +25567,8 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) "sFF" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) @@ -24490,7 +25585,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/endeavour/hallway/d1fwdmaint) "sGN" = ( /obj/structure/table/woodentable, /obj/item/flashlight/lamp/green, @@ -24535,6 +25630,15 @@ }, /turf/simulated/floor/tiled/white, /area/endeavour/hallway/d1fwdmaint) +"sIU" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "sJl" = ( /obj/effect/floor_decal/spline/plain{ dir = 9 @@ -24542,9 +25646,15 @@ /turf/simulated/floor/carpet/purcarpet, /area/exploration/meeting) "sJt" = ( -/obj/machinery/holopad, -/turf/simulated/floor/wood, -/area/crew_quarters/coffee_shop) +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 6 + }, +/obj/item/radio/intercom/south_mount, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardforhall) "sJw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -24603,8 +25713,14 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d1fwdmaint) "sNr" = ( -/obj/structure/table/woodentable, /obj/machinery/air_alarm/south_mount, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/camera/network/civilian{ + dir = 8 + }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "sNQ" = ( @@ -24620,6 +25736,14 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/dock) +"sOr" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "sOS" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -24630,7 +25754,7 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "sPy" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/fitness, /turf/simulated/floor/wood, /area/hydroponics/garden) "sPS" = ( @@ -24745,12 +25869,6 @@ /obj/effect/floor_decal/corner/beige/border{ dir = 8 }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 8 - }, -/obj/effect/floor_decal/corner/beige/bordercorner2{ - dir = 8 - }, /turf/simulated/floor/tiled/dark, /area/bridge/hallway) "sSr" = ( @@ -24777,11 +25895,12 @@ /turf/simulated/floor/plating, /area/hydroponics/garden) "sSQ" = ( +/obj/structure/catwalk, /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "sTF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -24826,11 +25945,9 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) "sUx" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "sUA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -24843,6 +25960,10 @@ }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hop) +"sUJ" = ( +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/substation/dock) "sVb" = ( /obj/structure/railing{ dir = 1 @@ -24925,6 +26046,13 @@ /obj/effect/floor_decal/corner/black/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/lounge/kitchen_freezer) +"sYC" = ( +/obj/structure/closet/cabinet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/obj/random/maintenance/cargo, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "sZj" = ( /obj/structure/sign/nanotrasen, /turf/simulated/wall/r_wall, @@ -25036,6 +26164,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) +"tdE" = ( +/obj/structure/closet/firecloset, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/library) "tdX" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -25127,15 +26260,6 @@ /obj/map_helper/access_helper/airlock/station/exploration/department, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/courser_dock) -"tgV" = ( -/obj/structure/bed/chair/sofa/black/corner{ - dir = 1 - }, -/obj/machinery/camera/network/civilian{ - dir = 4 - }, -/turf/simulated/floor/carpet/purcarpet, -/area/crew_quarters/coffee_shop) "tgY" = ( /obj/machinery/body_scanconsole, /obj/effect/floor_decal/corner_steel_grid{ @@ -25144,9 +26268,12 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway2) "thM" = ( -/obj/structure/girder, -/turf/simulated/floor/plating, -/area/maintenance/chapel) +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/flora/pottedplant/minitree, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "thT" = ( /obj/structure/cable{ icon_state = "4-8" @@ -25177,6 +26304,9 @@ /obj/structure/cable/green{ icon_state = "1-4" }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, /turf/simulated/floor/wood, /area/library) "tjQ" = ( @@ -25230,6 +26360,12 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) +"tlw" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 1, Port Side" + }, +/turf/space, +/area/space) "tlI" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -25393,12 +26529,10 @@ /turf/simulated/floor/plating, /area/endeavour/exploration/hallway_fore) "tsT" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -31 - }, -/obj/machinery/light/small, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/structure/table/glass, +/obj/item/inflatable_duck, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "tsU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -25418,15 +26552,24 @@ /turf/simulated/floor/wood, /area/lawoffice) "ttt" = ( -/obj/machinery/power/apc/north_mount, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable/green{ - icon_state = "0-8" - }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/pool) +"ttV" = ( +/obj/structure/table/rack, +/obj/item/toy/tennis/yellow, +/obj/item/toy/tennis/green, +/obj/item/toy/tennis/blue, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "ttX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -25445,6 +26588,12 @@ }, /turf/simulated/floor/wood, /area/lawoffice) +"tuq" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "tuw" = ( /obj/item/barrier_tape_roll/engineering, /obj/structure/table/reinforced, @@ -25506,9 +26655,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) "tve" = ( -/obj/structure/closet, -/obj/random/maintenance/clean, -/obj/random/cigarettes, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/random/maintenance, +/obj/structure/table/rack/shelf, /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) "tvn" = ( @@ -25525,6 +26676,21 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_fore) +"tvv" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "tvy" = ( /obj/machinery/atmospherics/component/unary/vent_pump/high_volume{ dir = 4; @@ -25552,17 +26718,22 @@ icon_state = "1-2" }, /obj/structure/table/wooden_reinforced, +/obj/item/material/ashtray/glass, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) "tvS" = ( -/obj/machinery/cryopod/robot/door/shuttle, -/obj/machinery/door/firedoor, -/turf/simulated/floor/tiled/techfloor/grid, -/area/endeavour/hallway/d1afthall) -"twe" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) +"twe" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ icon_state = "4-8" @@ -25637,18 +26808,37 @@ /turf/simulated/floor/plating, /area/maintenance/substation/command) "txV" = ( -/obj/structure/window/basic{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/structure/closet/athletic_mixed, -/turf/simulated/floor/holofloor/tiled/dark, -/area/crew_quarters/pool/changing_room) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "tyc" = ( /obj/item/paper_bin, /obj/structure/table/reinforced, /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway2) +"tyD" = ( +/obj/machinery/light/small, +/obj/structure/closet/crate, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "tzn" = ( /obj/machinery/shield_diffuser, /obj/map_helper/airlock/door/ext_door, @@ -25705,11 +26895,27 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1afthall) +"tBM" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/asmaint) "tBO" = ( /obj/structure/table/marble, /obj/item/flashlight/lamp/green, /turf/simulated/floor/wood, /area/bridge/office) +"tBZ" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/carpet/bcarpet, +/area/library) "tCb" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -25718,8 +26924,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) @@ -25756,9 +26961,6 @@ /area/library) "tCP" = ( /obj/machinery/light, -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 - }, /obj/structure/bed/chair{ dir = 1 }, @@ -25807,7 +27009,9 @@ /turf/simulated/floor/tiled, /area/rnd/test_area) "tDR" = ( -/obj/structure/loot_pile/maint/technical, +/obj/structure/railing{ + dir = 4 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d1aftmaint) "tFC" = ( @@ -25861,6 +27065,15 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1fwdhall) "tHm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/blueshield) "tHB" = ( @@ -25879,6 +27092,13 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) +"tHZ" = ( +/obj/structure/catwalk, +/obj/landmark{ + name = "maint_pred" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "tIH" = ( /obj/machinery/light{ dir = 4 @@ -25955,11 +27175,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) "tLv" = ( -/obj/structure/bed/chair/sofa/black/right{ +/obj/structure/bed/chair/sofa/black/left{ dir = 1 }, -/obj/machinery/light/small, -/turf/simulated/floor/carpet/purcarpet, +/turf/simulated/floor/carpet, /area/crew_quarters/coffee_shop) "tLz" = ( /obj/machinery/door/firedoor, @@ -25971,15 +27190,17 @@ /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "tLA" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/air_alarm{ + pixel_y = 22 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/navgold/border, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "tLX" = ( /obj/vehicle_old/train/engine{ dir = 8 @@ -26000,11 +27221,27 @@ /turf/simulated/shuttle/plating/airless/carry, /area/shuttle/civvie/general) "tMO" = ( -/obj/machinery/camera/network/civilian{ - dir = 9 +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/pool) +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) +"tNd" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "tNi" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -26124,13 +27361,14 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "tQt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/chapel/main) "tQu" = ( @@ -26170,6 +27408,9 @@ /obj/structure/cable/green{ icon_state = "1-4" }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, /turf/simulated/floor/plating, /area/maintenance/chapel) "tTD" = ( @@ -26184,7 +27425,7 @@ /obj/random/maintenance/security, /obj/structure/closet/crate, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/endeavour/hallway/d1fwdmaint) "tUS" = ( /obj/machinery/computer/communications, /obj/machinery/keycard_auth{ @@ -26249,7 +27490,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "tWE" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -26270,9 +27511,15 @@ /turf/simulated/floor/tiled, /area/maintenance/tool_storage) "tXS" = ( -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/pool/changing_room) +/obj/item/radio/intercom{ + pixel_y = -24 + }, +/obj/machinery/vending/coffee, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/library) "tYZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -26385,7 +27632,7 @@ dir = 2; id = "cap_office"; layer = 3.1; - name = "Colony Directo's Shutters" + name = "Colony Director's Shutters" }, /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/commandblue, @@ -26456,16 +27703,12 @@ /turf/simulated/wall/r_wall/prepainted, /area/maintenance/chapel) "uda" = ( -/obj/structure/window/basic{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/structure/closet/athletic_mixed, -/obj/machinery/light{ - dir = 4 +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green{ + icon_state = "0-8" }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/crew_quarters/pool/changing_room) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "udj" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -26564,14 +27807,11 @@ /turf/simulated/wall/r_wall/prepainted/command, /area/endeavour/hallway/d1fwdmaint) "ugs" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /obj/machinery/light/small, -/turf/simulated/floor/carpet/bcarpet, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/wood, /area/library) "ugI" = ( /obj/machinery/atmospherics/component/unary/heat_exchanger{ @@ -26688,6 +27928,10 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "ulm" = ( @@ -26754,26 +27998,16 @@ /turf/simulated/floor/wood, /area/exploration/meeting) "umU" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 5 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 5 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 4 - }, -/obj/effect/floor_decal/corner/navgold/bordercorner2{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 5 +/obj/structure/table/woodentable, +/obj/effect/floor_decal/spline/fancy/wood, +/obj/item/flame/candle/candelabra/everburn{ + pixel_y = 8 }, -/obj/effect/floor_decal/corner/navgold/bordercorner2{ - dir = 5 +/obj/machinery/light{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "uni" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26811,6 +28045,13 @@ }, /turf/simulated/floor/tiled, /area/gateway/prep_room) +"uoW" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "upy" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -27008,6 +28249,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/chapel/main) "uvD" = ( @@ -27025,14 +28267,14 @@ /area/vacant/vacant_bar) "uvU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 + dir = 5 }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "uvX" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -27048,6 +28290,12 @@ pixel_y = 16 }, /obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, /turf/simulated/floor/tiled, /area/exploration/showers) "uwu" = ( @@ -27085,31 +28333,16 @@ /turf/simulated/floor/tiled/old_tile/green, /area/shuttle/civvie/general) "uxl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/command{ - id_tag = "blueshielddoor"; - name = "Blueshield"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/head_office/blueshield, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/turf/simulated/wall/prepainted/command, +/area/endeavour/hallway/d1fwdmaint) "uxn" = ( /obj/machinery/light{ dir = 8 }, /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "uxM" = ( @@ -27146,11 +28379,15 @@ /turf/simulated/floor/plating, /area/maintenance/chapel) "uzz" = ( -/obj/structure/bed/chair/sofa/black/left{ +/obj/structure/bed/chair, +/obj/effect/floor_decal/spline/fancy/wood{ dir = 1 }, -/turf/simulated/floor/wood, -/area/maintenance/chapel) +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/tether/station/burial) "uzH" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -27212,7 +28449,8 @@ dir = 1 }, /obj/structure/disposalpipe/junction{ - dir = 8 + dir = 4; + icon_state = "pipe-j2" }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) @@ -27223,22 +28461,19 @@ /turf/simulated/floor/tiled/dark, /area/station/stairs_one) "uBN" = ( -/obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, -/obj/structure/cable/green{ - icon_state = "1-4" - }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "uBR" = ( /obj/structure/catwalk, /obj/structure/cable/green{ - icon_state = "1-4" + icon_state = "4-8" }, +/obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/chapel) "uCu" = ( /obj/effect/floor_decal/techfloor/orange{ dir = 9 @@ -27306,6 +28541,13 @@ /obj/structure/railing, /turf/simulated/floor/plating, /area/shuttle/courser/general) +"uGX" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "uHb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -27387,6 +28629,12 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"uKj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/carpet/blue, +/area/crew_quarters/heads/blueshield) "uKB" = ( /obj/machinery/light, /turf/simulated/floor/tiled/techfloor/grid, @@ -27414,11 +28662,14 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/heads/hop) -"uMJ" = ( -/obj/effect/floor_decal/rust, -/obj/effect/floor_decal/rust, +"uMH" = ( +/obj/structure/closet/emcloset, +/obj/random/maintenance, /turf/simulated/floor/plating, -/area/hallway/secondary/docking_hallway) +/area/endeavour/hallway/d1fwdmaint) +"uMJ" = ( +/turf/simulated/wall/prepainted, +/area/crew_quarters/pool) "uMM" = ( /obj/machinery/light/small{ dir = 8 @@ -27478,6 +28729,16 @@ }, /turf/simulated/floor/tiled, /area/exploration/pilot_prep) +"uOZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "uPj" = ( /obj/effect/floor_decal/spline/plain{ dir = 8 @@ -27488,6 +28749,10 @@ /obj/landmark/spawnpoint/job/mime, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/mimeoffice) +"uPG" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "uQm" = ( /obj/machinery/computer/cryopod{ name = "asset retention console"; @@ -27544,17 +28809,11 @@ /turf/simulated/wall/r_wall/prepainted/civilian, /area/shuttle/civvie/general) "uRN" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "uSH" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /turf/simulated/floor/wood, @@ -27570,7 +28829,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d1aftmaint) +/area/maintenance/asmaint) "uTr" = ( /turf/simulated/wall/prepainted, /area/endeavour/hallway/d1fwdmaint) @@ -27601,11 +28860,17 @@ /obj/machinery/air_alarm/north_mount, /turf/simulated/floor/wood, /area/exploration/meeting) +"uUe" = ( +/obj/structure/closet, +/obj/random/cigarettes, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1fwdmaint) "uUz" = ( -/obj/item/radio/intercom{ - pixel_y = -24 +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 }, -/turf/simulated/floor/carpet/bcarpet, +/turf/simulated/floor/wood, /area/library) "uUK" = ( /turf/simulated/floor/tiled/techfloor/grid, @@ -27637,8 +28902,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "uVf" = ( -/obj/machinery/vending/cola, -/turf/simulated/floor/carpet/bcarpet, +/obj/item/radio/intercom{ + pixel_y = -24 + }, +/turf/simulated/floor/wood, /area/library) "uVx" = ( /obj/machinery/camera/network/civilian{ @@ -27790,11 +29057,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "vaR" = ( -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = -37 - }, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, +/obj/effect/paint/palebottlegreen, +/turf/simulated/floor/plating, +/area/tether/station/burial) "vaT" = ( /obj/machinery/washing_machine, /obj/machinery/air_alarm{ @@ -27817,7 +29083,7 @@ "vca" = ( /obj/structure/closet/firecloset, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/maintenance/asmaint) "vce" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -27902,7 +29168,7 @@ /turf/simulated/floor/plating, /area/shuttle/courser/general) "vdF" = ( -/turf/simulated/wall/r_wall/prepainted/civilian, +/turf/simulated/wall/r_wall/prepainted, /area/station/stairs_one) "vdU" = ( /obj/structure/cable{ @@ -28010,6 +29276,13 @@ "vgA" = ( /turf/simulated/open, /area/endeavour/hallway/d1fwdhall) +"vhq" = ( +/obj/machinery/power/apc/south_mount, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "vhJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -28021,6 +29294,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/random/maintenance, /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) "viz" = ( @@ -28073,7 +29347,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "vkr" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -28162,13 +29436,14 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "vnQ" = ( -/obj/machinery/vending/snack, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d1afthall) "voy" = ( @@ -28184,14 +29459,13 @@ /turf/simulated/floor/tiled/dark, /area/teleporter) "voN" = ( -/obj/structure/bed/chair/comfy/brown{ +/obj/structure/closet/emcloset, +/obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/item/radio/intercom{ - pixel_y = -24 - }, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/holofloor/tiled/dark, +/area/endeavour/hallway/d1starboardhall) "voU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28210,6 +29484,17 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) +"vpk" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) +"vpD" = ( +/obj/machinery/light/small, +/turf/simulated/floor/carpet/bcarpet, +/area/library) "vpK" = ( /obj/machinery/light/small{ dir = 8 @@ -28278,6 +29563,15 @@ }, /turf/simulated/floor/tiled, /area/shuttle/excursion/general) +"vqN" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "vqV" = ( /obj/machinery/door/airlock/maintenance/rnd, /obj/map_helper/access_helper/airlock/station/exploration/department, @@ -28433,8 +29727,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -28481,6 +29774,21 @@ /obj/item/bedsheet/mimedouble, /turf/simulated/floor/wood, /area/crew_quarters/mimeoffice) +"vxW" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardamidhall) "vyI" = ( /obj/machinery/turnstile{ dir = 1 @@ -28518,21 +29826,14 @@ /obj/effect/floor_decal/corner/navgold/border{ dir = 9 }, -/obj/machinery/power/apc/west_mount{ - cell_type = /obj/item/cell/super - }, /obj/structure/cable/green{ icon_state = "0-4" }, /obj/machinery/light{ dir = 8 }, -/obj/item/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 26 - }, /obj/effect/floor_decal/steeldecal/steel_decals4, +/obj/machinery/power/apc/north_mount, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardforhall) "vBt" = ( @@ -28574,8 +29875,9 @@ /area/maintenance/substation/civilian) "vBK" = ( /obj/effect/floor_decal/rust, +/obj/structure/catwalk, /turf/simulated/floor/plating, -/area/station/stairs_one) +/area/endeavour/hallway/d1fwdmaint) "vBM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -28583,9 +29885,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, /obj/structure/cable/green{ icon_state = "1-8" }, @@ -28737,6 +30036,13 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/captain) +"vGt" = ( +/obj/structure/table/woodentable, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/library) "vGC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/cable/green{ @@ -28826,24 +30132,16 @@ /turf/simulated/floor/plating, /area/shuttle/courser/cockpit) "vJi" = ( -/obj/effect/floor_decal/borderfloorblack{ +/obj/effect/floor_decal/borderfloorblack/corner{ dir = 8 }, -/obj/effect/floor_decal/corner/navgold/border{ +/obj/effect/floor_decal/corner/navgold/bordercorner{ dir = 8 }, -/obj/item/radio/intercom{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "vJp" = ( /obj/structure/table/reinforced, /obj/fiftyspawner/rods, @@ -28911,6 +30209,10 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) +"vLi" = ( +/obj/machinery/fire_alarm/south_mount, +/turf/simulated/floor/carpet/bcarpet, +/area/chapel/main) "vLn" = ( /obj/effect/floor_decal/spline/fancy{ dir = 9 @@ -28969,6 +30271,21 @@ /obj/effect/floor_decal/sign/a, /turf/simulated/wall/r_wall/prepainted, /area/hallway/secondary/docking_hallway2) +"vQT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1starboardafthall) "vRe" = ( /obj/structure/table/reinforced, /obj/machinery/air_alarm/alarms_hidden{ @@ -29068,11 +30385,13 @@ /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_aft) "vVa" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/structure/table/steel, +/obj/item/deck/cards{ + pixel_y = 7; + pixel_x = 5 }, -/obj/machinery/light/small, +/obj/item/flame/candle, +/obj/item/storage/box/matches, /turf/simulated/floor/plating, /area/endeavour/hallway/d1aftmaint) "vVE" = ( @@ -29081,6 +30400,13 @@ }, /turf/simulated/floor/plating, /area/shuttle/courser/general) +"vVK" = ( +/obj/random/trash_pile, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "vVS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -29265,8 +30591,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -29274,6 +30599,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/steel, /area/hallway/secondary/docking_hallway) +"weR" = ( +/obj/structure/railing, +/obj/structure/closet/firecloset, +/obj/effect/floor_decal/industrial/outline/grey, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "wfp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29334,11 +30668,15 @@ /turf/simulated/floor/tiled, /area/maintenance/tool_storage) "wha" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 +/obj/item/radio/intercom/east_mount, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = -37 }, -/turf/simulated/floor/tiled/dark, -/area/chapel/main) +/obj/structure/bed/chair/sofa/brown/right{ + dir = 1 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/library) "whp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -29377,12 +30715,25 @@ "wjo" = ( /obj/structure/bed/chair/bay/comfy/black, /obj/landmark/spawnpoint/job/blueshield, -/obj/machinery/atmospherics/component/unary/vent_pump/on, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 + }, /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "1-4" }, /turf/simulated/floor/carpet/blue, /area/crew_quarters/heads/blueshield) +"wjE" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "wjN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29471,11 +30822,11 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardafthall) "wmU" = ( -/obj/machinery/power/breakerbox{ - RCon_tag = "MAIN - DECK 1 FORE" +/obj/machinery/power/breakerbox/activated{ + RCon_tag = "MAIN - DECK 1 AFT" }, /turf/simulated/floor/plating, -/area/maintenance/substation/command) +/area/maintenance/substation/civilian) "wne" = ( /obj/item/pen/crayon/mime, /obj/item/pen/crayon/marker/mime, @@ -29518,6 +30869,17 @@ "woe" = ( /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/heads/hop) +"won" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "woM" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, @@ -29597,6 +30959,9 @@ /obj/machinery/photocopier/faxmachine{ department = "Library Conference Room" }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, /turf/simulated/floor/wood, /area/library) "wrE" = ( @@ -29639,6 +31004,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/exploration/hallway_fore) +"wtu" = ( +/obj/machinery/fire_alarm/south_mount{ + pixel_y = -24 + }, +/turf/simulated/floor/wood, +/area/library) "wtI" = ( /obj/machinery/light{ dir = 4 @@ -29647,9 +31018,8 @@ /turf/simulated/floor/tiled/dark, /area/chapel/main) "wtM" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 }, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) @@ -29776,7 +31146,7 @@ "wxw" = ( /obj/structure/sign/deck/first, /turf/simulated/wall/prepainted, -/area/maintenance/asmaint) +/area/maintenance/library) "wxJ" = ( /obj/structure/table/borosilicate, /obj/structure/dancepole, @@ -29860,9 +31230,6 @@ /turf/simulated/floor/carpet/bcarpet, /area/library/study) "wyY" = ( -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = 27 - }, /obj/machinery/camera/network/civilian, /turf/simulated/floor/glass/reinforced, /area/endeavour/hallway/d1fwdhall) @@ -29915,17 +31282,24 @@ /obj/machinery/power/port_gen/pacman/mrs{ anchored = 1 }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "wAB" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 }, -/turf/simulated/floor/carpet/bcarpet, -/area/library) +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner2{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "wAI" = ( /obj/item/radio/intercom{ pixel_y = -24 @@ -30085,9 +31459,9 @@ /turf/simulated/floor/tiled, /area/shuttle/excursion/general) "wGj" = ( -/obj/machinery/door/airlock/maintenance/common, -/obj/machinery/door/firedoor/glass{ - dir = 8 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Chapel" }, /obj/structure/cable/green{ icon_state = "4-8" @@ -30259,6 +31633,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/gateway/prep_room) +"wQj" = ( +/obj/structure/bed/chair, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "wQI" = ( /obj/machinery/atmospherics/pipe/vent/high_volume, /turf/simulated/floor/airless/ceiling, @@ -30360,7 +31738,7 @@ /area/endeavour/hallway/d1fwdhall) "wUJ" = ( /turf/simulated/wall/prepainted/civilian, -/area/maintenance/chapel) +/area/maintenance/library) "wVs" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, /obj/spawner/window/low_wall/borosillicate/full, @@ -30387,11 +31765,18 @@ /turf/simulated/floor/tiled/dark, /area/hallway/secondary/docking_hallway2) "wWq" = ( -/turf/simulated/wall/prepainted/civilian, -/area/station/stairs_one) +/obj/machinery/light/small, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "wWR" = ( /obj/machinery/fire_alarm/north_mount, -/obj/machinery/disposal, /turf/simulated/floor/tiled, /area/endeavour/surfacebase/tram) "wWT" = ( @@ -30458,6 +31843,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) +"wZm" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "wZQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -30535,6 +31926,18 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portforhall) +"xec" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "xef" = ( /obj/machinery/camera/network/exploration{ dir = 4 @@ -30649,11 +32052,18 @@ /turf/simulated/floor/tiled/dark, /area/bridge/hallway) "xiw" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled, /area/hallway/secondary/docking_hallway) "xjh" = ( @@ -30673,12 +32083,17 @@ /obj/structure/sign/warning/caution, /turf/simulated/wall/r_wall/prepainted/science, /area/rnd/test_area) +"xkl" = ( +/obj/effect/floor_decal/rust, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "xkO" = ( -/obj/machinery/fire_alarm/west_mount{ - pixel_x = -28 +/obj/structure/railing{ + dir = 1 }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/blueshield) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "xln" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -30827,6 +32242,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment, +/obj/structure/catwalk, /turf/simulated/floor/tiled, /area/maintenance/substation/dock) "xri" = ( @@ -30835,6 +32251,18 @@ }, /turf/simulated/floor/lino, /area/chapel/office) +"xrp" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/library) "xrv" = ( /obj/effect/floor_decal/spline/plain{ dir = 1 @@ -30871,6 +32299,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1portamidhall) +"xsP" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/maintenance/library) "xtc" = ( /obj/structure/closet, /obj/item/clothing/under/suit_jacket/red, @@ -30911,7 +32343,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled/steel, +/turf/simulated/floor/carpet/bcarpet, /area/library) "xtP" = ( /obj/machinery/computer/communications, @@ -31027,9 +32459,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, +/obj/machinery/fire_alarm/west_mount, /turf/simulated/floor/wood, /area/crew_quarters/coffee_shop) "xwO" = ( @@ -31100,34 +32530,24 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/secondary/docking_hallway) +"xyy" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/chapel) "xyA" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 6 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 6 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 6 - }, -/obj/effect/floor_decal/corner/navgold/bordercorner2{ - dir = 6 - }, +/obj/structure/catwalk, /obj/structure/cable/green{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 + icon_state = "2-4" }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/turf/simulated/floor/plating, +/area/maintenance/chapel) "xyG" = ( -/obj/machinery/door/firedoor/glass, -/turf/simulated/wall/prepainted, -/area/hallway/secondary/docking_hallway) +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/dark, +/area/tether/station/burial) "xzk" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -31404,7 +32824,9 @@ /turf/simulated/floor/wood, /area/hydroponics/garden) "xJO" = ( -/obj/effect/shuttle_landmark/endeavour/deck4/excursion_space, +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 1, Starboard Side" + }, /turf/space/basic, /area/space) "xKz" = ( @@ -31425,17 +32847,20 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d1fwdmaint) "xKW" = ( -/obj/machinery/light{ - dir = 1 +/obj/machinery/door/airlock/civilian{ + name = "Pool Access" }, -/obj/effect/floor_decal/borderfloorblack{ +/obj/machinery/door/firedoor{ dir = 1 }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/docking_hallway) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/crew_quarters/pool/changing_room) "xLn" = ( /obj/machinery/door/airlock/command{ name = "Head of Personnel"; @@ -31464,6 +32889,22 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/exploration/excursion_dock) +"xMR" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 10 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner2{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d1starboardhall) "xNu" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/pool/changing_room) @@ -31495,6 +32936,9 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/chapel/main) "xPf" = ( @@ -31686,7 +33130,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d1starboardamidhall) +/area/endeavour/hallway/d1starboardhall) "xVw" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -31722,18 +33166,28 @@ pixel_x = 32 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = -35 }, /turf/simulated/floor/glass/reinforced, /area/endeavour/hallway/d1fwdhall) "xZn" = ( /turf/simulated/wall/r_wall/prepainted/science, /area/space) +"xZq" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool) "xZx" = ( /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -31780,7 +33234,7 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d1starboardamidhall) "ybg" = ( -/obj/machinery/power/breakerbox{ +/obj/machinery/power/breakerbox/activated{ RCon_tag = "MAIN - DECK 1 AMIDSHIPS" }, /turf/simulated/floor/plating, @@ -31900,11 +33354,11 @@ /turf/simulated/floor/plating, /area/shuttle/courser/general) "ydA" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, /obj/structure/table/standard, /obj/item/defib_kit/loaded, /obj/item/storage/firstaid/surgery, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/white, /area/exploration/medical) "ydG" = ( @@ -32046,8 +33500,15 @@ dir = 1 }, /obj/machinery/door/airlock/maintenance/common, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/plating, -/area/maintenance/chapel) +/area/maintenance/asmaint) +"ykh" = ( +/obj/machinery/air_alarm/south_mount, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/pool/changing_room) "ykT" = ( /obj/machinery/holopad, /turf/simulated/floor/wood, @@ -32066,6 +33527,14 @@ /obj/effect/floor_decal/corner/mauve/border, /turf/simulated/floor/tiled, /area/exploration/showers) +"ylt" = ( +/obj/effect/floor_decal/rust, +/obj/structure/table/woodentable, +/obj/item/tank/anesthetic, +/obj/item/clothing/mask/breath/anesthetic, +/obj/item/clothing/glasses/sunglasses/blindfold, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1aftmaint) "ylz" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -32073,9 +33542,6 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/obj/machinery/light{ - dir = 1 - }, /obj/machinery/computer/timeclock/premade/north, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -36640,13 +38106,13 @@ xRj xRj dkX aHh -aHh -aHh -aHh -aHh -aHh -aHh -euS +aVc +mxK +rKP +rKP +quA +iwR +bkR euS euS euS @@ -36835,10 +38301,10 @@ xRj ePJ aHh aGL -iwR -jag +mEg jag -quA +mEg +lNd saq bkR aIj @@ -37027,7 +38493,7 @@ xRj xRj xRj xRj -aHh +dXL lta mEg mEg @@ -37610,10 +39076,10 @@ xRj usG usY aHh -mxK +jwy mfS azC -rKP +azC sDP glY bkR @@ -40366,7 +41832,7 @@ rTZ rTZ rTZ rTZ -ozV +gjY cMJ nTt tAk @@ -40472,7 +41938,7 @@ xRj xRj xRj xRj -xRj +cag xRj xRj xRj @@ -40551,16 +42017,16 @@ sti sti sti sti -tvS -eFW +sti eFW pjL +pjL +pjL eFW cMJ rTZ rTZ -rTZ -ozV +gjY cMJ tAk tAk @@ -40744,17 +42210,17 @@ aNK sWz efK wim +wim sti apf agD -pgL agD -aqI +agD +eNz cMJ rTZ rTZ -rTZ -ozV +gjY cMJ tAk tAk @@ -40938,14 +42404,14 @@ jLe jLe jLe jLe +jLe fVV -apf -pgL pgL -pgL -eNz +agD +agD +agD +gWl cMJ -dIc ito ito foK @@ -41133,12 +42599,12 @@ sti sti sti sti +sti amu -pgL -pgL -pgL hxi -cMJ +hxi +hxi +dIc cMJ cMJ cMJ @@ -41326,14 +42792,14 @@ xvH clV sJO vsP +vsP dAK kKK kKK kKK -kKK xgP -aBC -vsP +kKK +cAG jGP jPz vsP @@ -41903,7 +43369,7 @@ jLe aEU aEU aEU -lDc +vdF iAO oiv fcG @@ -41923,21 +43389,21 @@ dZr dZr dZr dZr -fmb -fsR -gWh +aNK +tMO +aNK fhK fhK loX fhK fhK fhK -wBM -wBM -wBM -wBM -wBM -ijU +sti +sti +sti +sti +sti +sti apc eGS ijU @@ -42095,9 +43561,9 @@ jLe jLe jLe aEU +cuR iDg -iDg -lOm +fVP kHh wfp kHh @@ -42117,21 +43583,21 @@ bzz dKp xNI dZr -iqr +wim fsR -gWh +wim fhK tAw iAm skd oAD fhK -nct -nct -nct -cMf -nct -ijU +ylt +rVK +mNC +aNK +asp +sti wIX iGx gja @@ -42291,18 +43757,18 @@ jLe aEU iDg iDg -dnA +lOm ueA brQ xuO lOm iDg -iDg +dgz aEU dZr dZr xNI -xNI +sUJ xNI xNI xNI @@ -42311,21 +43777,21 @@ xNI xNI oiL dZr -fmb +wim fsR -gWh +wim fhK tAw kPw wge fhC fhK -nct -nct -nct -nct -syO -ijU +jrC +aXE +qqT +aNK +wim +sti qQG gEI tyc @@ -42489,7 +43955,7 @@ mMw cUW rAN gKk -vRx +coS wXu aEU aEU @@ -42497,7 +43963,7 @@ nCl dZr xao xNI -xNI +sUJ xNI tLX xNI @@ -42505,21 +43971,21 @@ xNI xNI dKp dZr -fmb +aLP fsR -gWh +wLB fhK sBI ebA tfD fhC fhK -nct -nct -nct -nct -ddG -ijU +aNK +aLP +ppi +aNK +wim +sti bfO gEI nMh @@ -42699,21 +44165,21 @@ xNI xNI dnc dZr -xKW +aLP fsR -gWh +wim fhK ejb xGU tfD ber fhK -nct -nct -nct -nct -nct -ijU +aLP +qZB +iBH +aNK +wLB +sti wyc gEI cUt @@ -42893,21 +44359,21 @@ mUN xNI vHP dZr -fmb +wim fsR -gWh +wim fhK eYG jvK tfD bVS fhK -nct -nct -nct -nct -nct -ijU +qZB +wim +iBH +aNK +aLP +sti wyc ePs kpN @@ -43062,7 +44528,7 @@ cCy jWs cqc vnQ -kHh +kpq mEO rkY lEq @@ -43087,21 +44553,21 @@ hvu cWc cWc cWc -skF +wim fsR -gWh +wim fhK awW mfn qBg dqb fhK -ppR -ppR -ppR -ppR -qQJ -ijU +mmH +iBH +qZB +aNK +wim +sti wyc hSU kvI @@ -43281,21 +44747,21 @@ sNR xuM rRP cWc -fmb +wim fsR -gWh +wim fhK jUN wHY hbF gxC fhK -ppR -uMJ -ppR -ppR -ppR -ijU +dUQ +wim +iBH +aNK +aLP +sti scr aVF joU @@ -43475,21 +44941,21 @@ saT xNI xNI cWc -qNt +wim fsR -gWh -fhK -fhK -fhK -fhK +wim fhK fhK fhK fhK fhK fhK -gOX -lhS +aNK +aNK +aNK +aNK +wim +aNK qfY vYM bnJ @@ -43671,19 +45137,19 @@ fre xrg nHB gBF -tLA -fhK -rGy -bci -bci -dmy -qXt -qXt -ivm -qXt -nFx -diR -lhS +wim +uGX +jLe +jLe +jLe +jLe +aYc +jLe +jLe +jLe +aYc +wim +aNK gEI vYM tVX @@ -43863,21 +45329,21 @@ dfU shj ftZ cWc -umU -uRN -xyA -fhK -pBk -vhJ -dPQ -dPQ -dPQ -dPQ -dPQ -dPQ -dPQ -lze -lhS +wim +bPE +wim +aNK +aLP +aLP +xkl +wim +wim +wim +wim +dNA +kcG +aLP +aNK kHM vYM kcJ @@ -44057,21 +45523,21 @@ cWc cjq cWc cWc -iFj -ibD -xyG -fhK -cfS -oyz -qTM -qTM -qTM -qTM -qTM -qTM -bci -rvc -lhS +wim +bPE +aLP +aNK +aNK +aNK +aNK +aNK +aNK +aNK +aNK +aNK +aNK +uGX +aNK etm wUf etm @@ -44249,22 +45715,22 @@ kdt dJa dJa jEM -xNu -gZb +xNI +dZr hrr -cRj -cSU -nAn -oKZ +uda +wim +aNK +rGy syY -qTM -qTM -qTM -qTM -qTM -qTM -bci -bci +syY +cyC +qXt +tsT +pOJ +qXt +nFx +diR lhS nui apg @@ -44439,26 +45905,26 @@ oHu xNI xNI xNI -xNI -xNI +sUJ +sUJ dnc xNI -xNu -cSZ -iRR -oWY +xNI +dZr +dZr +dZr hik -tXS -nUG -oyz -qTM -qTM -qTM -qTM -qTM -qTM -bci -bci +dZr +pBk +vhJ +dPQ +dPQ +dPQ +dPQ +dPQ +dPQ +dPQ +lze lhS iLv kHn @@ -44637,13 +46103,13 @@ dnc xNI xNI xNI -xNu -jsH -hik -hik -hik -krO -nUG +xNI +xNI +sUJ +xNI +xNI +dZr +cfS oyz qTM qTM @@ -44652,12 +46118,12 @@ qTM qTM qTM bci -wAI +rvc lhS suU jyC fnT -xSt +fZE wuD eQc fYz @@ -44805,9 +46271,9 @@ qTj qTj qTj gPV -wim +tHZ aNK -ojQ +qgb fnJ oxV piy @@ -44819,7 +46285,7 @@ hkm gkp uru piy -axR +fDY oHo riG dZr @@ -44830,19 +46296,19 @@ xNI xNI xNI xNI +sUJ xNI -xNu -uda -kJh -txV -kJh -krO -nUG +xNI +xNI +xNI +xNI +dZr +sFF oyz qTM qTM -fbG -qUr +qTM +qTM qTM qTM bci @@ -44999,7 +46465,7 @@ ipC wim wim gPV -wim +xec aNK pvA dkB @@ -45030,17 +46496,17 @@ dJe dJe dJe dJe -krO -bJN +dJe +sFF oyz qTM qTM -cvH -sfl +qTM +qTM qTM qTM bci -mve +bci lhS iEj iEj @@ -45168,9 +46634,9 @@ opm opm opm opm +opm gtI bxh -bxh iJn khD qfI @@ -45193,7 +46659,7 @@ ipC wim ibx sjt -wim +vqN aNK uqH dth @@ -45217,6 +46683,7 @@ vpK oAT eYV eYV +eYV rFT uvS hyL @@ -45224,22 +46691,21 @@ eYV ojm ilO dJe -krO -nUG +ovE oyz -dIw -dIw -xEQ -ciJ -dIw -dIw -bci +qTM +qTM +qTM +qTM +qTM +qTM bci -aNK -aLP +wAI +gOX +mqa +mqa +mqa mqa -wim -sti noW wBM wBM @@ -45362,10 +46828,10 @@ opm opm opm opm -ovE +opm +khe iyz -fDY -oBL +lbB mZn nPK tfh @@ -45387,7 +46853,7 @@ ipC wim gPV wim -wim +wWq aNK qXN dth @@ -45414,26 +46880,26 @@ eYV eYV eYV eYV +eYV kxa kQS xaQ dJe -krO -ndh +sFF oyz -dIw -dIw -dIw -dIw -dIw -dIw +qTM +qTM +fbG +qUr +qTM +qTM bci bci -aNK -aLP -wim -wim -wim +gOX +pBI +ttV +gOX +otM uTl cMf nct @@ -45580,8 +47046,8 @@ yfy vqV wim gPV +xkO wim -aLP aNK bRG pDa @@ -45606,28 +47072,28 @@ bxv geL geL geL +geL pxb khu wJJ xaQ wJJ dJe -krO nUG oyz -dIw -dIw -dIw -dIw -dIw -dIw -bci +qTM +qTM +cvH +sfl +qTM +qTM bci -aNK -aLP -wim -wim -wim +mve +gOX +lYt +otM +gOX +otM uTl nct syO @@ -45774,7 +47240,7 @@ nRP ipC wim gPV -wim +xkO wim aNK xdS @@ -45801,29 +47267,29 @@ pbT pxb esY geL +geL kxa xaQ wxJ xaQ dJe -krO -nUG +sFF oyz dIw dIw -dIw -dIw +xEQ +ciJ dIw dIw bci bci -dDB -jLe -jLe -jLe -jLe +gOX +gGN +otM +gOX +otM uTl -nct +jDK ddG wBM usG @@ -45968,7 +47434,7 @@ rVV rVV wim gPV -wim +xkO wim aNK ojQ @@ -45995,27 +47461,27 @@ geL geL geL geL +geL pbT wJJ xaQ xaQ dJe -krO ttt oyz +dIw +dIw +dIw +dIw +dIw +dIw bci bci -bci -bci -bci -bci -bci -bci -aNK -ckz -sSQ -gEQ -jLe +gOX +gOX +liT +gOX +otM uTl ovp kxn @@ -46162,7 +47628,7 @@ ozZ rVV wim gPV -wim +xkO wim aNK fFk @@ -46190,27 +47656,27 @@ pxb eYV eYV eYV +eYV kxa kxa dHt dJe -krO -pBk -aWP -dPQ -dPQ -dPQ -dPQ -dPQ -dPQ -dPQ -hrC -aNK -aLP -aLP -irX -uBR -qqr +sFF +oyz +dIw +dIw +dIw +dIw +dIw +dIw +bci +bci +gOX +ckz +ckz +otM +otM +uTl fHh xYB wBM @@ -46354,9 +47820,9 @@ ipN bBN pzJ rVV -wim +wqg gPV -wim +xkO wim aNK ojQ @@ -46368,7 +47834,7 @@ ciZ jLe jLe wim -wim +acQ wim aNK cHu @@ -46381,6 +47847,7 @@ xdJ xdJ fMv jNC +eYV jzT ufQ fnF @@ -46388,22 +47855,21 @@ eYV kJp kxa dJe -krO sFF +oyz +dIw +dIw +dIw +dIw +dIw +dIw bci bci -bci -tMO -bci -bci -bci -bci -sUx -aNK -aLP -aLP -wim -ehl +fuj +ckz +ckz +otM +otM uBN nuU oeU @@ -46557,7 +48023,7 @@ vEN mlQ qMB aNK -wim +acQ wim wim jLe @@ -46582,27 +48048,27 @@ dJe dJe dJe dJe -aNK -fVV -aNK -aNK -aNK -aNK -aNK -aNK -aNK -aNK -aNK -aNK -aNK -aNK -aNK -sti -wHj -aNK -sti -sti -sti +dJe +iRR +oyz +bci +bci +bci +bci +bci +bci +bci +bci +gOX +gOX +gOX +gOX +mqa +fuj +gOX +mqa +mqa +mqa xRj xRj xRj @@ -46744,7 +48210,7 @@ sgr rVV etS gPV -iMr +xkO wim aNK trx @@ -46764,39 +48230,39 @@ cVp uUX wxw gvJ -cZJ -vDU -otM +ivm +fLD +hfR mwP -otM +hfR +ivm +hfR +hfR +hfR +fLD +ivm +hfR +lmG +kjF +arx +xZq +dPQ +dPQ +dPQ +dPQ +dPQ +dPQ +pTh +gOX cZJ otM otM -otM -vDU -cZJ -otM -aLP -jLe -aLP -aLP -aLP -hfR -ibx -kov -kov -kov -kov -kov -kov -kov sSQ -kov -sjt -jLe -jLe -ciZ -sti +piW +piW +piW +irX +mqa xRj xRj xRj @@ -46938,8 +48404,8 @@ ozZ aka etS gPV -wim -wim +xkO +iMr ruI ojQ mlQ @@ -46957,40 +48423,40 @@ eNZ uNx lSg gbt -piW -piW -piW -piW +gEQ +gEQ +gEQ +gEQ hMP -piW -piW -piW -piW -piW -piW -piW -piW +gEQ +gEQ +gEQ +gEQ +gEQ +gEQ +gEQ +gEQ +gbt +dFa +nAj +cRj +bci +pOh +aBC +bci +bci +bci +uRN +gOX +cZJ +otM +sSQ +tBM +otM +otM +cZJ qUT -kov -kov -kov -kov -kov -sjt -wim -wim -wim -wim -wim -wim -jLe -jLe -jLe -wim -wim -wim -jLe -sti +mqa xRj xRj xRj @@ -47132,7 +48598,7 @@ ozZ aka etS gPV -wim +xkO wim aNK phl @@ -47164,27 +48630,27 @@ dsD dsD iHc dsD -dsD -dsD -oxc -oxc -oxc -oxc -oxc -oxc -oxc -oxc -oxc -oxc -oxc -oxc +uMJ +uMJ +skF +fDI +uMJ +uMJ +uMJ +uMJ +uMJ +uMJ +uMJ +gOX +gOX +gOX yjC -oxc -oxc -oxc -uze -pdu -ucD +gOX +gOX +gOX +otM +qUT +mqa xRj xRj xRj @@ -47326,7 +48792,7 @@ ozZ aka etS cpU -wim +xkO wLB aNK nuG @@ -47360,25 +48826,25 @@ eOl jBQ jBQ dsD -uze -uze -uze -lps -pdu -pdu -pdu -uze -oxc -uze -lps -uze -pdu -uze -uze -oxc -uze -pdu -ucD +jmI +jYC +nry +nry +nry +nry +nry +xNu +otM +otM +vDU +otM +qUT +otM +otM +gOX +otM +qUT +mqa nof xRj xRj @@ -47520,11 +48986,11 @@ rVV rVV etS cpU -wim +xkO wim aNK -aNK -vEN +idq +ojQ vHL bdJ pEr @@ -47552,27 +49018,27 @@ eOl eOl eOl eOl -eOl -iHc -pdu -pdu -pdu -pdu -pdu -uze -pdu -uze -oxc -uze -uze -pdu -pdu -uze -fAe -oxc -nZR -pdu -ucD +wtu +dsD +kom +oxL +aSH +oWY +oWY +oWY +ykh +xNu +otM +otM +otM +sSQ +tBM +otM +ssh +gOX +cZJ +qUT +mqa xRj xRj xRj @@ -47705,22 +49171,22 @@ wim wim kPR kPR -wim -wqg -wim -wim -aLP -wim +aNK +jVc +knH +ozD +rrt +bUQ wim vjS qzh -wim +xkO wim wim aNK bRG vHL -bdJ +bty pEr kgt pEr @@ -47732,7 +49198,7 @@ jod axR rgW arM -baf +saW pul xtc mew @@ -47748,25 +49214,25 @@ gVv lEF cHX dsD -uze -uze -uze -uze -uze -uze -pdu -pdu -yjC -pdu -pdu -pdu -uze -uze -uze -oxc -uze -pdu -ucD +bCN +jYC +oWY +oWY +oWY +oWY +oWY +oTa +sSQ +piW +piW +tBM +otM +otM +otM +gOX +otM +qUT +mqa usG fOo xRj @@ -47899,17 +49365,17 @@ vmX wim wim wim +aNK wim -wim -wim -wim -wim -wim +jLe +jLe +jLe +jLe wim gPV -wim -wim -wim +srV +tDR +tDR wim aNK fFk @@ -47926,7 +49392,7 @@ pEr cHu vEK iuy -saW +baf pul pul pul @@ -47939,28 +49405,28 @@ lEF cHX eOl gVv -sfX +kiD sLI dsD -oxc -oxc -oxc -oxc -oxc -oxc -yjC -oxc -oxc -oxc +iqr +gIz +tuq +nAn +nAn +aqI +nAn +xNu +qUT +gOX vca dIm -uze -nZR -nZR -oxc -uze -pdu -ucD +otM +cZJ +cZJ +gOX +hIQ +tBM +mqa usY usG xRj @@ -48092,19 +49558,19 @@ aGI kPR wim wim -wim -wim -wim -wim -wim ibx +won +kov +kov +kov +kmD kov kov sjt jLe jLe jLe -eca +nCd aNK phl vHL @@ -48114,13 +49580,13 @@ vDR hWC vRj hVP -aVW +wmU kPV lxO hnl aej iuy -saW +cdv dsD ikV jZL @@ -48128,33 +49594,33 @@ uMM ixM eeY iao -mJP -mJP +eOl +eOl eOl uSH ncX bIn fsN dsD -uze -uze -bPV -uze -uze -uze -pdu -uze -lps +xNu +xKW +xNu +xNu +xNu +xNu +xNu +xNu +cVz wqi wqi wqi uVB wqi wqi -oxc -ckq -pdu -ucD +gOX +mGW +sUx +mqa usG fOo xRj @@ -48286,16 +49752,16 @@ aGI qii wim wim -ibx -kov -kov -kov -kov -vVa +sOr +aNK +aNK +aNK +aNK +aNK +aNK aNK aNK aNK -wim wim jLe jLe @@ -48305,7 +49771,7 @@ vHL bdJ eOe djQ -lBc +aVW pEr mWe cGJ @@ -48318,37 +49784,37 @@ saW vLq eOl eOl -eOl +spU feB tCG rLV -jCV -jCV +fDJ +fDJ fDJ fDJ hPn -mJP +eOl uVf dsD -uze -uze +xMR +chY +txV +oxc +kME syE -uze -uze -uze -pdu -uze -uze -kxk +xyA +cTj +tMg +wqi hHd xZS fFJ eaB wqi -oxc -uze -pdu -ucD +ckz +otM +sUx +mqa xRj xRj xRj @@ -48483,13 +49949,13 @@ jLe gPV wim wqg -wim -wim -wim +akq +sYC +akq aNK ctt hVk -wim +aNK wim wim efK @@ -48507,30 +49973,30 @@ pEr pEr pEr jTT -cdv +iuy qLH -dsD +oRd kCA -lEF -sfX +mSo +iKm rRJ -sfX +vGt wrh -mJP -mJP -gVv +uUz +faq +jxO apK -nJA -cfh -ltO -dsD -uze -uze +cHX +eOl +eOl +vLq +qWP +leq +fdP +oxc uze syE -uze -uze -pdu +hAO uze uze wqi @@ -48539,10 +50005,10 @@ hHb fFJ qZu wqi -oxc -uze -pdu -ucD +otM +otM +sUx +mqa xRj xRj xRj @@ -48683,7 +50149,7 @@ wim aNK jeQ wim -wim +aNK wim wim wim @@ -48706,37 +50172,37 @@ mKR cWg rAs esl -esl +xrp vIH esl esl esl -wAB +esl tjy lEF -fDI -tsT -dsD +cHX +eOl +khr dsD -ckq -uze +tLA +jFd +pdz +oxc +nZR uze +hAO syE -uze -uze -pdu -uze -uze +nZR wqi lCw dUh iYx thX wqi -oxc -nZR -pdu -ucD +cZJ +otM +sUx +mqa xRj xRj xRj @@ -48870,14 +50336,14 @@ ayL gjG sjt wim -aLP -wim +jUA wim wim +jAh aNK -lIc wim wim +bag wim wim wim @@ -48900,25 +50366,25 @@ sxq xtJ twe cfh +kxk +cfh +cfh +cfh cfh cfh -uvU -jTs -jTs -rVX abZ kzG fOe uUz +kEM dsD +wAB +pvq +sIU +oxc uze uze -uze -uze -uze -uze -uze -pdu +hAO fAe kMv kMv @@ -48927,10 +50393,10 @@ kMv kMv qbM wqi -oxc -uze -pdu -ucD +ckz +otM +sUx +mqa nof xRj xRj @@ -49064,17 +50530,17 @@ ayL wim jLe wim +oFn wim -wim -wim -wim +exi +vVa aNK -dkm -nAm -wim -wim +lIc wim +aNK +wqg wim +wqg aNK sYx sXO @@ -49091,7 +50557,7 @@ pEr eTb rqe nXJ -oRd +dsD bSd bMt kNK @@ -49099,17 +50565,17 @@ aVu ugs dsD mJP -iKm +mJP fYP mJP mJP -jNp -dsD -uze +mJP +mJP +jQp smS -cTj -cTj -cTj +wZm +mTv +wjE cTj cTj tSE @@ -49121,10 +50587,10 @@ wne kMv xHd wqi -oxc -syE -pdu -ucD +otM +qjI +sUx +mqa xRj xRj xRj @@ -49258,18 +50724,18 @@ ayL wim jLe wim +akq wim wim +pDT +aNK +dkm +nAm +aNK wim -aFa -aFa -aFa -aFa -aFa -aFa -aFa -aFa -aFa +wim +wim +aNK ylz vHL aGw @@ -49290,7 +50756,7 @@ snc lLD rXg rxS -mJP +eOl rdf mJP mJP @@ -49298,12 +50764,12 @@ lCx esl esl esl -iEX -cTj -tMg -uze -uze -uze +esl +tBZ +hyg +leq +ncC +oxc uze uze hAO @@ -49315,10 +50781,10 @@ fzZ kMv kMv kMv -oxc -uze -pdu -ucD +otM +otM +sUx +mqa xRj xRj xRj @@ -49456,15 +50922,15 @@ aFa aFa aFa aFa -tgV -nSH -gpv aFa -kvQ -nSH -fLt -mYH -veS +aFa +aFa +aFa +aFa +aFa +aFa +aFa +mmC nYt sqc yfL @@ -49484,24 +50950,24 @@ jAq gIW rXg qFN -mJP +bJN iKG mJP -jNp +mJP +pKP dsD vvP tbS vvP dsD -uze -uze -uze -uze -syE -syE +qqo +leq +fdP +oxc +oxc uze hAO -uze +nZR kMv lVq fOT @@ -49509,10 +50975,10 @@ uPB kvR lgr kMv -oxc -nZR -pdu -ucD +cZJ +otM +sUx +mqa xRj xRj xRj @@ -49650,12 +51116,12 @@ nBm aFa jEi aFa -lMF +aFa piB cnv -aFa +tLv cpq -piB +cnv tLv mYH leE @@ -49667,32 +51133,32 @@ uGL ueo iKk ngf -vdU +vQT vdU nnH ojo voU lVS dsD -jDn -mJP +wCb +eOl kOz -jCV -bVE +fDJ +jkS +nCV mJP mJP -vaR +maY dsD mJP uau -mJP +vpD dsD -uze -uze -uze -uze -uze -syE +tvS +leq +fdP +hrC +oxc uze hAO uze @@ -49703,10 +51169,10 @@ bul kMv vxs kMv -oxc -uze -pdu -ucD +ckz +otM +sUx +mqa xRj xRj xRj @@ -49844,23 +51310,23 @@ gWe aFa eRb aFa -kYx -mMT +aFa +fLt mMT eyn +noo mMT -mMT -mMT +eyn mYH veS kAE wNy -dYN +lDc wXu mrv ngd nwU -eMO +qOo vdF wXu lJC @@ -49871,21 +51337,21 @@ dsD ucg vEj bsZ -mJP +eOl wvw -scN +jTs mJP -uUz +mJP +tXS dsD -kjF -jnZ +kJh bnw +jDn dsD -oxc -oxc -oxc -oxc -oxc +qWP +leq +fdP +voN oxc oxc lmy @@ -49897,10 +51363,10 @@ kMv kMv kMv kMv -oxc -uze -pdu -ucD +rlp +otM +sUx +mqa xRj xRj xRj @@ -50028,9 +51494,9 @@ bdl sti sti sti -wim -wim -wim +sgV +sWz +vVK wim jLe aFa @@ -50040,10 +51506,10 @@ mdn ahR xwz eaK -eaK -sJt lDo eaK +eaK +wtM rzS aFa oxw @@ -50062,39 +51528,39 @@ tsU iuy saW vLq -mJP -mJP -mJP -mJP -kOz +eOl +eOl +eOl +khE +lwV htT bVE mJP +qZX dsD -kjF oGx -voN +jnZ +wha dsD -uze qWP -nSy +leq fdP -vca -ucD -lps -hAO oxc -uze -nZR -syE -uze -nZR -uze +oxc lps -uze -uze -pdu -ucD +uBR +oxc +otM +cZJ +ckz +otM +cZJ +otM +vDU +otM +ckz +sUx +mqa usG fOo xRj @@ -50234,7 +51700,7 @@ anY aFa kLc lus -lus +nSH gCd dGT aDo @@ -50269,26 +51735,26 @@ dsD dsD dsD dsD -uze -uze -uze -uze -uze -ucD +dsD +pVF +gZb +tvv +oxc +qWa uze hAO jYV -pdu -pdu -pdu -pdu -pdu -pdu -pdu -pdu -pdu -pdu -ucD +sUx +sUx +sUx +sUx +sUx +sUx +sUx +sUx +sUx +sUx +mqa usY usG xRj @@ -50440,49 +51906,49 @@ eUP vdF wXu vdF -cuR +ngd wPz qOo qdt wXu -dYN +lDc xgB iuy -baf -wUJ -oxc -uze -uze -uze -uze +saW +gHB +lmG +hfR +hfR +hfR +hfR dsD vqK mJP dsD -wUJ -wUJ -uze -uze -uze -syE -uze -uze -uze -ucD +xsP +jsH +cZw +tdE +lmG +qWP +leq +fdP +oxc puK +rln tMg ucD -uze -syE -uze -ucD -ucD -ucD -ucD -ucD -ucD -ucD -ucD +otM +ckz +otM +mqa +mqa +mqa +mqa +mqa +mqa +mqa +mqa usG fOo xRj @@ -50626,14 +52092,14 @@ ifX cPp eaK gnc -rBZ +jNH dCX sTI kAE fef ukf ukf -ukf +blm nkN thT wus @@ -50642,33 +52108,33 @@ msQ msQ iNb iuy -saW +baf wUJ -uze -uze -uze +hfR +hfR +hfR lhd -uze +hfR dsD eaJ mJP -iHc -pdu -pdu -pdu -pdu -pdu -pdu -pdu -uze -uze -ucD -uze +esr +nJA +nJA +nJA +nJA +erZ +qWP +leq +fdP +oxc +eSM +syE pdu ucD -syE -uze -uze +eIq +otM +nzo sQl sQl sQl @@ -50818,15 +52284,15 @@ icA pzu ifX cPp -eaK -wtM -noo +kvQ +gnc +rBZ aFa veS kAE oDE uGL -uGL +eMO uGL quJ vYT @@ -50847,22 +52313,22 @@ dsD erf pkW dsD -oxc -lZv -oxc -oxc -oxc -oxc +lmG +lmG +lmG +lmG +lmG +qWP leq -oxc +fdP oxc oxc nZR pdu ucD -syE -syE -ucD +eqh +ckz +mqa sQl sQl xRj @@ -51013,7 +52479,7 @@ mwp ifX cPp eaK -eaK +gnc nPI aFa oEW @@ -51032,30 +52498,30 @@ uaP lLu hdn mWz -hjh -mWz +oAj +ppR vkl bIB -mWz +ppR mhW fkZ tQg lyH hjh -mWz +ppR eWl bIB qks llV -mWz +bha vJi kNi oxc uze pdu ucD -ucD -ucD +mqa +mqa sQl sQl sQl @@ -51197,17 +52663,17 @@ jLe wim wim jLe -wim -wim tDR -wim +tDR +tDR +abs aFa vtb flK ifX gmJ rbv -svI +gnc jKd mYH jie @@ -51226,24 +52692,24 @@ hYA uZh rCE qke -jXs -qke -qke -qke -qke -qke -qke +gZb +leq +leq +leq +leq +leq +leq aGG pql jXs -qke -qke -qke +leq +leq +leq pql aGG iUW sAT -lSz +ehl oxc ckq pdu @@ -51401,8 +52867,8 @@ wLm pcR loh dQJ -ljP -jKd +gnc +gpv mYH veS dkq @@ -51632,12 +53098,12 @@ fkm eKd fcu aBi -eKd +sDi uze pdu ucD xRj -xRj +qqr xRj xRj xRj @@ -51827,11 +53293,11 @@ xGd uni hWW sDi -uze -pdu -ucD -xRj +syE +qQJ +krO xRj +qqr xRj xRj xRj @@ -51974,13 +53440,13 @@ rzM obT hub wim -wim +sjD jLe wim fZy mkq qCb -jNH +fZy fZy fZy fZy @@ -52009,7 +53475,7 @@ mVc qzo qJO iRz -gRB +fmb kOk qQK dOW @@ -52019,13 +53485,13 @@ nfJ kOk kOG uni -hWW +vLi sDi nZR -pdu +qQJ ucD xRj -xRj +qqr xRj xRj xRj @@ -52167,8 +53633,8 @@ aIM aIM uwY hub -wim -wim +vpk +weR jLe wim fZy @@ -52216,10 +53682,10 @@ ueu oHy sDi uze -pdu +qQJ ucD -xRj -xRj +qqr +qqr xRj xRj xRj @@ -52373,7 +53839,7 @@ dMa dMa mEk fZy -mmC +nkQ kEh qcV vGD @@ -52413,7 +53879,7 @@ uze pdu ucD xRj -xRj +qqr xRj xRj xRj @@ -52555,8 +54021,8 @@ aIM hub hub hub -wim -wim +ahn +bdO kQd wim fZy @@ -52571,16 +54037,16 @@ enD tOv atm mYb -bjg -bjg -bjg -bjg +dor +dor +dor +dor hfQ eAL -bjg -bjg -bjg -bjg +dor +dor +dor +dor yaO oPk nqO @@ -52591,7 +54057,7 @@ vpO xri kBD iRz -gRB +fmb jcv bYy esm @@ -52603,11 +54069,11 @@ hWW hWW hWW sDi -uze +wQj pdu -ucD -xRj +krO xRj +qqr xRj xRj xRj @@ -52750,7 +54216,7 @@ hub ejN wim wim -wim +iIY kQd wim fZy @@ -52797,11 +54263,11 @@ dpE hWW bNN sDi -uze +xyy pdu ucD xRj -xRj +qqr xRj xRj xRj @@ -52941,7 +54407,7 @@ qTb bgn hub hub -wim +iMr aLP wim wim @@ -52991,11 +54457,11 @@ bHQ hWW hWW sDi -nZR +kvn pdu ucD -xRj -xRj +qqr +qqr xRj xRj xRj @@ -53135,11 +54601,11 @@ gWI kVc mSi hub -wim -wim -wim -wim -kQd +aNK +aNK +aNK +aNK +lTc aNK fZy fZy @@ -53163,7 +54629,7 @@ bLa sBk dmO nAf -jLq +vxW dwQ ibq eDy @@ -53189,7 +54655,7 @@ uze pdu ucD nof -xRj +qqr xRj xRj xRj @@ -53368,22 +54834,22 @@ erV aPj sDi mZV -gRB -wha +dNy iwC +gRB wtI -eJs +gRB aeg -iwC +gRB tDC jGM quB sDi uze pdu -ucD -xRj +krO xRj +qqr xRj xRj xRj @@ -53561,23 +55027,23 @@ sDi sDi sDi sDi -sDi +ibS wGj sDi +fkm sDi +fkm sDi +fkm sDi sDi sDi sDi -sDi -sDi -sDi -uze -pdu +syE +qQJ ucD xRj -xRj +qqr xRj xRj xRj @@ -53748,30 +55214,30 @@ nAf jLq jwq lSz -oxc -uze -uze -uze -uze -uze -uze -uze -uze -uze -lps -uze -uze -uze -uze -uze -nZR -uze -lps -nZR +hyQ +bFR +maa +nSV +nSV +eNY +umU +kjq +xyG +iEX +iEX +dOJ +iEX +iEX +iEX +gco +gEy pdu +lps +kvn +qQJ ucD usG -fOo +rXt xRj xRj xRj @@ -53911,8 +55377,8 @@ fuE ssZ aIM hub -maa -maa +jkE +bbQ byt maa sIg @@ -53942,24 +55408,24 @@ nAf jLq sCh uXz -oxc -uze -nZR -uze -uze -uze -uze -uze -uze -pdu -pdu -pdu -pdu -pdu -pdu -pdu -pdu -pdu +uTr +maa +maa +maa +nSV +eNY +lvV +kjq +kjq +kjq +kjq +kjq +kjq +kjq +kjq +iFj +eNY +qQJ pdu pdu pdu @@ -54140,21 +55606,21 @@ jEB sGq sGq sGq -sGq -sGq -sGq -sGq -sGq +uvU +eNY +dmy +thM +bPV nBz -oxc +bPV thM -oxc -oxc -oxc -oxc -oxc -ucD -ucD +bPV +aWP +kjq +vhq +eNY +syE +uze ucD ucD ucD @@ -54299,7 +55765,7 @@ gXr tlK wSU oYa -maa +bbQ maa byt maa @@ -54330,25 +55796,25 @@ nAf gJc sCh cSo -oxc -oxc -oxc -oxc -oxc -oxc -yjC -oxc -oxc -lmG -oxc -uze -uze -uze +uTr +uTr +uTr +maa +uOZ eNY eNY eNY -ucD -ucD +eNY +eNY +eNY +eNY +eNY +eNY +rVX +kjq +eNY +eNY +ndh ucD ucD xRj @@ -54524,25 +55990,25 @@ gAA jFy fVc hYM -oxc -uze -uze -uze -uze -uze -uze -uze -uze -lmG -oxc -fLD -uze -uze -uzz -kjq +uTr +qZT +maa +maa +cTq +cSU +cSU +cSU +cSU +uvU +maa +tme eNY +oKZ +fge +kjq +uzz cOc -xRj +vaR xRj xRj jNg @@ -54691,7 +56157,7 @@ maa byt byt byt -maa +aUq cEb vWs sbD @@ -54718,25 +56184,25 @@ ixz uZh sCh ptG -rCH -rCH -rCH -rCH -rCH -rCH -rCH -rCH -uze -lmG -oxc -oxc -oxc -eUo -kiD -jkS +uTr +bFR +maa +maa +maa +maa +maa +bFR +maa +oNa +nSV +maa eNY +eUo +fge +kjq +gWh cOc -xRj +vaR xRj xRj jNg @@ -54913,24 +56379,24 @@ sEj kos nkw rCH -xch -dRe -aNE -mPJ -fkF -wwB rCH -eza -lmG -oxc -ckq -uze -uze -fge -cLM +rCH +rCH +rCH +rCH +rCH +rCH +lKv +oNa +maa +maa eNY +oKZ +fge +kjq +gWh cOc -xRj +vaR xRj xRj jNg @@ -55075,11 +56541,11 @@ wPl gOL oqw oYa -maa +aUq byt kfn maa -dNZ +tyD cEb bsl eLu @@ -55106,25 +56572,25 @@ nAf jLq mho hTf -oeW -mGw -tsX -aHc -ebJ -khl -myg rCH -uze -lmG -oxc -eza -uze -uze +xch +dRe +aNE +mPJ +fkF +wwB +rCH +maa +oNa +maa +maa eNY eNY -cOc -cOc -xRj +jNp +kjq +qcD +uoW +vaR xRj xRj jNg @@ -55301,24 +56767,24 @@ jLq owF mjz oeW -iVV +mGw tsX -rci -cYG -ftM -sQe +aHc +ebJ +khl +myg rCH -uze -lmG +maa +jCV jpl -pdu -pdu -pdu -eNY -cOc -cOc -jNg -xRj +ibD +ibD +cnZ +eJs +kjq +kjq +kjq +vaR xRj xRj jNg @@ -55410,7 +56876,7 @@ xRj xRj xRj jNg -jNg +tlw jNg jNg jNg @@ -55463,7 +56929,7 @@ jnB arP qeV oYa -maa +aUq byt maa maa @@ -55492,30 +56958,30 @@ bNR cTV nAf jLq -ubW -cxt +cSZ +cLM oeW -noZ -tsX -tsX +iVV tsX -kEB -oIm +rci +cYG +ftM +sQe rCH -uze -lmG -oxc +maa +oNa +uTr eRi tUt -uze -ucD -pOh +eNY +dkl +kjq +qNt +kjq +vaR xRj jNg jNg -jNg -jNg -jNg xRj xRj xRj @@ -55657,11 +57123,11 @@ kTQ kTQ tCc oYa -maa -byt -maa -maa -maa +uTr +tNd +uTr +uTr +uTr cEb cEb cEb @@ -55686,28 +57152,28 @@ hEF ctY nAf jLq -fvo -qrz -rXv -iXB -wSw -wSw -rFk -lHa -ehT +ubW +cxt +oeW +noZ +tsX +tsX +tsX +kEB +oIm rCH -oxc +uTr sEV -oxc -oxc -oxc -oxc -ucD -ris -jNg -jNg -jNg -jNg +ogT +ogT +ogT +eNY +bwa +ggi +eNY +csD +lZv +nSy jNg jNg xRj @@ -55853,7 +57319,7 @@ keD oYa maa byt -maa +bFR kfn maa dIE @@ -55880,27 +57346,27 @@ pgF opC nAf jLq -rCE -ofq -oeW -vuK -tsX -tsX -tsX -kEB -msB +fvo +qrz +rXv +iXB +wSw +wSw +rFk +lHa +ehT rCH maa oNa maa qZT maa -maa -ris -ris -dYk -jNg -jNg +ndh +ndh +ndh +ndh +ndh +ndh jNg jNg jNg @@ -56049,7 +57515,7 @@ maa byt maa maa -maa +aUq dIE ubG pGO @@ -56075,27 +57541,27 @@ wZQ nAf jLq xHM -lSz +ofq oeW -tui +vuK tsX -maZ -lNo -xpQ -dHq +tsX +tsX +kEB +msB rCH maa gTk vKb -kZn maa +kZn ris ris ris -xRj -xRj -xRj -xRj +jNg +jNg +jvg +jNg xRj xRj xRj @@ -56245,7 +57711,7 @@ maa maa maa dIE -pGO +mWh job job job @@ -56271,18 +57737,18 @@ jLq qkG lSz oeW -luN +tui tsX -aHc -emV -mRT -nbm +maZ +lNo +xpQ +dHq rCH teS abN xAC maa -maa +rcs ris ris ris @@ -56436,7 +57902,7 @@ unB maa byt kfn -maa +aUq maa dIE pGO @@ -56444,7 +57910,7 @@ job job iQS iQS -rln +iQS dIE cEb hYO @@ -56464,13 +57930,13 @@ nAf jLq xHM aEk -rCH -xxb -byr -hdt -qzG -tnA -mnd +oeW +luN +tsX +aHc +emV +mRT +nbm rCH maa abN @@ -56644,32 +58110,32 @@ cEb sQg gBE acA -uTr -uTr -uTr -uTr -uTr -uTr -uTr -uTr -uTr -uTr -uTr +ogT +ogT +ogT +ogT +ogT +ogT +ogT +ogT +ogT +ogT +ogT ubV xSm aoR -huP -rCH -rCH -rCH -rCH -rCH rCH +xxb +byr +hdt +qzG +tnA +mnd rCH maa abN xAC -maa +cER ris sQl xRj @@ -56822,17 +58288,17 @@ oYa unB unB maa -maa +bFR byt maa maa dIE -pGO +ltO job job iQS iQS -esr +kim vdw cEb hAP @@ -56852,14 +58318,14 @@ uTr gJc rCE ykX -uTr -maa -maa -maa -liT -maa -maa -maa +huP +rCH +rCH +rCH +rCH +rCH +rCH +rCH maa abN xAC @@ -57048,10 +58514,10 @@ rCE lSz uTr maa +bFR maa -maa -maa -maa +qZT +bFR byt byt byt @@ -57100,7 +58566,7 @@ xRj xRj xRj xRj -xRj +xJO xRj xRj xRj @@ -57236,7 +58702,7 @@ tjQ oiK uTr uTr -apW +hyQ eez rCE lSz @@ -57605,10 +59071,10 @@ byt byt kfn maa -maa +nFc byt byt -maa +jkE kfn uTr hYO @@ -57629,11 +59095,11 @@ xeT cxE cVc uTr -pQQ -maa +uPG maa maa maa +bFR fta maa uTr @@ -57795,7 +59261,7 @@ sIg byt maa uTr -maa +hPx byt byt byt @@ -57823,7 +59289,7 @@ hYj fmw xpv uTr -maa +pQQ maa kfn kZn @@ -58021,7 +59487,7 @@ uTr uTr uTr uTr -maa +cER fta maa uTr @@ -58179,7 +59645,7 @@ xRj ePJ ris ris -teS +kGL byt qZT maa @@ -58397,7 +59863,7 @@ lmB oVe lCd ghn -meH +lBc aLV uhY jux @@ -58411,7 +59877,7 @@ lAI uTr maa fta -maa +bFR uTr aMl aMl @@ -58588,7 +60054,7 @@ uwI aLV oZB cdx -wmU +meH aLV pIq uWI @@ -58993,7 +60459,7 @@ aMl uTr maa fta -maa +bFR ris qtn xrv @@ -59151,7 +60617,7 @@ xRj xRj xRj ris -maa +kdX byt oVo maa @@ -59382,7 +60848,7 @@ uTr maa fta maa -maa +igb ris xrv nio @@ -59555,28 +61021,28 @@ snQ eCz nYu uJC -uTr +hyQ ssc eFE uTr dMB uTr rgG -uTr +hyQ gQH kDV uXy uTr maa +bFR +oCl maa -maa -maa -maa +bFR qZT maa fta maa -sIg +uMH ris suQ kwn @@ -59737,7 +61203,7 @@ maa byt byt fvr -maa +kdX maa eFG rXC @@ -59932,7 +61398,7 @@ ris iLP tKM kfn -maa +kdX hMD wgE okH @@ -59960,7 +61426,7 @@ maa maa maa kfn -maa +hPx maa fta uTr @@ -60149,12 +61615,12 @@ oWx bAu itm uTr -iLP -tlI -tlI +blV tlI +tve +tve pod -maa +cER maa fta uTr @@ -60343,15 +61809,15 @@ oxe gaI aJX uTr +bFR maa -maa -maa +hPx maa wSl tHJ tHJ ivO -iqq +uKO byt byt ris @@ -60520,7 +61986,7 @@ qJU qJU qJU byt -maa +kdX uTr rAx vHL @@ -60538,12 +62004,12 @@ fcc vsG uTr maa -kZn -kfn -maa +qPJ +qfR +hPx fta maa -maa +kZn sIg uTr maa @@ -60729,7 +62195,7 @@ tuO uJk oWx tvd -xpv +sJt uTr uTr uTr @@ -60930,9 +62396,9 @@ bFR maa maa fta -maa +iYH qZT -kfn +kEl maa maa byt @@ -61296,7 +62762,7 @@ emW aek qJU byt -maa +kdX pQQ uTr mJc @@ -61507,7 +62973,7 @@ mHc wVF uTr pQQ -maa +qZT maa byt uTr @@ -61683,14 +63149,14 @@ qJU wOH djr qJU -byt +jtp uTr uTr uTr xGj cDX pQg -lUh +fQg lUh tuO qyL @@ -61700,7 +63166,7 @@ uJk oWx kta uTr -maa +kdX kfn maa byt @@ -61886,7 +63352,7 @@ xwO pQg lUh lUh -lUh +dnA lUh lUh lUh @@ -62285,7 +63751,7 @@ uTr byt byt kfn -maa +kdX uTr uYH hGU @@ -62466,8 +63932,8 @@ uTr uTr aEU aEU -aEU vRx +eex vmD qcd jlB @@ -62656,8 +64122,8 @@ blR byt byt byt -maa -maa +byt +byt aEU iDg iDg @@ -62671,7 +64137,7 @@ iDg aEU maa byt -fvr +byt byt cYi hrs @@ -62851,8 +64317,8 @@ jYs jYs jYs jYs -jYs -iBH +byt +aEU iDg iDg llA @@ -62863,8 +64329,8 @@ uBH iDg iDg aEU -maa -maa +kdX +byt maa maa cYi @@ -63044,21 +64510,21 @@ jYs dXG eSO jWo -kEl -xkO -iBH +jYs +byt +aEU aEU aEU aEU eDl uhG eDl -vRx aEU +vRx aEU aEU teS -kfn +vBK maa kfn cYi @@ -63238,23 +64704,23 @@ jYs ldn wjo cIw -kME -nFc -iBH -srV +jYs +byt +byt +byt vBK -aEU +kat wyY uhG eDl fND -srV -srV -aEU -maa -sIg -maa -maa +byt +byt +byt +byt +byt +uUe +uMH cYi cYi cYi @@ -63431,22 +64897,22 @@ wOi jYs rdn tHm -tHm -exi +uKj +jYs kdX -iBH -srV -srV -aEU +byt +maa +maa +uTr hBB uhG xYV -wWq -srV -vBK -aEU -tve -ugo +uTr +maa +kfn +maa +maa +maa ugo ugo cYi @@ -63623,22 +65089,22 @@ iif bak dAp jYs -jYs -ctB -ctB +jDd +rOy ctB +jYs +uxl +uxl +uxl +uxl uxl -iBH -iBH -iBH -iBH oOB mzp gJD -iBH -iBH -iBH -iBH +blR +blR +blR +blR blR iif iif @@ -63817,11 +65283,11 @@ gDf tIO fIr gDf -wDH -mBp +dSe +fKd nnp eiM -dSe +mBp sRV jJL hcK @@ -64012,7 +65478,7 @@ wyg ieh uaF kqq -ieh +jjy rJn wbz lWb diff --git a/maps/endeavour/levels/deck2.dmm b/maps/endeavour/levels/deck2.dmm index e718bceaa4d9..9e0b1a5665a0 100644 --- a/maps/endeavour/levels/deck2.dmm +++ b/maps/endeavour/levels/deck2.dmm @@ -12,6 +12,15 @@ /obj/structure/lattice, /turf/simulated/floor/airless/ceiling, /area/tether/station/public_meeting_room) +"aaL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/hallway/station/docks) "aaU" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -21,6 +30,14 @@ "abm" = ( /turf/simulated/wall/prepainted/medical, /area/medical/medbay3) +"abv" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "abL" = ( /obj/machinery/door/window/brigdoor/northright{ name = "Containment Pen"; @@ -59,8 +76,7 @@ dir = 1 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/wood, /area/medical/medbay4) @@ -129,7 +145,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2fwdmaint) +/area/endeavour/hallway/d2portforhall) "aeS" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -173,6 +189,10 @@ /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) +"agb" = ( +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/medical/virologymaint) "agL" = ( /obj/effect/floor_decal/techfloor/orange, /obj/machinery/atmospherics/component/unary/vent_pump/on, @@ -290,6 +310,16 @@ }, /turf/simulated/floor/tiled/techfloor, /area/rnd/robotics/morgue) +"ajX" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2portamidhall) "ako" = ( /turf/simulated/floor/tiled/white, /area/holodeck_control) @@ -502,6 +532,12 @@ }, /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) +"ara" = ( +/obj/structure/table/rack, +/obj/random/maintenance/engineering, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "arr" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -566,6 +602,10 @@ }, /turf/simulated/floor/tiled/techfloor, /area/assembly/robotics) +"asd" = ( +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "asv" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ @@ -603,6 +643,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"auj" = ( +/obj/machinery/fire_alarm/east_mount, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "auq" = ( /obj/machinery/door/firedoor/glass{ dir = 4 @@ -647,6 +691,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "avE" = ( @@ -702,12 +747,19 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay3) "axp" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 4 + }, +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "axP" = ( @@ -716,6 +768,23 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"axW" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) +"ayi" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/research/xenobio) +"ayx" = ( +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "ayB" = ( /obj/structure/shuttle/engine/heater{ dir = 8 @@ -811,8 +880,7 @@ /area/medical/psych_ward) "aBx" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/catwalk, /turf/simulated/floor/plating, @@ -858,6 +926,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "aDx" = ( @@ -884,6 +953,12 @@ }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"aEp" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/endeavour/hallway/d2portafthall) "aEO" = ( /obj/machinery/door/window/brigdoor/northright{ name = "Containment Pen"; @@ -919,6 +994,21 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/dark, /area/rnd/research/testingrange) +"aFn" = ( +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "aFv" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -1102,8 +1192,7 @@ /area/endeavour/hallway/d1starboardafthall) "aKy" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) @@ -1244,8 +1333,7 @@ }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/patient_d) @@ -1282,14 +1370,18 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"aQK" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/research) "aRl" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "cmo_office" }, -/obj/machinery/door/firedoor{ - dir = 1 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/crew_quarters/heads/cmo) "aSs" = ( @@ -1331,9 +1423,11 @@ /area/rnd/workshop) "aUs" = ( /obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, -/obj/map_helper/electrochromatic_linker{ - id = "research-outer" +/obj/machinery/door/blast/shutters{ + id = "rndshutters"; + name = "Research Shutters" }, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/rnd/reception_desk) "aUR" = ( @@ -1364,6 +1458,9 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) "aVO" = ( @@ -1371,6 +1468,12 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/rnd/breakroom) +"aWj" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "aWr" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -1381,23 +1484,25 @@ /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) "aXe" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/map_helper/access_helper/airlock/station/science/research_lab, +/obj/machinery/door/airlock/research{ + name = "Research Lab" }, -/obj/machinery/computer/timeclock/premade/north, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/area/rnd/reception_desk) "aXm" = ( /obj/fiftyspawner/glass, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) +"aXp" = ( +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) "aXF" = ( @@ -1416,9 +1521,6 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) "aYU" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -1426,6 +1528,15 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "aYX" = ( @@ -1436,8 +1547,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d2afthall) @@ -1494,6 +1604,10 @@ /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/dark, /area/tether/station/public_meeting_room) +"baG" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "baT" = ( /obj/machinery/light{ dir = 4 @@ -1585,6 +1699,7 @@ dir = 8; icon_state = "pipe-c" }, +/obj/machinery/air_alarm/east_mount, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) "bfx" = ( @@ -1706,7 +1821,7 @@ "biu" = ( /obj/structure/sign/deck/second, /turf/simulated/wall/r_wall/prepainted, -/area/endeavour/hallway/d2fwdmaint) +/area/exploration/pilot_Office) "bix" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -1877,10 +1992,13 @@ /obj/machinery/seed_storage/xenobotany, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) +"blQ" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "bmb" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -1910,7 +2028,7 @@ /obj/structure/catwalk, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "bnr" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -1947,6 +2065,10 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology) +"bpx" = ( +/obj/structure/closet/crate/trashcart, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "bpS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -1962,6 +2084,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"bqq" = ( +/obj/structure/closet, +/obj/random/maintenance/cargo, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "bqS" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -2012,6 +2140,7 @@ "btU" = ( /obj/machinery/door/firedoor, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/shuttle/emt/general) "buE" = ( @@ -2048,6 +2177,11 @@ /obj/machinery/iv_drip, /turf/simulated/floor/tiled, /area/medical/surgery2) +"bwN" = ( +/obj/structure/catwalk, +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "bxp" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -2060,6 +2194,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"bxy" = ( +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/medical/medbay_primary_storage) "bxz" = ( /turf/simulated/wall/r_wall/prepainted/science, /area/rnd/testingroom) @@ -2107,7 +2248,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/junction{ + dir = 1; + icon_state = "pipe-j2" + }, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) "bzR" = ( @@ -2126,8 +2270,7 @@ /area/holodeck_control) "bzV" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/carpet/purcarpet, /area/rnd/breakroom) @@ -2137,7 +2280,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/lower) "bAd" = ( /obj/structure/table/standard, /obj/item/flashlight/lamp, @@ -2152,7 +2295,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "bAI" = ( /obj/effect/floor_decal/corner/paleblue, /obj/effect/floor_decal/corner/paleblue/border{ @@ -2242,6 +2385,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/rnd/workshop) "bCK" = ( @@ -2365,14 +2511,11 @@ /area/medical/patient_wing) "bFe" = ( /obj/machinery/light, -/obj/effect/floor_decal/borderfloorblack{ - dir = 6 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 6 - }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, /obj/effect/floor_decal/borderfloorblack/corner2, /obj/effect/floor_decal/corner/navgold/bordercorner2, +/obj/machinery/computer/timeclock/premade/south, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) "bFy" = ( @@ -2442,6 +2585,9 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/medical/oncall_room) +"bGv" = ( +/turf/simulated/wall/prepainted/medical, +/area/medical/surgeryobs) "bGx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2484,9 +2630,17 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) "bHu" = ( -/obj/effect/shuttle_landmark/endeavour/deck3/port, -/turf/space, -/area/space) +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/medical/medbay3) "bHz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 @@ -2532,7 +2686,7 @@ }, /obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2aftmaint) +/area/endeavour/hallway/d2portamidhall) "bIw" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 @@ -2631,6 +2785,22 @@ }, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) +"bKt" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 9 + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) +"bKz" = ( +/obj/structure/table/rack/shelf/steel, +/obj/random/maintenance/engineering, +/obj/random/maintenance/clean, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "bKE" = ( /obj/machinery/light{ dir = 1 @@ -2687,6 +2857,9 @@ }, /turf/simulated/floor/tiled/white, /area/medical/reception) +"bMp" = ( +/turf/simulated/floor/plating, +/area/maintenance/research/xenobio) "bMV" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/machinery/camera/network/medbay{ @@ -2727,20 +2900,35 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/structure/sign/department/robo{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "bNQ" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) +"bNY" = ( +/obj/machinery/air_alarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/table/rack, +/obj/random/maintenance/clean, +/turf/simulated/floor, +/area/maintenance/research/port) "bOa" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/mauve/border, @@ -2774,7 +2962,7 @@ "bPx" = ( /obj/structure/bed/chair, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "bPE" = ( /obj/structure/closet/hydrant{ pixel_y = 32 @@ -3029,6 +3217,12 @@ /obj/machinery/light, /turf/simulated/floor/tiled, /area/rnd/hallway) +"bXB" = ( +/obj/structure/frame{ + anchored = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/research/port) "bXJ" = ( /obj/machinery/vending/cola, /obj/effect/floor_decal/corner/beige{ @@ -3230,6 +3424,24 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"caA" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1starboardamidhall) "cbh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3259,13 +3471,11 @@ /turf/simulated/floor/tiled/techfloor, /area/rnd/robotics/morgue) "ccB" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "or1" }, -/obj/machinery/door/firedoor{ - dir = 1 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/surgeryprep) "ccN" = ( @@ -3288,10 +3498,8 @@ /turf/simulated/floor/tiled, /area/maintenance/research) "cda" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled, +/obj/structure/catwalk, +/turf/simulated/floor/plating, /area/rnd/research/researchdivision) "cdg" = ( /obj/machinery/air_alarm{ @@ -3423,12 +3631,15 @@ /turf/simulated/wall/prepainted, /area/maintenance/substation/medical) "chF" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "chQ" = ( @@ -3445,6 +3656,20 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"ciU" = ( +/obj/machinery/door/firedoor/glass{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Virology Labs"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/medical/department, +/turf/simulated/floor/tiled/white, +/area/hallway/station/docks) "ciZ" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central7, /obj/structure/cable/orange{ @@ -3456,9 +3681,9 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "cja" = ( -/obj/structure/sign/department/sci, -/turf/simulated/wall/prepainted/science, -/area/rnd/research/researchdivision) +/obj/machinery/computer/timeclock/premade/north, +/turf/simulated/floor/tiled/dark, +/area/endeavour/hallway/d2portafthall) "cje" = ( /obj/effect/floor_decal/borderfloorblack, /turf/simulated/floor/tiled/dark, @@ -3479,6 +3704,19 @@ }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"cjl" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/random/maintenance/medical, +/obj/random/maintenance/security, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) +"cjm" = ( +/obj/structure/bed/chair/comfy/blue, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "cjM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3571,8 +3809,7 @@ /area/rnd/storage) "cmn" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/computer/timeclock/premade/north, /obj/effect/floor_decal/borderfloorblack{ @@ -3800,6 +4037,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) +"css" = ( +/obj/structure/closet, +/obj/random/maintenance/security, +/obj/random/maintenance/medical, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "csx" = ( /obj/item/storage/excavation, /obj/item/pickaxe, @@ -3817,8 +4060,7 @@ }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/patient_b) @@ -3940,6 +4182,9 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 9 }, +/obj/structure/sign/department/morgue{ + pixel_y = -30 + }, /turf/simulated/floor/tiled/white, /area/medical/medbay3) "cwT" = ( @@ -3969,6 +4214,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) +"cxF" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "cxJ" = ( /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) @@ -3981,8 +4232,7 @@ }, /obj/structure/bed/chair, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) @@ -4097,9 +4347,23 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d2portafthall) +"cBo" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/research) "cBK" = ( /turf/simulated/wall/prepainted, /area/endeavour/hallway/d1starboardafthall) +"cCs" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "cCF" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloorblack{ @@ -4161,6 +4425,12 @@ "cEs" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/bed/chair/bay/shuttle{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/shuttle/emt/cockpit) "cEy" = ( @@ -4232,6 +4502,7 @@ /area/rnd/anomaly_lab/containment_two) "cFB" = ( /obj/machinery/light/small, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/substation/research) "cFG" = ( @@ -4260,8 +4531,7 @@ /area/medical/medbay4) "cGc" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) @@ -4276,6 +4546,13 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_d) +"cGM" = ( +/obj/effect/floor_decal/spline/fancy, +/obj/item/modular_computer/console/preset/civilian{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "cGO" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -4325,12 +4602,6 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 4 - }, -/obj/effect/floor_decal/corner/navblue/bordercorner{ - dir = 4 - }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) @@ -4352,11 +4623,17 @@ dir = 5 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) +"cKf" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research) "cKJ" = ( /obj/machinery/fire_alarm/north_mount, /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ @@ -4391,6 +4668,10 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"cLk" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "cLl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4411,6 +4692,14 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) +"cLY" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "cMM" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 1 @@ -4442,11 +4731,15 @@ }, /turf/simulated/floor/tiled/white, /area/medical/exam_room/exam_1) +"cNq" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "cNs" = ( -/obj/machinery/light{ - dir = 1 +/obj/structure/table/reinforced, +/obj/structure/flora/pottedplant/overgrown{ + pixel_y = 13 }, -/obj/machinery/disposal, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) "cNK" = ( @@ -4459,11 +4752,24 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "cNW" = ( /turf/simulated/floor/reinforced, /area/rnd/xenobiology) +"cOc" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2afthall) "cOu" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4522,10 +4828,11 @@ /area/medical/medbay4) "cPx" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 + }, +/obj/structure/bed/chair/sofa/purp/left{ + dir = 4 }, -/obj/structure/table/rack/shelf, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) "cQu" = ( @@ -4573,6 +4880,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/morgue) +"cRR" = ( +/obj/machinery/fire_alarm/west_mount, +/turf/simulated/floor/plating, +/area/maintenance/research/xenobio) "cRX" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4586,13 +4897,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) "cSd" = ( -/obj/machinery/camera/network/civilian, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/machinery/light{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) "cSK" = ( @@ -4647,9 +4960,16 @@ /area/endeavour/hallway/d2fwdmaint) "cTz" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/airlock/maintenance/common{ + name = "Flight Ops Support" + }, +/obj/map_helper/access_helper/airlock/station/exploration/pilot, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d2fwdmaint) +/area/exploration/pilot_Office) "cTK" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4786,6 +5106,11 @@ /obj/machinery/door/window/southleft, /turf/simulated/floor/tiled, /area/medical/virology_aft_access) +"dba" = ( +/obj/structure/table/glass, +/obj/item/clothing/mask/muzzle, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "dbh" = ( /obj/machinery/computer/security/mining{ dir = 8; @@ -4827,6 +5152,11 @@ /obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/psych/psych_1) +"dco" = ( +/obj/structure/catwalk, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "dde" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -4836,6 +5166,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"ddj" = ( +/obj/structure/bed, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "ddn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 @@ -4953,7 +5287,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "dhy" = ( /obj/machinery/fire_alarm/north_mount, /obj/effect/floor_decal/borderfloorblack{ @@ -4973,8 +5307,7 @@ "dic" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/bed/padded, /obj/item/bedsheet/medical, @@ -4997,6 +5330,15 @@ /obj/machinery/light, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) +"djx" = ( +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/obj/structure/table/rack, +/obj/item/clothing/head/hardhat/red, +/turf/simulated/floor/plating, +/area/maintenance/research) "djF" = ( /obj/structure/sign/warning/nosmoking_2, /turf/simulated/wall/r_wall/prepainted/science, @@ -5052,6 +5394,7 @@ name = "Containment Blast Doors"; opacity = 0 }, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "dlw" = ( @@ -5088,6 +5431,7 @@ dir = 8 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/rnd/xenobiology/xenoflora/lab_atmos) "dni" = ( @@ -5182,6 +5526,14 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) +"dpV" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "dqm" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -5208,6 +5560,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) "dqJ" = ( @@ -5279,6 +5635,17 @@ }, /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) +"dtv" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) +"dtG" = ( +/obj/structure/closet/firecloset, +/turf/simulated/floor/tiled, +/area/maintenance/research/port) "dtW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -5341,6 +5708,11 @@ }, /turf/simulated/floor/tiled, /area/medical/medbay_emt_bay) +"duq" = ( +/obj/structure/table/rack, +/obj/item/clothing/head/hardhat/red, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "dvx" = ( /obj/structure/sink{ pixel_y = 19 @@ -5395,7 +5767,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "dxn" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -5476,8 +5848,7 @@ "dzg" = ( /obj/structure/closet/crate/biohazard, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/medical/surgery) @@ -5509,6 +5880,15 @@ /obj/machinery/holopad, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) +"dzu" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "dzH" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 @@ -5770,14 +6150,9 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) "dIS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/turf/simulated/floor/tiled, -/area/rnd/research/researchdivision) +/obj/structure/poster/preset/baystation/bay_7, +/turf/simulated/wall/r_wall/prepainted, +/area/maintenance/fpmaint2) "dIV" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -5838,8 +6213,15 @@ /obj/structure/cable/green{ icon_state = "2-4" }, -/turf/simulated/floor/airless/ceiling, +/turf/simulated/floor/plating, /area/maintenance/research) +"dMJ" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "dMM" = ( /obj/structure/sink{ dir = 8; @@ -6019,6 +6401,18 @@ }, /turf/simulated/floor/wood, /area/medical/psych/psych_2) +"dQO" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) +"dRf" = ( +/obj/structure/closet/crate, +/obj/random/plushie, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "dSa" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -6191,7 +6585,7 @@ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "dWP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -6233,6 +6627,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "dXU" = ( @@ -6255,8 +6658,7 @@ dir = 4 }, /obj/machinery/door/window/westleft{ - name = "Chemistry Reception Desk"; - req_one_access = list(5) + name = "Chemistry Reception Desk" }, /obj/machinery/door/blast/shutters{ dir = 8; @@ -6284,15 +6686,12 @@ /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) "dYQ" = ( -/obj/machinery/light{ - dir = 8; - pixel_x = -10 - }, -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 4 +/obj/machinery/shield_diffuser, +/obj/machinery/camera/network/outside{ + dir = 5 }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/station/docks) +/turf/simulated/floor/airless/ceiling, +/area/endeavour/command/turrets) "dYX" = ( /obj/machinery/atm{ pixel_x = -32 @@ -6342,6 +6741,9 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portforhall) "eam" = ( @@ -6382,8 +6784,7 @@ /obj/item/reagent_containers/dropper, /obj/item/hand_labeler, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) @@ -6414,6 +6815,11 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) +"ebu" = ( +/obj/structure/closet/crate, +/obj/fiftyspawner/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "ebF" = ( /obj/machinery/light/small{ dir = 4 @@ -6454,6 +6860,21 @@ }, /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) +"ece" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/obj/random/coin, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) +"ecg" = ( +/obj/structure/table/wooden_reinforced, +/obj/effect/floor_decal/spline/fancy/wood, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "ecE" = ( /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) @@ -6526,6 +6947,18 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"een" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2portamidhall) "eew" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloor{ @@ -6543,9 +6976,15 @@ /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora/lab_atmos) "efa" = ( -/obj/structure/sign/department/chem, -/turf/simulated/wall/prepainted/medical, -/area/medical/chemistry) +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/rnd/research/researchdivision) "efb" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -6647,8 +7086,7 @@ "egX" = ( /obj/structure/table/woodentable, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/wood, /area/crew_quarters/medbreak) @@ -6664,8 +7102,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) @@ -6788,6 +7225,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "ejy" = ( @@ -6834,6 +7273,10 @@ "ejI" = ( /turf/simulated/wall/prepainted, /area/maintenance/medbay/aft) +"eki" = ( +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "ekq" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -6934,6 +7377,24 @@ /obj/machinery/shower, /turf/simulated/floor/tiled/techfloor/grid, /area/crew_quarters/medical_restroom) +"enA" = ( +/obj/structure/catwalk, +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/turf/simulated/floor/plating, +/area/maintenance/research) +"enO" = ( +/obj/structure/table/rack/shelf, +/obj/random/tool, +/obj/random/toolbox, +/turf/simulated/floor/plating, +/area/maintenance/research/port) +"eop" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "eow" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 @@ -6958,6 +7419,14 @@ /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, /area/medical/virology_aft_access) +"eoQ" = ( +/obj/machinery/power/apc/east_mount, +/obj/effect/floor_decal/spline/fancy{ + dir = 6 + }, +/obj/structure/cable/green, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "eoT" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -7041,18 +7510,19 @@ /turf/simulated/floor/plating, /area/maintenance/medbay/aft) "esy" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 9 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 9 +/obj/machinery/vending/nifsoft_shop{ + dir = 4 }, -/obj/machinery/light{ - dir = 8; - light_range = 12 +/turf/simulated/floor/tiled/dark, +/area/rnd/research/researchdivision) +"etu" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "etB" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ @@ -7071,16 +7541,6 @@ /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) -"eub" = ( -/obj/machinery/door/firedoor, -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2afthall) "ewY" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 6 @@ -7242,6 +7702,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"eBu" = ( +/obj/machinery/fire_alarm/north_mount, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "eBA" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -7262,6 +7727,10 @@ }, /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) +"eCi" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "eCw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -7295,11 +7764,14 @@ /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) "eDF" = ( +/obj/machinery/holoplant, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, -/obj/machinery/holoplant, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/green/bordercorner2{ + dir = 9 }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) @@ -7318,9 +7790,23 @@ "eEv" = ( /turf/simulated/wall/prepainted/medical, /area/medical/surgery) +"eEw" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 8 + }, +/obj/structure/bed/chair/bay/comfy/black, +/obj/machinery/camera/network/exploration{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "eEE" = ( /turf/simulated/wall/prepainted, /area/maintenance/substation/medical_science) +"eEN" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/research) "eEO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, @@ -7334,6 +7820,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "eEX" = ( @@ -7498,6 +7985,11 @@ /obj/landmark/spawnpoint/job/scientist, /turf/simulated/floor/carpet/purcarpet, /area/rnd/breakroom) +"eKl" = ( +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "eKJ" = ( /obj/machinery/door/firedoor/glass{ dir = 4 @@ -7594,8 +8086,7 @@ "eOr" = ( /obj/machinery/media/jukebox, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -7663,6 +8154,9 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/light/small{ + dir = 4 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d2fwdmaint) "eRt" = ( @@ -7723,6 +8217,10 @@ /obj/item/barrier_tape_segment/engineering, /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) +"eTf" = ( +/obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/exploration/pilot_Office) "eTk" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -7768,6 +8266,9 @@ /obj/effect/floor_decal/corner/lightorange/border{ dir = 9 }, +/obj/machinery/light{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/medical/chemistry) "eUx" = ( @@ -7957,6 +8458,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "eYX" = ( @@ -8064,7 +8568,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "fbI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -8080,6 +8584,12 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology) +"fcG" = ( +/obj/structure/bed/chair/comfy/blue{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "fcH" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -8205,15 +8715,14 @@ req_one_access = list(30,35,47,77) }, /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) "fgw" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/lower) "fhj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -8242,6 +8751,21 @@ /obj/structure/flora/pottedplant/orientaltree, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d1starboardamidhall) +"fiR" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/medical/sleeper) "fiT" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, @@ -8306,6 +8830,9 @@ "flr" = ( /turf/simulated/floor/tiled, /area/medical/surgery2) +"flt" = ( +/turf/simulated/wall/r_wall/prepainted, +/area/maintenance/research/lower) "flF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8343,7 +8870,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "fmm" = ( /turf/simulated/wall/prepainted/science, /area/rnd/xenobiology/xenoflora_storage) @@ -8381,6 +8908,20 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_d) +"fnA" = ( +/obj/machinery/door/airlock/maintenance/common{ + name = "Flight Ops Support" + }, +/obj/map_helper/access_helper/airlock/station/exploration/pilot, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "fnS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -8410,6 +8951,12 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"fpp" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "fpq" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central7, /obj/structure/cable/green{ @@ -8445,6 +8992,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "fqm" = ( @@ -8471,7 +9019,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/medbay/aft) +/area/endeavour/hallway/d2afthall) "frq" = ( /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{ @@ -8525,10 +9073,6 @@ }, /turf/simulated/floor/tiled/dark, /area/assembly/robotics/surgery) -"fsC" = ( -/obj/structure/sign/department/rnd, -/turf/simulated/wall/prepainted/science, -/area/rnd/reception_desk) "fsM" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -8575,6 +9119,12 @@ /obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/tiled/dark, /area/station/stairs_two) +"fwk" = ( +/obj/structure/bed/chair/sofa/black/right{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "fwo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass, @@ -8677,6 +9227,14 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology) +"fyu" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "fzt" = ( /obj/spawner/window/low_wall/reinforced/full, /obj/structure/disposalpipe/segment, @@ -8687,6 +9245,7 @@ name = "Containment Blast Doors"; opacity = 0 }, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "fAD" = ( @@ -8706,6 +9265,11 @@ }, /turf/simulated/floor/plating, /area/medical/patient_c) +"fBl" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "fBx" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 @@ -8738,7 +9302,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay4) "fBT" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/research, /obj/machinery/door/firedoor, /obj/map_helper/access_helper/airlock/station/science/department, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -8767,14 +9331,12 @@ /turf/simulated/floor/tiled, /area/medical/medbay_primary_storage) "fCt" = ( -/obj/machinery/camera/network/civilian{ - dir = 1 - }, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/machinery/light, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) "fCE" = ( @@ -8969,6 +9531,9 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, /obj/machinery/door/airlock/glass, +/obj/structure/sign/greencross{ + pixel_y = -30 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "fIE" = ( @@ -9146,6 +9711,9 @@ /obj/structure/cable/green{ icon_state = "0-2" }, +/obj/structure/railing{ + dir = 4 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d2fwdmaint) "fNB" = ( @@ -9260,6 +9828,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "fOZ" = ( @@ -9359,8 +9930,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) @@ -9593,8 +10163,9 @@ /area/tether/station/public_meeting_room) "fXo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 + dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/medical/virology_fore_access) "fYZ" = ( @@ -9646,6 +10217,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"fZH" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/substation/research) "gao" = ( /obj/machinery/light, /obj/structure/cable{ @@ -9678,6 +10253,10 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"gbg" = ( +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "gbN" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -9734,6 +10313,10 @@ }, /turf/simulated/floor/tiled/steel_grid, /area/rnd/xenobiology) +"gdh" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "gdj" = ( /obj/machinery/camera/network/medbay{ dir = 8 @@ -9822,6 +10405,12 @@ /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"ggW" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "ghc" = ( /obj/machinery/camera/network/civilian, /turf/simulated/floor/tiled/dark, @@ -9853,7 +10442,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "giU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -9876,6 +10465,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"gjf" = ( +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "gjp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -9896,6 +10489,10 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing, /turf/simulated/floor/plating, /area/endeavour/hallway/d2fwdmaint) "gkX" = ( @@ -10008,7 +10605,7 @@ /area/rnd/xenobiology) "goI" = ( /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "goZ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -10028,24 +10625,6 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/white, /area/medical/medbay4) -"gpS" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/mauve/border{ - dir = 8 - }, -/obj/machinery/button/remote/blast_door{ - id = "rndshutters"; - name = "Research Shutter control"; - pixel_y = -22; - pixel_x = -26 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/rnd/research/researchdivision) "gqb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -10127,6 +10706,12 @@ /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/reinforced, /area/rnd/testingroom) +"gsr" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/medical/virologymaint) "gsA" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -10155,7 +10740,7 @@ name = "Research Shutters" }, /turf/simulated/floor/tiled, -/area/rnd/research/researchdivision) +/area/rnd/reception_desk) "gtd" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -10238,8 +10823,7 @@ /obj/item/storage/box/syringes, /obj/item/gun/launcher/syringe, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/wood, /area/medical/medbay4) @@ -10284,11 +10868,17 @@ dir = 1 }, /obj/machinery/portable_atmospherics/powered/scrubber, -/turf/simulated/floor/airless/ceiling, +/turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) "gwT" = ( /turf/simulated/floor/tiled/white, /area/medical/chemistry) +"gxk" = ( +/obj/structure/bed/chair/sofa/black/left{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "gxR" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -10304,20 +10894,20 @@ /obj/machinery/door/airlock/glass, /obj/map_helper/access_helper/airlock/station/maintenance, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d2fwdmaint) +/area/endeavour/hallway/d1starboardforhall) "gzk" = ( /obj/machinery/light{ dir = 1 }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/station/docks) "gzw" = ( @@ -10338,6 +10928,19 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"gzF" = ( +/obj/structure/table/woodentable, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/obj/effect/floor_decal/spline/fancy{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "gzO" = ( /obj/machinery/light, /obj/structure/bed/roller, @@ -10416,7 +11019,9 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay4) "gBH" = ( -/obj/structure/table/rack/shelf, +/obj/structure/bed/chair/sofa/purp{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) "gBJ" = ( @@ -10425,7 +11030,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "gBN" = ( /obj/effect/floor_decal/industrial/outline, /turf/simulated/floor/tiled, @@ -10524,6 +11129,15 @@ }, /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) +"gFn" = ( +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/item/clothing/head/hardhat/red, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "gFG" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 @@ -10579,6 +11193,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/machinery/holopad, /turf/simulated/floor/tiled, /area/medical/medbay_emt_bay) "gHf" = ( @@ -10700,17 +11315,17 @@ /area/crew_quarters/medbreak) "gKZ" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/assembly/chargebay) "gLF" = ( -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = -37 +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ + id = "research-inner" }, -/obj/machinery/vending/coffee, -/turf/simulated/floor/tiled/dark, +/obj/effect/paint/purplegray, +/turf/simulated/floor/plating, /area/rnd/research/researchdivision) "gLH" = ( /obj/effect/floor_decal/corner_techfloor_grid{ @@ -10719,16 +11334,9 @@ /turf/simulated/floor/tiled/techfloor, /area/endeavour/hallway/d2afthall) "gMk" = ( -/obj/machinery/door/firedoor/glass{ - dir = 4 - }, -/obj/machinery/door/airlock/research{ - id_tag = "researchdoor"; - name = "R&D Distribution Area" - }, -/obj/map_helper/access_helper/airlock/station/exploration/auxillerysci, -/turf/simulated/floor/tiled/dark, -/area/rnd/research/researchdivision) +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/techfloor, +/area/rnd/workshop) "gMn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -10811,6 +11419,10 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"gNW" = ( +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "gOT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -10859,6 +11471,14 @@ }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"gPJ" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/machinery/fire_alarm/west_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "gPQ" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/machinery/door/firedoor, @@ -10955,15 +11575,16 @@ }, /area/rnd/rdoffice) "gSa" = ( -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 1 +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 }, -/obj/effect/floor_decal/corner/navgold/bordercorner{ - dir = 1 +/obj/structure/cable/green{ + icon_state = "1-2" }, +/obj/machinery/door/firedoor, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "gSb" = ( @@ -11009,20 +11630,14 @@ /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) +"gTW" = ( +/obj/machinery/space_heater, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "gUD" = ( -/obj/machinery/door/firedoor/glass{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 4 - }, -/obj/machinery/door/airlock/medical{ - name = "Virology Labs"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/medical/department, -/turf/simulated/floor/tiled/white, -/area/medical/virology_fore_access) +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/research) "gUZ" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -11039,17 +11654,17 @@ /area/assembly/robotics) "gVZ" = ( /turf/simulated/wall/prepainted/medical, -/area/maintenance/research) +/area/maintenance/research/lower) "gWJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 4 }, /obj/effect/floor_decal/corner/paleblue/bordercorner{ dir = 4 }, +/obj/structure/disposalpipe/junction/flipped{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) "gWK" = ( @@ -11179,6 +11794,13 @@ /obj/machinery/atmospherics/component/unary/vent_pump/on, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"hbR" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/network/exploration, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "hbZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -11212,6 +11834,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "hdr" = ( @@ -11226,6 +11849,7 @@ dir = 8 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/shuttle/emt/cockpit) "heh" = ( @@ -11262,11 +11886,6 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) -"hff" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled, -/area/medical/virology_fore_access) "hfm" = ( /obj/structure/catwalk, /obj/structure/cable/green{ @@ -11279,7 +11898,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "hfW" = ( /obj/structure/cable{ icon_state = "2-4" @@ -11315,6 +11934,12 @@ /obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/tiled/techfloor/grid, /area/medical/reception) +"hhg" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "hhp" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/babyblue, @@ -11380,6 +12005,11 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_b) +"hju" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "hjA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -11397,6 +12027,7 @@ /area/rnd/rdoffice) "hjM" = ( /obj/fiftyspawner/steel, +/obj/structure/table/rack, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) "hjR" = ( @@ -11455,8 +12086,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/camera/network/research{ dir = 4; @@ -11472,8 +12102,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/rnd/hallway) @@ -11715,6 +12344,10 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/medbreak) +"how" = ( +/obj/structure/poster/preset/baystation/bay_9, +/turf/simulated/wall/r_wall/prepainted, +/area/maintenance/fpmaint2) "hoX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11750,6 +12383,14 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) +"hpD" = ( +/obj/structure/bed/chair/sofa/black/left, +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "hpE" = ( /obj/machinery/atmospherics/pipe/simple/visible/purple{ dir = 8 @@ -11801,8 +12442,7 @@ "hqs" = ( /obj/machinery/camera/network/medbay, /obj/machinery/light{ - dir = 1; - pixel_y = 20 + dir = 1 }, /obj/effect/floor_decal/spline/fancy/wood{ dir = 1 @@ -11824,14 +12464,6 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) -"hqT" = ( -/obj/machinery/door/firedoor{ - dir = 1 - }, -/obj/machinery/door/airlock/maintenance/common, -/obj/map_helper/access_helper/airlock/station/science/department, -/turf/simulated/floor/plating, -/area/maintenance/medbay/aft) "hrJ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -11856,8 +12488,7 @@ /area/medical/psych_ward) "hsu" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 9 @@ -11866,12 +12497,6 @@ /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) -"hsE" = ( -/obj/map_helper/electrochromatic_linker{ - id = "robotics-outer" - }, -/turf/space/basic, -/area/space) "hui" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 1 @@ -11993,13 +12618,11 @@ /turf/simulated/floor/plating, /area/rnd/workshop) "hxs" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "exam_1" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/exam_room/exam_1) "hxy" = ( @@ -12107,7 +12730,7 @@ /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) "hBp" = ( -/obj/machinery/power/breakerbox{ +/obj/machinery/power/breakerbox/activated{ RCon_tag = "MAIN - DECK 2 AMIDSHIPS" }, /turf/simulated/floor/plating, @@ -12353,6 +12976,20 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"hGE" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/obj/random/maintenance, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "hGF" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -12397,6 +13034,10 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) +"hJk" = ( +/obj/structure/closet/largecardboard, +/turf/simulated/floor/tiled, +/area/maintenance/research/port) "hJq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -12453,20 +13094,18 @@ /obj/effect/floor_decal/corner/navgold/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) +"hKY" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "hLb" = ( /obj/structure/bed/chair/office/dark{ dir = 1 }, /turf/simulated/floor/tiled, /area/medical/virology) -"hLz" = ( -/obj/machinery/button/windowtint{ - id = "robotics-outer"; - pixel_x = -22; - pixel_y = 32 - }, -/turf/space/basic, -/area/space) "hLV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -12478,8 +13117,13 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, /area/medical/chemistry) +"hMj" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/briefcase/inflatable, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "hMz" = ( -/obj/machinery/power/breakerbox{ +/obj/machinery/power/breakerbox/activated{ RCon_tag = "MAIN - DECK 2 FORE" }, /turf/simulated/floor/plating, @@ -12653,6 +13297,37 @@ /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) +"hSn" = ( +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 13; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 13; + pixel_y = 4 + }, +/obj/structure/table/wooden_reinforced, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "hSv" = ( /obj/item/storage/firstaid/surgery, /obj/item/robotanalyzer, @@ -12720,6 +13395,12 @@ }, /turf/simulated/floor/tiled/white, /area/medical/reception) +"hVC" = ( +/obj/structure/closet, +/obj/random/maintenance/engineering, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/maintenance/research) "hVK" = ( /obj/machinery/door/airlock{ name = "Restroom" @@ -12737,6 +13418,13 @@ }, /turf/simulated/floor/tiled, /area/medical/virology) +"hWn" = ( +/obj/structure/table/steel, +/obj/random/maintenance, +/obj/random/maintenance, +/obj/random/maintenance/cargo, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "hXy" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, @@ -12764,11 +13452,11 @@ /turf/simulated/floor/tiled/white, /area/medical/resleeving) "hYp" = ( -/obj/machinery/light, /obj/effect/floor_decal/spline/fancy/wood, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/machinery/light, /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) "hZk" = ( @@ -12840,6 +13528,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, /area/assembly/robotics) +"icg" = ( +/obj/structure/loot_pile/maint/technical, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "icA" = ( /obj/item/radio/beacon/anchored, /turf/simulated/floor/wood/sif/indoors, @@ -13046,6 +13738,11 @@ }, /turf/simulated/floor/grass/indoors, /area/tether/station/public_meeting_room) +"ihO" = ( +/obj/structure/table/rack, +/obj/item/clothing/head/hardhat/red, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "iiq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13275,12 +13972,6 @@ /obj/structure/cable/green{ icon_state = "1-4" }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 - }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "ioT" = ( @@ -13318,6 +14009,10 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) +"iqF" = ( +/obj/machinery/fire_alarm/east_mount, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "irg" = ( /obj/machinery/light_switch{ pixel_x = -26; @@ -13407,7 +14102,17 @@ pixel_y = 22 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) +"iur" = ( +/obj/structure/closet/secure_closet/pilot, +/obj/effect/floor_decal/spline/fancy/wood/cee{ + dir = 4 + }, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "iuJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13464,6 +14169,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) +"iwg" = ( +/obj/item/clothing/head/hardhat/red, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "iwJ" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -13476,6 +14186,9 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"iwR" = ( +/turf/simulated/wall/r_wall/prepainted, +/area/endeavour/hallway/d2portforhall) "ixo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13671,6 +14384,23 @@ }, /turf/simulated/floor/carpet/sblucarpet, /area/medical/psych/psych_1) +"iAd" = ( +/obj/machinery/door/airlock/maintenance/common{ + name = "Flight Ops Support" + }, +/obj/map_helper/access_helper/airlock/station/exploration/pilot, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "iAl" = ( /obj/structure/table/glass, /obj/machinery/door/window/westleft{ @@ -13714,6 +14444,12 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"iBr" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 2, Port Side" + }, +/turf/space, +/area/space) "iBv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -13763,6 +14499,9 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d2fwdmaint) +"iDS" = ( +/turf/simulated/wall/prepainted, +/area/endeavour/hallway/d2portforhall) "iEr" = ( /obj/effect/floor_decal/corner/green{ dir = 5 @@ -13779,15 +14518,18 @@ /turf/simulated/floor/tiled/white, /area/medical/morgue) "iET" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "iFi" = ( @@ -13836,6 +14578,11 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"iGp" = ( +/obj/item/clothing/head/hardhat/red, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "iGC" = ( /turf/simulated/floor/wood/sif/indoors, /area/medical/reception) @@ -13876,7 +14623,6 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) "iIb" = ( -/mob/living/simple_mob/animal/passive/cat/runtime, /obj/effect/floor_decal/borderfloor{ dir = 1 }, @@ -13884,6 +14630,7 @@ dir = 1 }, /obj/machinery/air_alarm/north_mount, +/mob/living/simple_mob/animal/passive/cat/runtime, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cmo) "iIy" = ( @@ -13978,6 +14725,10 @@ }, /turf/simulated/floor/tiled/white, /area/shuttle/emt/general) +"iLr" = ( +/obj/structure/table/glass, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "iMe" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/atmospherics/portables_connector, @@ -13998,6 +14749,7 @@ name = "Containment Blast Doors"; opacity = 0 }, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "iNI" = ( @@ -14068,8 +14820,8 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay4) "iPG" = ( -/obj/machinery/power/breakerbox{ - RCon_tag = "DECK 2 AFT MAIN" +/obj/machinery/power/breakerbox/activated{ + RCon_tag = "MAIN - DECK 2 AFT" }, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) @@ -14170,10 +14922,7 @@ /area/rnd/breakroom) "iTB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 + dir = 9 }, /turf/simulated/floor/tiled, /area/medical/virology_fore_access) @@ -14189,14 +14938,8 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/mauve/border, /obj/structure/bed/chair/office/dark, -/obj/machinery/button/remote/blast_door{ - id = "rndhallshutters"; - name = "Research Hall Shutters control"; - pixel_y = -22; - pixel_x = -26 - }, /turf/simulated/floor/tiled/steel_grid, -/area/endeavour/hallway/d2portafthall) +/area/rnd/reception_desk) "iUD" = ( /obj/structure/closet/secure_closet/RD, /obj/item/aicard, @@ -14233,6 +14976,10 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, /area/medical/virology_aft_access) +"iVM" = ( +/obj/effect/floor_decal/spline/fancy/wood/corner, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "iVW" = ( /obj/structure/table/reinforced, /obj/item/storage/box/donkpockets, @@ -14276,6 +15023,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/rdoffice) +"iXg" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/research) "iXx" = ( /turf/simulated/floor/reinforced, /area/rnd/testingroom) @@ -14298,6 +15050,11 @@ }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cmo) +"iYl" = ( +/obj/random/maintenance/security, +/obj/structure/closet/crate, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "iYO" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -14454,7 +15211,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/lower) "jff" = ( /turf/simulated/wall/prepainted/medical, /area/medical/patient_c) @@ -14535,6 +15292,9 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) +"jhB" = ( +/turf/simulated/wall/prepainted/medical, +/area/hallway/station/docks) "jhM" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/babyblue, @@ -14546,6 +15306,16 @@ }, /turf/simulated/floor/plating, /area/medical/virology) +"jii" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/research) "jin" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -14576,10 +15346,22 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) +"jjR" = ( +/obj/structure/table/rack, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "jkz" = ( -/obj/structure/sign/greencross, -/turf/simulated/wall/prepainted/medical, -/area/medical/reception) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/structure/sign/department/chem{ + pixel_y = -30 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1starboardafthall) "jkG" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -14627,6 +15409,9 @@ /area/rnd/reception_desk) "jlP" = ( /obj/structure/dispenser/oxygen, +/obj/machinery/camera/network/outside{ + dir = 5 + }, /turf/simulated/floor/tiled, /area/medical/medbay_primary_storage) "jlX" = ( @@ -14678,7 +15463,7 @@ pixel_y = -37 }, /turf/simulated/wall/prepainted, -/area/endeavour/hallway/d2aftmaint) +/area/endeavour/hallway/d2portamidhall) "jnq" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -14757,6 +15542,16 @@ }, /turf/simulated/floor/plating, /area/medical/chemistry) +"jqP" = ( +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "jrk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -14819,6 +15614,16 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virology_aft_access) +"jsJ" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "jsK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -14875,12 +15680,6 @@ /turf/simulated/floor/tiled/white, /area/medical/reception) "jtH" = ( -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/bordercorner{ - dir = 1 - }, /obj/structure/cable/orange{ icon_state = "4-8" }, @@ -14889,6 +15688,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/holopad, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "jue" = ( @@ -15017,6 +15817,9 @@ }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"jxP" = ( +/turf/simulated/wall/prepainted, +/area/maintenance/research/lower) "jye" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -15035,16 +15838,6 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d2fwdmaint) -"jym" = ( -/obj/effect/paint/babyblue, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/structure/window/reinforced/polarized/full{ - id = "oncall" - }, -/turf/simulated/floor/plating, -/area/medical/oncall_room) "jyt" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 @@ -15058,12 +15851,12 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 9 }, +/obj/structure/table/steel_reinforced, +/obj/item/storage/firstaid/adv, /obj/item/storage/firstaid/adv{ pixel_x = 5; pixel_y = 5 }, -/obj/item/storage/firstaid/adv, -/obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled/steel_ridged, /area/medical/medbay_emt_bay) "jzz" = ( @@ -15200,8 +15993,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -15234,6 +16026,11 @@ }, /turf/simulated/floor/tiled/white, /area/medical/morgue) +"jEI" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1starboardafthall) "jER" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15269,7 +16066,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2fwdmaint) +/area/endeavour/hallway/d1starboardamidhall) "jGo" = ( /obj/structure/flora/pottedplant/tropical, /obj/effect/floor_decal/borderfloor{ @@ -15281,12 +16078,6 @@ /turf/simulated/floor/tiled, /area/rnd/research_foyer) "jGq" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -15349,6 +16140,11 @@ dir = 9 }, /obj/item/reagent_containers/glass/beaker, +/obj/machinery/button/remote/blast_door{ + id = "rndshutters"; + name = "Research Shutter control"; + pixel_y = 27 + }, /turf/simulated/floor/tiled/steel_grid, /area/rnd/reception_desk) "jHE" = ( @@ -15403,15 +16199,13 @@ }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/patient_c) "jLs" = ( -/obj/machinery/holopad, -/turf/simulated/floor/tiled, -/area/medical/medbay_emt_bay) +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/research/port) "jLE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 @@ -15447,6 +16241,9 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_b) +"jNt" = ( +/turf/simulated/floor/plating, +/area/maintenance/research/port) "jNv" = ( /obj/structure/bed/chair/modern_chair{ dir = 4 @@ -15469,12 +16266,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/effect/floor_decal/borderfloorblack/corner{ +/obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/effect/floor_decal/corner/navgold/bordercorner{ +/obj/effect/floor_decal/corner/navgold/border{ dir = 1 }, +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-4" + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "jOJ" = ( @@ -15493,6 +16294,7 @@ /obj/machinery/light/small{ dir = 8 }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/research) "jPA" = ( @@ -15546,6 +16348,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/assembly/robotics/surgery) +"jQc" = ( +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/structure/catwalk, +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "jQD" = ( /obj/structure/window/reinforced, /obj/machinery/disposal, @@ -15670,13 +16480,13 @@ /obj/machinery/media/jukebox, /turf/simulated/floor/wood/sif/indoors, /area/medical/reception) +"jUR" = ( +/obj/structure/closet/crate/mimic/closet/safe, +/turf/simulated/floor/plating, +/area/maintenance/research) "jUZ" = ( /turf/simulated/floor/wood, /area/endeavour/hallway/d2afthall) -"jVj" = ( -/obj/machinery/computer/arcade, -/turf/simulated/floor/carpet/bcarpet, -/area/endeavour/hallway/d2afthall) "jVn" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15791,8 +16601,17 @@ }, /turf/simulated/wall/r_wall/prepainted/medical, /area/shuttle/emt/general) +"jYQ" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "jZz" = ( -/obj/structure/table/reinforced, +/obj/machinery/mech_recharger, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) "jZM" = ( @@ -15827,6 +16646,12 @@ }, /turf/simulated/floor/tiled/dark, /area/rnd/research/researchdivision) +"jZT" = ( +/obj/structure/table/glass, +/obj/item/surgical/scalpel, +/obj/item/reagent_containers/syringe/drugs, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "jZX" = ( /obj/machinery/light{ dir = 1 @@ -15861,6 +16686,9 @@ }, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) +"kaK" = ( +/turf/simulated/wall/r_wall/prepainted/science, +/area/maintenance/research/xenobio) "kck" = ( /obj/machinery/artifact_scanpad, /turf/simulated/floor/tiled/dark, @@ -15924,14 +16752,23 @@ /turf/simulated/floor/plating, /area/medical/virologymaint) "keB" = ( -/obj/effect/floor_decal/borderfloorblack/corner, -/obj/effect/floor_decal/corner/navblue/bordercorner, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/beige/border{ + dir = 4 + }, +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking_1{ + pixel_x = 28 + }, +/turf/simulated/floor/tiled/white, +/area/medical/medbay4) "keI" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -16018,7 +16855,6 @@ "kgb" = ( /obj/machinery/door/airlock/maintenance/common, /obj/structure/catwalk, -/obj/map_helper/access_helper/airlock/station/science/department, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) "kgh" = ( @@ -16055,6 +16891,11 @@ }, /turf/simulated/floor/tiled/steel, /area/rnd/testingroom) +"khm" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "khE" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, @@ -16062,8 +16903,18 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/structure/sign/biohazard{ + pixel_y = -32 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) +"khI" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "khL" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -16106,6 +16957,7 @@ /area/endeavour/hallway/d2portamidhall) "kjj" = ( /obj/structure/table/standard, +/obj/item/material/ashtray/glass, /turf/simulated/floor/tiled, /area/holodeck_control) "kjr" = ( @@ -16215,8 +17067,7 @@ /area/rnd/anomaly_lab) "kmH" = ( /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/machinery/light_switch{ dir = 4; @@ -16356,6 +17207,13 @@ }, /turf/simulated/floor/tiled/monotile, /area/rnd/anomaly_lab) +"kss" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/closet/secure_closet/medical3, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/medical, +/turf/simulated/floor/tiled, +/area/medical/medbay_primary_storage) "ksB" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloorblack, @@ -16457,6 +17315,10 @@ }, /turf/simulated/floor/tiled, /area/rnd/research_foyer) +"kuV" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "kvb" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 @@ -16510,6 +17372,12 @@ "kxi" = ( /turf/simulated/wall/r_wall/prepainted/science, /area/rnd/anomaly_lab/containment_two) +"kxs" = ( +/obj/structure/closet/crate, +/obj/random/maintenance, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "kxG" = ( /obj/machinery/air_alarm{ dir = 8; @@ -16589,6 +17457,34 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portforhall) +"kBm" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/closet/medical_wall{ + pixel_x = 30 + }, +/obj/effect/floor_decal/spline/fancy{ + dir = 4 + }, +/obj/item/storage/single_use/med_pouch/trauma, +/obj/item/storage/single_use/med_pouch/radiation, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/single_use/med_pouch/toxin, +/obj/item/storage/single_use/med_pouch/oxyloss, +/obj/item/storage/single_use/med_pouch/overdose, +/obj/item/storage/single_use/med_pouch/burn, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "kBG" = ( /obj/machinery/artifact_harvester, /obj/structure/window/reinforced{ @@ -16620,6 +17516,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"kCh" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "kCt" = ( /turf/simulated/wall/prepainted/science, /area/rnd/research/researchdivision) @@ -16708,6 +17611,15 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) +"kER" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "kFN" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -16800,8 +17712,7 @@ /area/endeavour/hallway/d1starboardforhall) "kKI" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/medical/oncall_room) @@ -16811,8 +17722,7 @@ }, /obj/effect/floor_decal/industrial/outline/blue, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/sign/greencross{ pixel_x = -32 @@ -16836,6 +17746,20 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) +"kLp" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/research) +"kLP" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "kMg" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/beige/bordercorner, @@ -16900,6 +17824,24 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"kNG" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) +"kNM" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "kNW" = ( /obj/machinery/light{ dir = 1 @@ -16927,19 +17869,13 @@ /turf/simulated/floor/tiled/white, /area/medical/reception) "kOr" = ( -/obj/machinery/power/apc/west_mount{ - pixel_x = 0; - pixel_y = 22; - dir = 2 - }, -/obj/structure/cable/green{ - icon_state = "0-4" - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 9 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 9 +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navgold/border, +/obj/structure/sign/greencross{ + pixel_y = -30 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) @@ -16961,11 +17897,17 @@ "kOH" = ( /obj/effect/floor_decal/corner_techfloor_grid/full, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/endeavour/hallway/d2afthall) +"kPA" = ( +/obj/machinery/door/airlock/maintenance/common{ + name = "Flight Ops Support" + }, +/obj/map_helper/access_helper/airlock/station/exploration/pilot, +/turf/simulated/floor/tiled/techfloor/grid, +/area/exploration/pilot_Office) "kPG" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -16974,8 +17916,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) @@ -17012,6 +17953,12 @@ "kQU" = ( /turf/simulated/wall/r_wall/prepainted/science, /area/rnd/xenobiology/xenoflora_storage) +"kRI" = ( +/obj/structure/table/rack/shelf, +/obj/random/alcohol, +/obj/random/tool, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "kRS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -17030,6 +17977,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay4) +"kRX" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "kSk" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -17045,11 +17996,10 @@ /turf/simulated/floor/tiled, /area/tether/station/public_meeting_room) "kTq" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/rnd/research/researchdivision) +/obj/structure/closet, +/obj/random/maintenance/clean, +/turf/simulated/floor, +/area/maintenance/research/port) "kTr" = ( /obj/machinery/computer/crew{ dir = 4 @@ -17063,11 +18013,8 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay4) "kTz" = ( -/obj/structure/closet/secure_closet/medical3, -/obj/item/storage/belt/medical, -/obj/item/soap/nanotrasen, -/obj/effect/floor_decal/industrial/outline/blue, -/turf/simulated/floor/tiled/white, +/obj/structure/catwalk, +/turf/simulated/floor/plating, /area/medical/medbay_primary_storage) "kTB" = ( /obj/effect/floor_decal/corner_techfloor_grid/full{ @@ -17159,6 +18106,9 @@ /obj/landmark/spawnpoint/job/research_director, /turf/simulated/floor/tiled, /area/rnd/rdoffice) +"kUT" = ( +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2portforhall) "kVh" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 8 @@ -17301,6 +18251,16 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) +"kYT" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "kYY" = ( /obj/structure/sink{ dir = 4; @@ -17312,6 +18272,13 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) +"kZb" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/closet/secure_closet/medical3, +/obj/item/storage/belt/medical, +/obj/item/soap/nanotrasen, +/turf/simulated/floor/tiled, +/area/medical/medbay_primary_storage) "kZg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -17427,6 +18394,10 @@ }, /turf/simulated/floor/tiled/dark, /area/tether/station/public_meeting_room) +"lbn" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "lbt" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -17436,7 +18407,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2aftmaint) +/area/endeavour/hallway/d2portamidhall) "lbw" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -17566,7 +18537,7 @@ "lfu" = ( /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "lfy" = ( /obj/structure/table/steel_reinforced, /obj/item/reagent_containers/spray/cleaner{ @@ -17651,6 +18622,10 @@ /obj/map_helper/access_helper/airlock/station/science/department, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"ljm" = ( +/obj/item/handcuffs/cable, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "ljq" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -17668,7 +18643,7 @@ /obj/structure/catwalk, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "lkB" = ( /obj/machinery/photocopier, /obj/machinery/air_alarm/south_mount, @@ -17676,8 +18651,7 @@ /area/medical/medbay4) "lkW" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/plating, /area/medical/surgery_storage) @@ -17841,7 +18815,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "lqw" = ( /obj/structure/railing{ dir = 8 @@ -17860,6 +18834,11 @@ }, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) +"lqV" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/fire_alarm/west_mount, +/turf/simulated/floor/plating, +/area/maintenance/research) "lrJ" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/airlock/voidcraft/vertical{ @@ -17937,6 +18916,19 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) +"ltG" = ( +/obj/structure/bed/chair/bay/comfy/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/landmark/spawnpoint/job/pilot, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "ltM" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloorblack{ @@ -18014,6 +19006,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"luU" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Spares Bay" + }, +/obj/machinery/door/firedoor/glass, +/obj/map_helper/access_helper/airlock/station/exploration/pilot, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/exploration/pilot_Office) "lwb" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -18118,6 +19121,14 @@ }, /turf/simulated/floor/tiled/white, /area/medical/exam_room/exam_1) +"lzN" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/clothing/head/hardhat/red, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research) "lzQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 @@ -18176,6 +19187,12 @@ /obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/techfloor, /area/assembly/robotics) +"lAT" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "lBn" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/machinery/light_switch{ @@ -18236,24 +19253,8 @@ /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 }, -/obj/machinery/light{ - dir = 8; - pixel_x = -10 - }, /turf/simulated/floor/tiled, /area/rnd/research_foyer) -"lCS" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/rnd/research/researchdivision) "lDf" = ( /obj/machinery/air_alarm{ dir = 8; @@ -18373,7 +19374,10 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2aftmaint) +/area/endeavour/hallway/d2portamidhall) +"lHr" = ( +/turf/simulated/wall/r_wall/prepainted/science, +/area/maintenance/research/port) "lHT" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -18387,6 +19391,12 @@ /obj/machinery/artifact_scanpad, /turf/simulated/floor/tiled/dark, /area/rnd/anomaly_lab/containment_two) +"lIj" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 2, Port Side" + }, +/turf/space/basic, +/area/space) "lIp" = ( /obj/machinery/camera/network/outside, /turf/space/basic, @@ -18574,10 +19584,47 @@ }, /turf/simulated/floor/tiled/techfloor, /area/assembly/robotics) +"lQG" = ( +/obj/structure/closet, +/obj/random/maintenance/engineering, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) +"lQV" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 10 + }, +/obj/machinery/computer/ship/sensors/planet{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "lRu" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_c) +"lRS" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/beige/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/medical/medbay4) "lRT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/tiled, @@ -18710,6 +19757,19 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"lTS" = ( +/obj/structure/table/gamblingtable, +/obj/item/toy/character/lich{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/toy/character/voidone{ + pixel_y = 9; + pixel_x = 12 + }, +/obj/item/storage/pill_bottle/dice_nerd, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "lUe" = ( /obj/machinery/light, /turf/simulated/floor/reinforced, @@ -18730,6 +19790,24 @@ /obj/machinery/light/small, /turf/simulated/floor/tiled, /area/rnd/storage) +"lWH" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1starboardforhall) "lWJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18762,13 +19840,11 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay3) "lYK" = ( -/obj/machinery/camera/network/medbay{ +/obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 }, -/obj/structure/closet/l3closet/virology, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/medical/virology_fore_access) +/turf/simulated/floor/tiled/techfloor/grid, +/area/hallway/station/docks) "lYU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -18788,6 +19864,15 @@ }, /turf/simulated/floor/wood/sif/indoors, /area/medical/reception) +"lZA" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "lZR" = ( /obj/structure/catwalk, /obj/structure/cable{ @@ -18830,8 +19915,7 @@ /area/hallway/station/docks) "mcL" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 9 @@ -18910,7 +19994,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "mdU" = ( /obj/structure/cable{ icon_state = "4-8" @@ -18935,6 +20019,15 @@ }, /turf/simulated/floor/wood, /area/medical/psych/psych_2) +"mfH" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/research/port) "mgw" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -18947,6 +20040,12 @@ dir = 1 }, /obj/machinery/door/airlock/glass, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "mgH" = ( @@ -18997,6 +20096,16 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"miz" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "miA" = ( /obj/machinery/air_alarm/monitor/isolation{ alarm_id = "isolation_one"; @@ -19082,10 +20191,10 @@ /turf/simulated/shuttle/wall/voidcraft/blue, /area/endeavour/hallway/d1starboardforhall) "mnx" = ( -/obj/machinery/light{ +/obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/tiled/white, +/turf/simulated/floor/plating, /area/medical/medbay_primary_storage) "mnH" = ( /obj/machinery/computer/arcade/clawmachine, @@ -19153,6 +20262,15 @@ }, /turf/simulated/floor/wood, /area/medical/psych/psych_1) +"mpL" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "mpP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 5 @@ -19177,6 +20295,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"mqi" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "mqr" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -19208,8 +20330,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) @@ -19265,7 +20386,7 @@ "mrz" = ( /obj/structure/ladder/up, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "mrL" = ( /obj/structure/closet/secure_closet/medical_wall/pills{ pixel_x = -32 @@ -19371,6 +20492,19 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/simulated/floor/tiled/monotile, /area/rnd/xenobiology/xenoflora/lab_atmos) +"mwB" = ( +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/camera/network/exploration, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "mwF" = ( /obj/machinery/light{ dir = 4 @@ -19412,13 +20546,15 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 5 }, +/obj/machinery/station_map{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) "mxO" = ( /obj/machinery/recharge_station, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) @@ -19436,6 +20572,12 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) +"myR" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "mza" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -19455,8 +20597,7 @@ pixel_x = -22 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/dark, @@ -19535,6 +20676,7 @@ /obj/map_helper/electrochromatic_linker{ id = "robotics-outer" }, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/assembly/robotics) "mBc" = ( @@ -19569,6 +20711,11 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) +"mDj" = ( +/obj/machinery/air_alarm/east_mount, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research) "mDp" = ( /turf/space, /area/space) @@ -19654,6 +20801,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "mFC" = ( @@ -19687,6 +20835,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "mGl" = ( @@ -19790,7 +20941,7 @@ }, /obj/map_helper/access_helper/airlock/station/medical/department, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "mJO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/light_switch{ @@ -19811,6 +20962,7 @@ /obj/machinery/light/small{ dir = 8 }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/medical) "mKe" = ( @@ -19842,8 +20994,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/lightorange/bordercorner2, /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /turf/simulated/floor/tiled/white, /area/medical/chemistry) @@ -19854,8 +21005,7 @@ /area/medical/patient_wing) "mLf" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/toilet{ dir = 4 @@ -19915,21 +21065,6 @@ }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) -"mMY" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor{ - dir = 1 - }, -/turf/simulated/open, -/area/rnd/research/researchdivision) "mNh" = ( /turf/simulated/wall/r_wall/prepainted, /area/maintenance/fpmaint2) @@ -19964,8 +21099,7 @@ icon_state = "1-2" }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) @@ -20003,13 +21137,12 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) "mQh" = ( -/obj/machinery/light{ - dir = 1 - }, /obj/structure/cable/green{ icon_state = "4-8" }, /obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) "mQm" = ( @@ -20122,6 +21255,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "mTN" = ( @@ -20174,6 +21310,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"mVo" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "mVt" = ( /obj/machinery/door/airlock{ name = "Restroom" @@ -20241,9 +21381,6 @@ }, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/cable/green{ @@ -20277,8 +21414,7 @@ /area/medical/medbay4) "mZc" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) @@ -20304,6 +21440,13 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"naZ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "nbe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20447,8 +21590,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) @@ -20486,6 +21628,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "neQ" = ( @@ -20513,6 +21656,13 @@ /obj/structure/closet/firecloset/full, /turf/simulated/floor/tiled, /area/rnd/xenobiology) +"nfQ" = ( +/obj/random/cutout, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "nfS" = ( /obj/machinery/door/firedoor/glass, /obj/map_helper/access_helper/airlock/station/medical/department, @@ -20583,16 +21733,12 @@ /obj/item/book/manual/medical_diagnostics_manual, /turf/simulated/floor/carpet/blucarpet, /area/crew_quarters/medbreak) -"nhq" = ( -/turf/simulated/wall/r_wall/prepainted, -/area/endeavour/hallway/d2fwdmaint) "nhX" = ( /obj/effect/floor_decal/corner_techfloor_grid/full{ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/endeavour/hallway/d2afthall) @@ -20666,7 +21812,7 @@ }, /obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2fwdmaint) +/area/endeavour/hallway/d1starboardforhall) "nmJ" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 6 @@ -20707,10 +21853,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) +"nod" = ( +/obj/random/maintenance/medical, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "nok" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/suit_cycler/medical, /obj/effect/floor_decal/corner/paleblue{ @@ -20803,6 +21952,11 @@ }, /turf/simulated/floor/tiled, /area/medical/medbay4) +"ntI" = ( +/obj/structure/catwalk, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/research) "nuw" = ( /obj/machinery/light/small{ dir = 1 @@ -20918,8 +22072,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) @@ -20932,6 +22086,24 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"nwH" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/station_map{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2portamidhall) +"nwK" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "nwT" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -21012,6 +22184,10 @@ "nzx" = ( /turf/simulated/open, /area/station/stairs_two) +"nzA" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "nzW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -21029,8 +22205,7 @@ /area/medical/psych_ward) "nzY" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/structure/cable{ icon_state = "1-2" @@ -21056,6 +22231,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"nAM" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled, +/area/rnd/rdoffice) "nAQ" = ( /obj/structure/table/bench/steel, /turf/simulated/floor/glass/reinforced, @@ -21108,6 +22287,7 @@ dir = 8 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/shuttle/emt/general) "nBC" = ( @@ -21135,15 +22315,9 @@ /turf/simulated/floor/wood, /area/rnd/breakroom) "nBV" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorblack, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/obj/machinery/vending/coffee, +/turf/simulated/floor/tiled/dark, +/area/rnd/research/researchdivision) "nCo" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -21164,6 +22338,10 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora/lab_atmos) +"nCx" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "nCR" = ( /obj/machinery/door/firedoor, /obj/structure/cable/orange{ @@ -21310,6 +22488,31 @@ }, /turf/simulated/floor/tiled, /area/rnd/rdoffice) +"nHX" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) +"nHZ" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/medical/virology_aft_access) "nIk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloorblack/corner{ @@ -21332,6 +22535,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"nJf" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "nJj" = ( /obj/structure/closet/secure_closet/medical2, /obj/effect/floor_decal/corner/paleblue{ @@ -21345,18 +22553,13 @@ }, /turf/simulated/floor/plating, /area/medical/virologymaint) -"nJI" = ( -/obj/structure/catwalk, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/medbay/aft) "nJM" = ( /obj/machinery/power/apc/north_mount, /obj/structure/cable/green{ icon_state = "0-4" }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "nKm" = ( /obj/structure/window/reinforced{ dir = 1 @@ -21573,6 +22776,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) +"nNV" = ( +/obj/item/newspaper, +/turf/simulated/floor, +/area/maintenance/research/port) "nOm" = ( /obj/structure/table/standard, /obj/item/storage/box/beakers{ @@ -21626,7 +22833,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "nPr" = ( /obj/machinery/door/firedoor/glass, /obj/map_helper/access_helper/airlock/station/medical/department, @@ -21706,6 +22913,12 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, /area/medical/reception) +"nRM" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "nSz" = ( /obj/machinery/chem_master, /obj/effect/floor_decal/borderfloor{ @@ -21811,7 +23024,9 @@ /turf/simulated/floor/wood/sif/indoors, /area/medical/reception) "nWQ" = ( -/obj/effect/shuttle_landmark/endeavour/deck3/starboard, +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 2, Starboard Side" + }, /turf/space, /area/space) "nXe" = ( @@ -21844,18 +23059,6 @@ }, /turf/simulated/floor/tiled/white, /area/shuttle/emt/general) -"nXl" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor{ - dir = 1 - }, -/turf/simulated/open, -/area/rnd/research/researchdivision) "nXm" = ( /turf/simulated/floor/tiled/dark, /area/rnd/anomaly_lab/containment_two) @@ -21884,6 +23087,21 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/station/stairs_two) +"nZt" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2portamidhall) "nZC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -21901,7 +23119,10 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) "oaQ" = ( @@ -21966,8 +23187,7 @@ }, /obj/machinery/power/apc/north_mount, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/assembly/chargebay) @@ -21978,6 +23198,12 @@ }, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) +"oen" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "oey" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22013,6 +23239,13 @@ }, /turf/simulated/floor/tiled/white, /area/holodeck_control) +"ofA" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "ofU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -22081,6 +23314,11 @@ }, /turf/simulated/floor/plating, /area/medical/virologymaint) +"ohX" = ( +/obj/effect/floor_decal/rust, +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "ojq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -22091,6 +23329,10 @@ /obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) +"ojx" = ( +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "ojL" = ( /obj/structure/table/standard, /obj/item/storage/box/monkeycubes{ @@ -22107,14 +23349,6 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology) -"ojU" = ( -/obj/machinery/button/windowtint{ - id = "robotics-inner"; - pixel_x = -22; - pixel_y = 24 - }, -/turf/space/basic, -/area/space) "ojY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22133,6 +23367,10 @@ /obj/structure/closet/l3closet/scientist/double, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) +"oko" = ( +/obj/structure/poster/preset/baystation/bay_47, +/turf/simulated/wall/r_wall/prepainted, +/area/maintenance/fpmaint2) "okq" = ( /obj/machinery/holopad, /turf/simulated/floor/tiled, @@ -22205,10 +23443,10 @@ /area/rnd/xenobiology/xenoflora) "okS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 8 +/obj/machinery/light{ + dir = 1 }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) @@ -22225,6 +23463,16 @@ /obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, /area/rnd/research/researchdivision) +"oli" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/closet/secure_closet/pilot, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "olB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22248,6 +23496,7 @@ name = "Containment Blast Doors"; opacity = 0 }, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "omt" = ( @@ -22267,6 +23516,9 @@ }, /turf/simulated/floor/wood, /area/medical/medbay4) +"omO" = ( +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "omZ" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -22298,6 +23550,11 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) +"onF" = ( +/obj/fiftyspawner/phoronrglass, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "onN" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -22500,9 +23757,12 @@ /area/rnd/robotics/morgue) "owo" = ( /obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, -/obj/map_helper/electrochromatic_linker{ - id = "research-inner" +/obj/machinery/door/blast/shutters{ + dir = 8; + id = "rndshutters"; + name = "Research Shutters" }, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/rnd/reception_desk) "owE" = ( @@ -22566,6 +23826,25 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) +"ozJ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) +"ozQ" = ( +/obj/machinery/fire_alarm/east_mount, +/obj/effect/floor_decal/spline/fancy{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "ozS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -22613,14 +23892,20 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/door/firedoor{ dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) +"oBH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor/grid, +/area/hallway/station/docks) "oBJ" = ( /obj/effect/floor_decal/corner_techfloor_grid{ dir = 10 @@ -22716,8 +24001,7 @@ /area/endeavour/hallway/d1starboardafthall) "oEw" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) @@ -22745,16 +24029,15 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/station/docks) "oFP" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, /obj/effect/floor_decal/corner/navgold/border{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) "oFZ" = ( @@ -22769,17 +24052,8 @@ /obj/machinery/station_map{ pixel_y = 32 }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portforhall) +/turf/simulated/floor/tiled/dark, +/area/endeavour/hallway/d2portafthall) "oGx" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -22855,9 +24129,20 @@ /turf/simulated/floor/tiled/white, /area/medical/psych_ward) "oHz" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/dark, -/area/endeavour/hallway/d2portafthall) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2portamidhall) "oIm" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22889,8 +24174,7 @@ }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/patient_a) @@ -23010,6 +24294,9 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/machinery/station_map{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portforhall) "oLc" = ( @@ -23079,6 +24366,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virology) +"oNN" = ( +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "oOa" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -23104,6 +24395,17 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virology) +"oOJ" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "oOO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -23116,6 +24418,10 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/rnd/breakroom) +"oOZ" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "oPc" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/mauve/border, @@ -23128,6 +24434,16 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"oPo" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) +"oPM" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "oQx" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -23249,6 +24565,16 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/simulated/floor/tiled/monotile, /area/rnd/xenobiology/xenoflora/lab_atmos) +"oSZ" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "oTe" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 @@ -23272,8 +24598,7 @@ /area/medical/resleeving) "oUf" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -23351,6 +24676,11 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 1 }, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/pen, /turf/simulated/floor/tiled/steel_grid, /area/rnd/reception_desk) "oXk" = ( @@ -23452,9 +24782,9 @@ }, /obj/machinery/air_alarm/north_mount, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) "oYE" = ( @@ -23496,6 +24826,7 @@ name = "Containment Blast Doors"; opacity = 0 }, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "oZA" = ( @@ -23710,6 +25041,13 @@ /obj/map_helper/access_helper/airlock/station/medical/department, /turf/simulated/floor/tiled/white, /area/shuttle/emt/general) +"peZ" = ( +/obj/structure/catwalk, +/obj/machinery/fire_alarm/south_mount{ + pixel_y = -24 + }, +/turf/simulated/floor/plating, +/area/medical/medbay_primary_storage) "pfe" = ( /obj/structure/railing, /obj/structure/railing{ @@ -23764,7 +25102,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "pfB" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -23773,8 +25111,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) @@ -23903,6 +25240,9 @@ /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled, /area/medical/medbay_emt_bay) +"pix" = ( +/turf/simulated/wall/r_wall/prepainted/medical, +/area/exploration/pilot_Office) "piH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -23918,6 +25258,12 @@ }, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"piI" = ( +/obj/structure/bed/chair/comfy/blue{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "piJ" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -23955,6 +25301,13 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d2portamidhall) +"pkp" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "pky" = ( /obj/machinery/door/firedoor/glass, /obj/effect/floor_decal/borderfloor{ @@ -23999,7 +25352,7 @@ /obj/item/paper_bin, /obj/item/pen, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "plL" = ( /obj/machinery/door/airlock/glass, /obj/machinery/door/firedoor, @@ -24010,6 +25363,18 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) +"pmu" = ( +/obj/machinery/holopad, +/obj/effect/floor_decal/spline/fancy{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "pmG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24101,6 +25466,13 @@ }, /turf/simulated/floor/tiled/steel, /area/rnd/chemistry_lab) +"ppr" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "pps" = ( /obj/machinery/computer/guestpass{ dir = 4; @@ -24116,8 +25488,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/rnd/hallway) @@ -24163,12 +25534,25 @@ }, /turf/simulated/floor/tiled/white, /area/rnd/chemistry_lab) +"ppH" = ( +/obj/landmark{ + name = "maint_pred" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "ppR" = ( /obj/machinery/camera/network/outside{ dir = 1 }, /turf/space, /area/space) +"ppZ" = ( +/obj/structure/table/glass, +/obj/machinery/photocopier/faxmachine{ + department = "Research Break Room" + }, +/turf/simulated/floor/carpet/purcarpet, +/area/rnd/breakroom) "pqy" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -24247,15 +25631,24 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay4) -"psO" = ( -/obj/effect/floor_decal/corner/paleblue{ - dir = 9 +"psn" = ( +/obj/machinery/light/small{ + dir = 8 }, +/obj/structure/table/rack/shelf, +/obj/random/tool, +/obj/random/toolbox, +/turf/simulated/floor/plating, +/area/maintenance/research/port) +"psO" = ( +/obj/machinery/vending/medical, /obj/effect/floor_decal/corner/paleblue{ dir = 6 }, /obj/effect/floor_decal/industrial/outline/blue, -/obj/machinery/vending/medical, +/obj/effect/floor_decal/corner/paleblue{ + dir = 9 + }, /turf/simulated/floor/tiled/steel_ridged, /area/medical/medbay_emt_bay) "pta" = ( @@ -24394,13 +25787,30 @@ pixel_y = 28 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) +"pxy" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/xenobio) "pxV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 8 }, /turf/simulated/wall/r_wall/prepainted/medical, /area/medical/virology_aft_access) +"pyb" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/effect/floor_decal/spline/fancy/wood/corner, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/camera/network/exploration, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "pyk" = ( /obj/structure/cable{ icon_state = "1-8" @@ -24413,6 +25823,9 @@ }, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, +/obj/structure/sign/greencross{ + pixel_y = -30 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "pyK" = ( @@ -24424,10 +25837,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/machinery/door/airlock/glass/research{ - name = "Research Lounge"; - req_one_access = null - }, +/obj/machinery/door/airlock/research, /obj/map_helper/access_helper/airlock/station/science/department, /turf/simulated/floor/tiled, /area/rnd/breakroom) @@ -24577,6 +25987,7 @@ /area/endeavour/hallway/d2portamidhall) "pCA" = ( /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "pCH" = ( @@ -24612,6 +26023,15 @@ }, /turf/simulated/floor, /area/shuttle/emt/general) +"pDi" = ( +/obj/structure/closet/crate, +/obj/random/maintenance/engineering, +/obj/random/maintenance, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "pDl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -24692,13 +26112,18 @@ /turf/simulated/floor/wood, /area/medical/medbay4) "pFp" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "pFq" = ( @@ -24824,8 +26249,11 @@ /turf/simulated/floor/plating, /area/maintenance/substation/research) "pIz" = ( -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/obj/structure/bed/chair/sofa/purp/right{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/rnd/research/researchdivision) "pIE" = ( /obj/structure/sign/department/operational{ pixel_y = -30 @@ -24866,7 +26294,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "pJM" = ( /obj/machinery/light/small{ dir = 4 @@ -24935,8 +26363,7 @@ network = list("Xenobiology") }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -24953,13 +26380,11 @@ /turf/simulated/floor/tiled, /area/holodeck_control) "pNT" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "ward_b" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/patient_b) "pNX" = ( @@ -25073,8 +26498,7 @@ icon_state = "1-2" }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) @@ -25173,6 +26597,7 @@ /area/maintenance/medbay/aft) "pTX" = ( /obj/machinery/portable_atmospherics/powered/scrubber, +/obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/plating, /area/maintenance/medbay/aft) "pUb" = ( @@ -25367,8 +26792,7 @@ dir = 5 }, /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /turf/simulated/floor/tiled/white, /area/medical/chemistry) @@ -25512,8 +26936,7 @@ network = list("Xenobiology") }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora/lab_atmos) @@ -25594,14 +27017,25 @@ /turf/simulated/floor/tiled, /area/medical/morgue) "qaO" = ( -/obj/machinery/light, /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, /obj/structure/disposalpipe/junction{ dir = 8 }, +/obj/machinery/camera/network/civilian{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) +"qbw" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 5 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "qbE" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, @@ -25612,7 +27046,7 @@ }, /obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, -/area/maintenance/fpmaint2) +/area/endeavour/hallway/d2portforhall) "qfo" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -25717,6 +27151,9 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "qiy" = ( @@ -26029,21 +27466,11 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "qrO" = ( -/obj/machinery/air_alarm{ - dir = 8; - pixel_x = 25 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorwhite{ - dir = 4 - }, -/obj/effect/floor_decal/corner/green/border{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, -/turf/simulated/floor/tiled/white, -/area/medical/virology_fore_access) +/turf/simulated/floor/tiled/techfloor/grid, +/area/hallway/station/docks) "qsB" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -26218,6 +27645,10 @@ /obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/surgeryprep) +"qxd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "qxs" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -26326,6 +27757,12 @@ /obj/map_helper/access_helper/airlock/station/science/department, /turf/simulated/floor/tiled/steel, /area/rnd/testingroom) +"qzK" = ( +/obj/structure/closet/crate, +/obj/random/tool, +/obj/random/tool, +/turf/simulated/floor/tiled, +/area/maintenance/research/port) "qzR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -26441,6 +27878,8 @@ tag_interior_door = "virology_airlock_fore_interior"; pixel_y = -24 }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/l3closet/virology, /turf/simulated/floor/tiled, /area/medical/virology_fore_access) "qDK" = ( @@ -26462,6 +27901,12 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay4) +"qDU" = ( +/obj/structure/table/rack, +/obj/random/maintenance/engineering, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "qDX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -26533,7 +27978,7 @@ /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/purplegray, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "qFw" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/westleft{ @@ -26546,13 +27991,17 @@ /turf/simulated/floor/wood, /area/medical/medbay4) "qFD" = ( -/obj/structure/closet/secure_closet/medical3, -/obj/item/storage/belt/medical, -/obj/item/soap/nanotrasen, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/structure/window/reinforced/tinted, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/medical/surgeryprep) "qFO" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 @@ -26654,6 +28103,12 @@ "qIV" = ( /turf/simulated/wall/prepainted, /area/endeavour/hallway/d2portafthall) +"qIW" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "qJz" = ( /turf/simulated/wall/r_wall/prepainted/medical, /area/medical/sleeper) @@ -26718,31 +28173,23 @@ /turf/simulated/floor/tiled/dark, /area/assembly/robotics/surgery) "qKR" = ( -/obj/structure/bed/chair/bay/shuttle{ - dir = 4 - }, -/obj/machinery/button/remote/blast_door{ - id = "emtblast"; - name = "emergency blast shields"; - pixel_y = 30 - }, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, /obj/effect/floor_decal/corner/paleblue/border{ dir = 1 }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/shuttle/emt/cockpit) "qLf" = ( -/obj/effect/floor_decal/borderfloorwhite{ - dir = 4 - }, -/obj/effect/floor_decal/corner/green/border{ - dir = 4 +/obj/structure/railing{ + dir = 1 }, -/turf/simulated/floor/tiled/white, -/area/medical/virology_fore_access) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "qLp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -26786,6 +28233,10 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d2fwdmaint) +"qLF" = ( +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research) "qLY" = ( /obj/effect/floor_decal/corner/green, /turf/simulated/floor/tiled/white, @@ -26987,6 +28438,10 @@ /obj/machinery/fire_alarm/west_mount, /turf/simulated/floor/wood/sif/indoors, /area/medical/reception) +"qTA" = ( +/obj/structure/closet, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "qTI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -27011,11 +28466,17 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) "qUP" = ( -/obj/machinery/light/small{ +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/plating, -/area/endeavour/hallway/d2fwdmaint) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "qVs" = ( /obj/structure/curtain/medical, /obj/structure/cable/green{ @@ -27035,6 +28496,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) +"qWb" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "qWY" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -27148,18 +28613,22 @@ /turf/simulated/floor/tiled, /area/rnd/hallway) "qYx" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/machinery/camera/network/civilian, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 +/obj/effect/floor_decal/borderfloorwhite{ + dir = 8 }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 +/obj/effect/floor_decal/corner/green/border{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portamidhall) +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/medical/virology_aft_access) "qYN" = ( /obj/structure/table/standard, /obj/item/tape_recorder{ @@ -27180,19 +28649,15 @@ /turf/simulated/floor/tiled/techfloor, /area/assembly/robotics) "qZb" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled, +/obj/item/material/shard, +/turf/simulated/floor/plating, /area/rnd/research/researchdivision) "qZA" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "ward_c" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/patient_c) "rau" = ( @@ -27220,6 +28685,7 @@ name = "Containment Blast Doors"; opacity = 0 }, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "rbh" = ( @@ -27278,26 +28744,14 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 8 }, -/obj/machinery/button/windowtint{ - id = "research-outer"; - pixel_x = -22; - pixel_y = -32 - }, -/obj/machinery/button/windowtint{ - id = "research-inner"; - pixel_x = -22; - pixel_y = -23 - }, /turf/simulated/floor/tiled/steel_grid, /area/rnd/reception_desk) "rbX" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "oncall" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/oncall_room) "rcb" = ( @@ -27345,6 +28799,12 @@ /obj/map_helper/access_helper/airlock/station/science/xenoarcheology, /turf/simulated/floor/tiled, /area/rnd/anomaly_lab/containment_two) +"rdi" = ( +/obj/machinery/fire_alarm/west_mount{ + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "rdl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -27530,12 +28990,39 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) +"rif" = ( +/obj/structure/table/steel, +/obj/random/tech_supply, +/obj/random/tool, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "rig" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/black{ dir = 4 }, /turf/simulated/floor/tiled/white, /area/medical/virology) +"riq" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/hallway/station/docks) +"rjm" = ( +/obj/effect/floor_decal/spline/fancy{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "rjy" = ( /obj/item/clothing/gloves/boxing, /obj/item/clothing/gloves/boxing/yellow{ @@ -27570,6 +29057,9 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora/lab_atmos) +"rkZ" = ( +/turf/simulated/wall/prepainted/science, +/area/endeavour/hallway/d2portafthall) "rlT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -27669,8 +29159,23 @@ /turf/simulated/floor/tiled/white, /area/medical/virology_aft_access) "rpi" = ( -/turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2portforhall) "rpj" = ( /turf/simulated/wall/prepainted, /area/maintenance/substation/research) @@ -27822,12 +29327,11 @@ /turf/simulated/wall/prepainted, /area/teleporter/departing) "ruq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 5 }, -/turf/simulated/floor/tiled, -/area/rnd/research/researchdivision) +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/research/port) "rut" = ( /obj/effect/floor_decal/corner/paleblue/full{ dir = 4 @@ -27901,8 +29405,7 @@ pixel_y = 22 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/holodeck_control) @@ -28025,14 +29528,14 @@ /obj/machinery/light_switch{ pixel_x = 25 }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/machinery/recharge_station, /obj/effect/floor_decal/corner/paleblue{ - dir = 6 + dir = 9 }, /obj/effect/floor_decal/corner/paleblue{ - dir = 9 + dir = 6 }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/recharge_station, /turf/simulated/floor/tiled/steel_ridged, /area/medical/medbay_emt_bay) "rAk" = ( @@ -28112,6 +29615,13 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"rDQ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "rEu" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 10 @@ -28150,6 +29660,12 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virology) +"rFw" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/map_helper/access_helper/airlock/station/medical/department, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/medical/medbay_primary_storage) "rFW" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 @@ -28166,6 +29682,10 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"rHP" = ( +/obj/spawner/window/borosillicate/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "rHQ" = ( /obj/machinery/computer/centrifuge, /turf/simulated/floor/tiled, @@ -28320,8 +29840,7 @@ /area/medical/medbay4) "rMu" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/rnd/anomaly_lab) @@ -28470,8 +29989,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, @@ -28492,6 +30010,9 @@ }, /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) +"rRr" = ( +/turf/simulated/floor, +/area/maintenance/research/port) "rRw" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/under/rank/medical/scrubs/black, @@ -28525,6 +30046,12 @@ }, /turf/simulated/floor/tiled/white, /area/medical/reception) +"rTI" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "rTV" = ( /obj/machinery/door/firedoor/glass{ dir = 4 @@ -28533,6 +30060,7 @@ /obj/map_helper/electrochromatic_linker{ id = "robotics-inner" }, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/assembly/robotics) "rUa" = ( @@ -28638,6 +30166,16 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_a) +"rWl" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "rWG" = ( /obj/structure/toilet{ dir = 1 @@ -28701,6 +30239,11 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) +"rYl" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "rYp" = ( /obj/structure/bed/roller, /obj/effect/floor_decal/borderfloorwhite{ @@ -28769,6 +30312,17 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) +"scw" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/storage/fancy/cigar/cohiba{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "scE" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -28793,6 +30347,7 @@ icon_state = "0-4" }, /obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) "scP" = ( @@ -28805,6 +30360,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, +/obj/machinery/camera/network/civilian, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) "scT" = ( @@ -28812,8 +30368,12 @@ /obj/map_helper/electrochromatic_linker{ id = "robotics-inner" }, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/assembly/robotics) +"scX" = ( +/turf/simulated/wall/r_wall/prepainted, +/area/exploration/pilot_Office) "sdA" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, @@ -28823,10 +30383,10 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 10 }, +/obj/machinery/light, /obj/machinery/newscaster{ - pixel_y = -31 + pixel_x = -29 }, -/obj/machinery/light, /turf/simulated/floor/tiled/steel_grid, /area/rnd/reception_desk) "seE" = ( @@ -28905,13 +30465,26 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "sha" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"shb" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/air_alarm/west_mount, +/obj/effect/floor_decal/spline/fancy{ + dir = 8 + }, +/obj/structure/bed/chair/bay/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "she" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/lightorange/border, @@ -28971,6 +30544,10 @@ "sjz" = ( /turf/simulated/wall/r_wall/prepainted/science, /area/rnd/xenobiology/xenoflora) +"sjJ" = ( +/obj/item/clothing/glasses/sunglasses/blindfold/tape, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "sjN" = ( /obj/machinery/computer/ship/engines, /obj/structure/sign/warning/nosmoking_1{ @@ -29040,23 +30617,13 @@ icon_state = "1-2" }, /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/effect/floor_decal/corner_techfloor_grid{ dir = 9 }, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/cafeteria) -"sme" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 10 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 10 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) "smf" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 @@ -29103,8 +30670,7 @@ /obj/structure/table/standard, /obj/item/paicard, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/holodeck_control) @@ -29115,8 +30681,7 @@ dir = 9 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/psych_ward) @@ -29143,6 +30708,15 @@ }, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) +"soP" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/wood, +/area/tether/station/public_meeting_room) "soU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -29212,12 +30786,25 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/medical/patient_c) "sqh" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment{ dir = 8; icon_state = "pipe-c" }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 6 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 6 + }, +/obj/machinery/fire_alarm/east_mount, +/obj/effect/floor_decal/borderfloorwhite/corner2, +/obj/effect/floor_decal/corner/green/bordercorner2, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) "sqk" = ( @@ -29310,6 +30897,12 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/simulated/floor/tiled, /area/rnd/storage) +"svm" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "svr" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -29328,6 +30921,14 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virology_aft_access) +"svB" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "svR" = ( /turf/simulated/wall/prepainted/science, /area/rnd/breakroom) @@ -29400,10 +31001,13 @@ /obj/machinery/iv_drip, /turf/simulated/floor/tiled, /area/medical/surgery) -"szh" = ( -/obj/structure/catwalk, -/turf/simulated/floor/airless/ceiling, -/area/endeavour/hallway/d2aftmaint) +"szk" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/item/soap/nanotrasen, +/obj/structure/closet/secure_closet/medical3, +/obj/item/storage/belt/medical, +/turf/simulated/floor/tiled, +/area/medical/medbay_primary_storage) "szz" = ( /obj/structure/window/reinforced, /obj/structure/bed/chair{ @@ -29417,16 +31021,6 @@ }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) -"szG" = ( -/obj/machinery/door/firedoor, -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/corner/navgold/border{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2afthall) "sAZ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -29448,6 +31042,12 @@ }, /turf/simulated/floor/carpet/sblucarpet, /area/medical/psych/psych_2) +"sBo" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/maintenance/research/xenobio) "sCe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29560,14 +31160,19 @@ }, /turf/simulated/floor/tiled/dark, /area/rnd/research/testingrange) +"sFl" = ( +/obj/structure/bed/chair/sofa/black/right, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "sFu" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "or1obs" }, -/obj/machinery/door/firedoor{ - dir = 1 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/surgery) "sFK" = ( @@ -29606,6 +31211,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"sFS" = ( +/obj/machinery/fire_alarm/west_mount{ + pixel_x = -24 + }, +/obj/structure/closet/firecloset, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "sFY" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -29645,6 +31257,10 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) +"sHf" = ( +/obj/machinery/fire_alarm/west_mount, +/turf/simulated/floor/plating, +/area/maintenance/substation/medical_science) "sHs" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -29703,7 +31319,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "sIX" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -29790,6 +31406,14 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) +"sMN" = ( +/obj/machinery/power/apc/west_mount, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "sNd" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -29914,6 +31538,16 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) +"sQG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "sQI" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 @@ -29930,6 +31564,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "sRh" = ( @@ -29941,8 +31576,7 @@ "sRp" = ( /obj/machinery/camera/network/medbay, /obj/machinery/light{ - dir = 1; - pixel_y = 20 + dir = 1 }, /obj/structure/bed/chair/sofa/teal/left, /obj/effect/floor_decal/spline/fancy/wood{ @@ -29957,6 +31591,7 @@ /obj/effect/floor_decal/corner/navgold/border{ dir = 4 }, +/obj/machinery/door/firedoor, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "sTi" = ( @@ -29975,6 +31610,22 @@ }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"sTu" = ( +/obj/structure/table/gamblingtable, +/obj/item/toy/character/wizard{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/toy/character/warrior{ + pixel_y = 6; + pixel_x = 9 + }, +/obj/item/toy/character/thief, +/obj/item/toy/character/cleric{ + pixel_y = 14 + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "sTI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 10 @@ -30016,6 +31667,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "sUJ" = ( @@ -30038,6 +31690,13 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"sVo" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "sVt" = ( /obj/machinery/smartfridge/drying_rack, /obj/machinery/camera/network/research{ @@ -30062,6 +31721,13 @@ /obj/machinery/vending/snack, /turf/simulated/floor/wood, /area/crew_quarters/medbreak) +"sVM" = ( +/obj/structure/table/rack/shelf/steel, +/obj/random/maintenance/engineering, +/obj/random/maintenance/cargo, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "sVZ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -30109,6 +31775,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) +"sXw" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "sXx" = ( /obj/machinery/door/firedoor/glass{ dir = 4 @@ -30133,8 +31806,7 @@ "sXW" = ( /obj/structure/morgue, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) @@ -30174,6 +31846,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) +"sZg" = ( +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "sZj" = ( /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) @@ -30293,12 +31969,8 @@ /turf/simulated/floor/tiled/white, /area/medical/reception) "tem" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/turf/simulated/floor/airless/ceiling, -/area/maintenance/research) +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "tep" = ( /obj/structure/cable{ icon_state = "1-2" @@ -30317,9 +31989,6 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) -"teE" = ( -/turf/simulated/floor/airless/ceiling, -/area/maintenance/fpmaint2) "teL" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -30364,7 +32033,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2aftmaint) +/area/endeavour/hallway/d2portafthall) "tfP" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 @@ -30378,6 +32047,13 @@ /obj/item/slime_extract/grey, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) +"tgP" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "thc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -30467,6 +32143,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"tie" = ( +/obj/structure/table/steel, +/obj/item/flame/candle, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "tij" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/purplegray, @@ -30479,6 +32160,12 @@ }, /turf/simulated/floor/carpet/sblucarpet, /area/medical/psych/psych_1) +"tiW" = ( +/obj/structure/table/rack, +/obj/random/maintenance/clean, +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "tjU" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /turf/simulated/floor/tiled, @@ -30501,6 +32188,12 @@ /obj/effect/floor_decal/corner/navgold/bordercorner, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) +"tkZ" = ( +/obj/structure/frame{ + anchored = 1 + }, +/turf/simulated/floor, +/area/maintenance/research/port) "tlU" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -30562,13 +32255,13 @@ /turf/simulated/floor/tiled/white, /area/medical/sleeper) "tov" = ( -/obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, /obj/effect/floor_decal/corner/navblue/border{ dir = 8 }, +/obj/machinery/fire_alarm/west_mount, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2afthall) "toD" = ( @@ -30668,6 +32361,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"tqJ" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "tqN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -30758,15 +32455,11 @@ /turf/simulated/floor/tiled/white, /area/shuttle/emt/general) "ttm" = ( -/obj/machinery/door/firedoor{ - dir = 1 - }, -/obj/machinery/door/airlock/maintenance/common, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/light/small{ + dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/lower) "ttn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -30831,16 +32524,17 @@ /turf/simulated/floor/tiled/white, /area/medical/virology_aft_access) "tvV" = ( +/obj/item/clothing/head/hardhat/red, +/obj/item/clothing/head/hardhat/red, +/obj/structure/table/rack, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2afthall) +/area/maintenance/medbay/aft) "twc" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "ward_a" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/patient_a) "twx" = ( @@ -30960,6 +32654,13 @@ /obj/spawner/window/reinforced/full, /turf/simulated/floor/plating, /area/maintenance/substation/medical_science) +"tzN" = ( +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/turf/simulated/floor/plating, +/area/maintenance/research) "tAf" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 10 @@ -31055,7 +32756,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/lower) "tCI" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -31137,7 +32838,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/lower) "tFZ" = ( /obj/machinery/light{ dir = 4 @@ -31170,6 +32871,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "tHr" = ( @@ -31198,7 +32900,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "tHW" = ( /obj/effect/floor_decal/spline/plain{ dir = 5 @@ -31243,6 +32945,15 @@ /obj/effect/floor_decal/industrial/hatch, /turf/simulated/floor/tiled, /area/medical/surgeryprep) +"tJj" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "tJk" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 6 @@ -31266,6 +32977,10 @@ }, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d1starboardafthall) +"tKc" = ( +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "tKG" = ( /obj/machinery/optable, /obj/machinery/oxygen_pump/anesthetic{ @@ -31291,7 +33006,7 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "tLz" = ( /obj/machinery/door/firedoor/glass{ dir = 4 @@ -31301,11 +33016,10 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/machinery/door/airlock/research{ - id_tag = "researchdoor"; +/obj/machinery/door/airlock/glass/research{ name = "R&D Distribution Area" }, -/obj/map_helper/access_helper/airlock/station/exploration/auxillerysci, +/obj/map_helper/access_helper/airlock/station/public, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) "tLU" = ( @@ -31332,6 +33046,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portforhall) +"tME" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "tMG" = ( /obj/effect/floor_decal/corner_techfloor_grid/full{ dir = 1 @@ -31342,7 +33062,6 @@ /obj/structure/window/reinforced/tinted/frosted{ dir = 4 }, -/obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/techfloor, /area/endeavour/hallway/d2afthall) "tNe" = ( @@ -31365,6 +33084,10 @@ }, /turf/simulated/floor/tiled/white, /area/medical/sleeper) +"tNI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "tNZ" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, @@ -31413,6 +33136,7 @@ }, /obj/structure/disposalpipe/segment, /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/testingroom) "tOP" = ( @@ -31476,10 +33200,6 @@ /obj/structure/sign/biohazard{ pixel_x = -32 }, -/obj/machinery/light{ - dir = 8; - pixel_x = -10 - }, /turf/simulated/floor/tiled/white, /area/medical/virology_aft_access) "tQp" = ( @@ -31562,6 +33282,14 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) +"tRA" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "tSj" = ( /obj/landmark/spawnpoint/overflow/station, /turf/simulated/floor/tiled/techfloor, @@ -31627,6 +33355,11 @@ /obj/effect/floor_decal/corner/navblue/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portforhall) +"tUS" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "tVm" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/purplegray, @@ -31778,11 +33511,10 @@ /area/medical/surgery_storage) "uba" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/wall/prepainted/science, -/area/maintenance/research) +/area/maintenance/research/port) "uck" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -31967,13 +33699,32 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"uhG" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table/rack, +/obj/random/maintenance/clean, +/obj/random/maintenance/cargo, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) +"uhK" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "uhO" = ( /obj/structure/bed/chair, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "uhS" = ( /obj/machinery/holopad, /obj/structure/cable/green{ @@ -32048,6 +33799,9 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/structure/sign/department/rnd{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "ukc" = ( @@ -32057,8 +33811,12 @@ name = "Testing Chamber Blast Door" }, /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/testingroom) +"ukr" = ( +/turf/simulated/wall/prepainted/science, +/area/endeavour/hallway/d2afthall) "ukt" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -32071,6 +33829,12 @@ /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"ukx" = ( +/obj/machinery/floodlight, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "ukC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -32097,9 +33861,27 @@ /turf/simulated/floor/tiled, /area/medical/virology) "ulr" = ( -/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/structure/sign/department/sci{ + pixel_y = 32 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) +"ulT" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/research) "umy" = ( /obj/machinery/door/firedoor/glass{ dir = 4 @@ -32119,19 +33901,11 @@ /area/medical/medbay_primary_storage) "unJ" = ( /obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/obj/structure/table/reinforced, +/turf/simulated/floor/tiled/dark, +/area/rnd/research/researchdivision) "unU" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -32178,12 +33952,11 @@ /turf/simulated/floor/tiled, /area/medical/resleeving) "upS" = ( -/obj/machinery/computer/timeclock/premade/south, -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/navgold/border, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/navgold/bordercorner, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) "urd" = ( @@ -32203,6 +33976,9 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/machinery/station_map{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2fwdhall) "urC" = ( @@ -32404,6 +34180,7 @@ opacity = 0 }, /obj/spawner/window/low_wall/reinforced/full, +/obj/effect/paint/purplegray, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) "uxB" = ( @@ -32411,13 +34188,11 @@ /turf/simulated/floor/tiled/dark, /area/rnd/anomaly_lab/containment_one) "uxG" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "or2" }, -/obj/machinery/door/firedoor{ - dir = 1 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/surgeryprep) "uyr" = ( @@ -32474,10 +34249,6 @@ /obj/structure/flora/pottedplant/orientaltree, /turf/simulated/floor/tiled/white, /area/medical/medbay3) -"uAu" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/simulated/floor/airless/ceiling, -/area/endeavour/hallway/d2aftmaint) "uCm" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -32800,6 +34571,15 @@ /obj/structure/table/bench/wooden, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d1starboardamidhall) +"uMq" = ( +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/item/clothing/head/hardhat/red, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "uMx" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -32813,13 +34593,11 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) "uMG" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "exam_2" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/exam_room/exam_2) "uML" = ( @@ -32875,9 +34653,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/air_alarm{ - pixel_y = 22 - }, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -32977,7 +34752,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "uQD" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloorwhite, @@ -33099,6 +34874,10 @@ }, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"uUq" = ( +/obj/item/melee/baton/cattleprod, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "uVj" = ( /obj/machinery/power/apc/west_mount{ cell_type = /obj/item/cell/super; @@ -33146,18 +34925,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "uVS" = ( -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/structure/table/reinforced, -/obj/item/pen, /obj/effect/floor_decal/borderfloor{ dir = 8 }, /obj/effect/floor_decal/corner/mauve/border{ dir = 8 }, +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, /turf/simulated/floor/tiled/steel_grid, /area/rnd/reception_desk) "uVY" = ( @@ -33265,6 +35041,12 @@ }, /turf/simulated/floor/tiled/dark, /area/assembly/robotics/surgery) +"vaW" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "vbg" = ( /obj/machinery/camera/network/civilian, /obj/item/radio/intercom{ @@ -33287,14 +35069,11 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) "vbt" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 +/obj/machinery/door/firedoor{ + dir = 1 }, -/obj/effect/floor_decal/borderfloorblack, -/turf/simulated/floor/tiled, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, /area/endeavour/hallway/d2portafthall) "vbA" = ( /obj/structure/cable/green{ @@ -33316,11 +35095,11 @@ /turf/simulated/floor/tiled/techfloor, /area/assembly/chargebay) "vcl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 }, /turf/simulated/floor/tiled/techfloor/grid, /area/hallway/station/docks) @@ -33437,7 +35216,7 @@ /area/rnd/anomaly_lab) "vgs" = ( /turf/simulated/wall/prepainted/science, -/area/maintenance/research) +/area/maintenance/research/port) "vgB" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -33473,19 +35252,14 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/simulated/floor/tiled, /area/rnd/xenobiology) -"viQ" = ( -/obj/machinery/light{ - dir = 8; - pixel_x = -10 - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portamidhall) +"viH" = ( +/obj/structure/closet, +/turf/simulated/floor/plating, +/area/maintenance/research) +"vjn" = ( +/obj/item/clothing/shoes/black, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "vjT" = ( /obj/machinery/air_alarm{ dir = 1; @@ -33573,8 +35347,7 @@ volume_rate = 700 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/reinforced, /area/rnd/xenobiology) @@ -33582,6 +35355,10 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) "vnZ" = ( @@ -33675,8 +35452,6 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) "vqS" = ( -/obj/effect/floor_decal/borderfloorblack/corner, -/obj/effect/floor_decal/corner/navgold/bordercorner, /obj/structure/disposalpipe/segment{ dir = 8 }, @@ -33751,9 +35526,15 @@ /turf/simulated/floor/carpet/purcarpet, /area/rnd/breakroom) "vtx" = ( +/obj/structure/table/steel, +/obj/random/maintenance/engineering, +/obj/random/maintenance/engineering, +/obj/random/tech_supply, +/obj/item/stack/cable_coil/random, +/obj/item/tank/phoron, /obj/machinery/light/small, -/turf/simulated/floor/plating, -/area/endeavour/hallway/d2fwdmaint) +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "vtM" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -33795,17 +35576,14 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "vvK" = ( -/obj/effect/floor_decal/borderfloorwhite{ +/obj/effect/floor_decal/borderfloorblack{ dir = 6 }, -/obj/effect/floor_decal/corner/green/border{ +/obj/effect/floor_decal/corner/navgold/border{ dir = 6 }, -/obj/machinery/fire_alarm/east_mount, -/obj/effect/floor_decal/borderfloorwhite/corner2, -/obj/effect/floor_decal/corner/green/bordercorner2, -/turf/simulated/floor/tiled/white, -/area/medical/virology_fore_access) +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d1starboardamidhall) "vws" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -33825,11 +35603,20 @@ /turf/simulated/floor/tiled, /area/rnd/hallway) "vwz" = ( -/obj/map_helper/electrochromatic_linker{ - id = "robotics-inner" +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/space/basic, -/area/space) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/white, +/area/medical/sleeper) "vwR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ @@ -33851,6 +35638,11 @@ "vya" = ( /turf/simulated/floor/tiled/white, /area/medical/psych_ward) +"vyf" = ( +/obj/random/maintenance/security, +/obj/structure/table/rack, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "vze" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -33895,6 +35687,13 @@ }, /turf/simulated/floor/tiled/techfloor, /area/rnd/robotics/morgue) +"vBe" = ( +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "vBs" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/purple{ dir = 8 @@ -33962,6 +35761,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) +"vEK" = ( +/obj/item/weldingtool, +/obj/item/clothing/glasses/welding, +/obj/structure/table/steel, +/turf/simulated/floor/plating, +/area/rnd/research/researchdivision) "vEU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -34006,24 +35811,27 @@ /turf/simulated/wall/r_wall/prepainted/science, /area/rnd/research_foyer_auxiliary) "vFz" = ( -/obj/effect/floor_decal/borderfloorblack/corner{ +/obj/effect/floor_decal/borderfloorblack{ dir = 8 }, -/obj/effect/floor_decal/corner/navblue/bordercorner{ +/obj/effect/floor_decal/corner/navblue/border{ dir = 8 }, +/obj/machinery/door/firedoor, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "vFG" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, /obj/effect/floor_decal/borderfloorwhite{ dir = 1 }, /obj/effect/floor_decal/corner/paleblue/border{ dir = 1 }, +/obj/machinery/button/remote/blast_door{ + id = "emtblast"; + name = "emergency blast shields"; + pixel_y = 30 + }, /turf/simulated/floor/tiled/white, /area/shuttle/emt/cockpit) "vFO" = ( @@ -34048,6 +35856,10 @@ }, /turf/simulated/floor/carpet/sblucarpet, /area/medical/psych/psych_1) +"vGX" = ( +/obj/structure/loot_pile/maint/trash, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "vHc" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/structure/table/reinforced, @@ -34126,6 +35938,10 @@ /obj/structure/closet/secure_closet/medical2, /turf/simulated/floor/tiled, /area/medical/surgery2) +"vJE" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "vKc" = ( /obj/structure/closet/l3closet/virology, /obj/effect/floor_decal/industrial/outline/yellow, @@ -34220,6 +36036,20 @@ }, /turf/simulated/floor/tiled/white, /area/medical/psych_ward) +"vLZ" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/item/storage/belt/medical, +/obj/item/soap/nanotrasen, +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/tiled, +/area/medical/medbay_primary_storage) +"vMh" = ( +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/obj/structure/closet/firecloset, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "vMn" = ( /obj/machinery/camera/network/research{ dir = 1 @@ -34295,18 +36125,31 @@ }, /turf/simulated/floor/tiled, /area/medical/surgery2) +"vPe" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "vPR" = ( /obj/machinery/door/firedoor/glass{ dir = 4 }, -/obj/machinery/door/airlock/research{ - id_tag = "researchdoor"; +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/glass/research{ name = "R&D Distribution Area" }, -/obj/structure/disposalpipe/segment, -/obj/map_helper/access_helper/airlock/station/exploration/auxillerysci, +/obj/map_helper/access_helper/airlock/station/public, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"vQl" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "vQu" = ( /obj/machinery/camera/network/research{ dir = 8; @@ -34346,6 +36189,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"vRl" = ( +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "vRD" = ( /obj/machinery/holopad, /obj/structure/cable/green{ @@ -34369,9 +36219,8 @@ /turf/simulated/floor/tiled, /area/holodeck_control) "vTa" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/babyblue, -/obj/machinery/vending/blood, +/obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/medical/medbay_primary_storage) "vTK" = ( @@ -34400,8 +36249,7 @@ /area/medical/medbay_emt_bay) "vUI" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/structure/table/bench/steel, /obj/effect/floor_decal/borderfloorblack{ @@ -34412,6 +36260,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"vUJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/dark, +/area/endeavour/hallway/d2fwdhall) "vUK" = ( /obj/machinery/holopad, /obj/effect/floor_decal/corner/green{ @@ -34434,6 +36289,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) +"vVN" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "vVP" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -34663,8 +36522,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -34698,6 +36556,10 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/medical/patient_d) +"waY" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/medbay/aft) "wbt" = ( /obj/machinery/atmospherics/tvalve/bypass{ dir = 1; @@ -35088,11 +36950,8 @@ /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d1starboardafthall) "wlg" = ( -/obj/machinery/shower{ - dir = 4 - }, -/obj/structure/curtain/open/shower/medical, -/turf/simulated/floor/tiled/techfloor/grid, +/obj/random/trash_pile, +/turf/simulated/floor/plating, /area/medical/medbay_primary_storage) "wlm" = ( /obj/effect/floor_decal/borderfloor{ @@ -35121,13 +36980,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portforhall) "wlZ" = ( -/obj/machinery/shower{ - dir = 4 +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 2, Starboard Side" }, -/obj/structure/curtain/open/shower/medical, -/obj/structure/window/reinforced/tinted, -/turf/simulated/floor/tiled/techfloor/grid, -/area/medical/medbay_primary_storage) +/turf/space/basic, +/area/space) +"wme" = ( +/obj/landmark/spawnpoint/job/pilot, +/turf/space/basic, +/area/space) "wmp" = ( /obj/effect/floor_decal/techfloor/orange{ dir = 1 @@ -35138,6 +36999,13 @@ }, /turf/simulated/floor/tiled/techfloor, /area/teleporter/departing) +"wmt" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet/firecloset, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint2) "wmA" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -35413,6 +37281,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/research_foyer_auxiliary) +"wtJ" = ( +/obj/machinery/air_alarm/east_mount, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor, +/area/maintenance/research/port) "wtL" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/babyblue, @@ -35502,6 +37375,17 @@ }, /turf/simulated/floor/tiled/monowhite, /area/rnd/chemistry_lab) +"wvk" = ( +/obj/machinery/air_alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/table/steel, +/obj/random/maintenance/engineering, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "wvW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -35512,6 +37396,9 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/wood, /area/crew_quarters/medbreak) "wwD" = ( @@ -35552,6 +37439,11 @@ }, /turf/simulated/floor/tiled, /area/rnd/xenobiology) +"wyD" = ( +/obj/structure/table/woodentable, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "wzb" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 1 @@ -35569,8 +37461,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/effect/floor_decal/corner/green/border{ dir = 8 @@ -35629,6 +37520,15 @@ }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) +"wzT" = ( +/obj/structure/bed/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "wAn" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -35652,6 +37552,18 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled, /area/medical/resleeving) +"wAN" = ( +/obj/machinery/fire_alarm/west_mount{ + pixel_x = -24 + }, +/obj/structure/bed/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "wBq" = ( /obj/machinery/power/apc/north_mount, /obj/structure/cable/green{ @@ -35674,7 +37586,7 @@ "wBY" = ( /obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "wCh" = ( /obj/machinery/air_alarm{ dir = 8; @@ -35768,9 +37680,10 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/xenobio) "wDV" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/purplegray, /turf/simulated/floor/plating, /area/rnd/xenobiology) "wEl" = ( @@ -35807,6 +37720,16 @@ }, /turf/simulated/floor/tiled/white, /area/medical/reception) +"wFI" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) +"wGq" = ( +/obj/machinery/fire_alarm/west_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "wGQ" = ( /obj/structure/bed/chair/sofa/black/left{ dir = 4 @@ -35942,6 +37865,12 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/white, /area/medical/patient_wing) +"wKx" = ( +/obj/machinery/fire_alarm/south_mount{ + pixel_y = -24 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "wKT" = ( /obj/structure/table/bench/steel, /obj/effect/floor_decal/borderfloorblack{ @@ -35959,6 +37888,7 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 4 }, +/obj/machinery/door/firedoor, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) "wLE" = ( @@ -36140,13 +38070,11 @@ /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) "wQc" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "or2obs" }, -/obj/machinery/door/firedoor{ - dir = 1 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/medical/surgery2) "wQh" = ( @@ -36167,7 +38095,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "wQo" = ( /obj/effect/floor_decal/techfloor/orange, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, @@ -36244,13 +38172,11 @@ /turf/simulated/floor/tiled/techfloor, /area/medical/morgue) "wRU" = ( -/obj/effect/paint/babyblue, -/obj/structure/window/reinforced/polarized/full{ +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ id = "medbreak" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, +/obj/effect/paint/babyblue, /turf/simulated/floor/plating, /area/crew_quarters/medbreak) "wSf" = ( @@ -36266,9 +38192,17 @@ "wSM" = ( /turf/simulated/wall/prepainted/science, /area/rnd/xenobiology) +"wTK" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/exploration/pilot_Office) "wTM" = ( /obj/machinery/floodlight, -/turf/simulated/floor/airless/ceiling, +/turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) "wTS" = ( /obj/machinery/power/apc/west_mount, @@ -36287,8 +38221,9 @@ /turf/simulated/floor/water/deep/indoors, /area/endeavour/hallway/d2portamidhall) "wUs" = ( -/turf/simulated/floor/airless/ceiling, -/area/maintenance/research) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "wUw" = ( /obj/machinery/door/window/brigdoor/southright{ name = "Containment Pen"; @@ -36365,11 +38300,17 @@ /turf/simulated/floor/wood/sif/indoors, /area/medical/reception) "wWJ" = ( -/obj/structure/sign/warning/nosmoking_1{ - pixel_x = 8 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/wall/prepainted/medical, -/area/medical/psych/psych_2) +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d2portafthall) "wWO" = ( /obj/machinery/camera/network/civilian{ dir = 8 @@ -36384,6 +38325,10 @@ }, /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) +"wXg" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "wYa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 8 @@ -36420,6 +38365,11 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay4) +"wZP" = ( +/obj/structure/table/rack, +/obj/random/maintenance/security, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "xav" = ( /obj/structure/table/standard, /obj/item/folder/blue{ @@ -36442,6 +38392,9 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "xaP" = ( @@ -36473,15 +38426,6 @@ /obj/landmark/spawnpoint/job/medical_doctor, /turf/simulated/floor/tiled/white, /area/medical/chemistry) -"xbt" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) "xbz" = ( /obj/structure/closet{ name = "spare clothes" @@ -36531,11 +38475,11 @@ req_one_access = list(47) }, /obj/machinery/door/blast/shutters{ - id = "rndhallshutters"; - name = "Research Hall Shutters" + id = "rndshutters"; + name = "Research Shutters" }, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d2portafthall) +/area/rnd/reception_desk) "xcx" = ( /obj/structure/closet/secure_closet/medical2, /obj/effect/floor_decal/corner/paleblue{ @@ -36552,6 +38496,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"xcU" = ( +/obj/machinery/air_alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "xda" = ( /turf/simulated/floor/plating, /area/maintenance/substation/medical) @@ -36605,8 +38556,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/medical/medbay3) @@ -36628,11 +38578,10 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "xfy" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -36648,6 +38597,9 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "xgg" = ( @@ -36657,11 +38609,10 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d2aftmaint) "xgi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/l3closet/virology, +/obj/machinery/camera/network/medbay{ + dir = 8 }, /turf/simulated/floor/tiled, /area/medical/virology_fore_access) @@ -36703,14 +38654,17 @@ /turf/simulated/floor/tiled/white, /area/medical/psych_ward) "xhP" = ( -/obj/structure/cable/green{ - icon_state = "1-8" - }, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /obj/machinery/computer/ship/sensors{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/white, /area/shuttle/emt/cockpit) "xiN" = ( @@ -36811,6 +38765,10 @@ /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "xlX" = ( @@ -36864,18 +38822,6 @@ /obj/effect/floor_decal/corner/mauve/bordercorner, /turf/simulated/floor/tiled, /area/rnd/hallway) -"xnE" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/station/docks) "xnM" = ( /obj/machinery/door/window/brigdoor/eastleft{ name = "Containment Pen"; @@ -37007,6 +38953,14 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay3) +"xrI" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/map_helper/access_helper/airlock/station/science/department, +/turf/simulated/floor/plating, +/area/rnd/breakroom) "xrU" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -37058,10 +39012,7 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, +/obj/structure/disposalpipe/junction, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) "xtv" = ( @@ -37071,6 +39022,7 @@ }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/structure/table/woodentable, +/obj/item/material/ashtray/glass, /turf/simulated/floor/wood, /area/tether/station/public_meeting_room) "xtD" = ( @@ -37079,6 +39031,18 @@ }, /turf/simulated/floor/tiled, /area/rnd/hallway) +"xuc" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/exploration/pilot_Office) "xug" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -37165,10 +39129,6 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/tiled/monotile, /area/rnd/breakroom) -"xwp" = ( -/obj/machinery/vending/fitness, -/turf/simulated/floor/tiled/dark, -/area/rnd/research/researchdivision) "xxn" = ( /obj/structure/window/reinforced/tinted{ dir = 1 @@ -37292,7 +39252,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "xCX" = ( /turf/simulated/floor/tiled, /area/rnd/rdoffice) @@ -37323,6 +39283,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"xDd" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/maintenance/research/port) "xDm" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/corner/navblue/bordercorner, @@ -37345,6 +39312,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portafthall) +"xDG" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/maintenance/research/lower) "xDH" = ( /obj/structure/noticeboard{ pixel_y = 32 @@ -37597,6 +39568,11 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/black, /turf/simulated/floor/tiled, /area/medical/virology_aft_access) +"xJt" = ( +/turf/simulated/wall/prepainted/science{ + can_open = 1 + }, +/area/rnd/research/researchdivision) "xJB" = ( /obj/structure/closet/secure_closet/CMO, /obj/item/cmo_disk_holder, @@ -37683,6 +39659,10 @@ "xKC" = ( /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) +"xLo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "xLu" = ( /obj/structure/bed/chair/sofa/beige{ dir = 8 @@ -37693,6 +39673,12 @@ }, /turf/simulated/floor/carpet/blucarpet, /area/crew_quarters/medbreak) +"xLC" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/maintenance/research) "xLH" = ( /obj/machinery/disease2/incubator, /obj/effect/floor_decal/borderfloor{ @@ -37716,8 +39702,7 @@ "xMp" = ( /obj/machinery/vitals_monitor, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /turf/simulated/floor/tiled, /area/medical/medbay_primary_storage) @@ -37755,6 +39740,12 @@ }, /turf/simulated/floor/tiled/white, /area/medical/medbay4) +"xOh" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/exploration/pilot_Office) "xOt" = ( /obj/machinery/camera/network/medbay{ dir = 1; @@ -37811,6 +39802,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) +"xPR" = ( +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d1starboardafthall) "xQx" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green{ @@ -37844,7 +39842,7 @@ dir = 6 }, /turf/simulated/floor/tiled/dark, -/area/maintenance/medbay/aft) +/area/medical/surgeryobs) "xQT" = ( /obj/structure/flora/pottedplant/large, /obj/effect/floor_decal/borderfloorblack{ @@ -37872,6 +39870,9 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 8 }, +/obj/machinery/camera/network/civilian{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d2portamidhall) "xRM" = ( @@ -38081,6 +40082,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardforhall) +"ybE" = ( +/obj/structure/frame/computer, +/turf/simulated/floor, +/area/maintenance/research/port) "ybL" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -38093,7 +40098,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/maintenance/research/port) "ybY" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -38109,6 +40114,11 @@ }, /turf/simulated/floor/wood, /area/rnd/breakroom) +"ycv" = ( +/obj/structure/closet/crate, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2fwdmaint) "yde" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/babyblue, @@ -38125,10 +40135,7 @@ /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d2portamidhall) "ydL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/plating, /area/rnd/research/researchdivision) "ydY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -38218,6 +40225,9 @@ /obj/effect/floor_decal/corner/navgold/border{ dir = 1 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardamidhall) "yhw" = ( @@ -38243,7 +40253,7 @@ }, /obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, -/area/endeavour/hallway/d2aftmaint) +/area/endeavour/hallway/d1starboardamidhall) "yhO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -38274,19 +40284,11 @@ /turf/simulated/floor/tiled/white, /area/medical/surgeryprep) "yhT" = ( -/obj/effect/floor_decal/borderfloorwhite, -/obj/effect/floor_decal/corner/green/border, -/obj/structure/sign/biohazard{ - pixel_y = -32 - }, -/obj/effect/floor_decal/borderfloorwhite/corner2{ - dir = 9 - }, -/obj/effect/floor_decal/corner/green/bordercorner2{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, /turf/simulated/floor/tiled/white, /area/medical/virology_fore_access) @@ -38352,6 +40354,14 @@ /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d2portafthall) +"ylH" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/machinery/air_alarm/east_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d2aftmaint) "ymb" = ( /obj/machinery/light, /obj/machinery/atmospherics/component/unary/outlet_injector{ @@ -42129,18 +44139,18 @@ pRW pRW pRW pRW -xVe -xVe -fgw +flt +flt fgw fgw -xVe -xVe -xVe -xVe -xVe -xVe -xVe +flt +flt +flt +flt +flt +flt +flt +flt qak goh goh @@ -42323,24 +44333,24 @@ qBd jRE pRW pRW -xVe -ppB -xIf -xIf -xIf -xIf -dgT -ppB -xIf -xIf -xIf +flt +sFl +tie +gxk +flt +vGX +sMN +kNM +tem +tiW +flt gVZ hqd qpq qpq qpq teN -qpq +fPz arx gDW ppx @@ -42517,17 +44527,17 @@ lmG qBd pRW pRW -xVe -xIf -xIf -xIf -xIf -xIf +flt +hpD +hWn +fwk +flt +kxs jdA -xIf -xIf -xIf -xIf +tem +tem +tem +tem gVZ dQt qpq @@ -42712,11 +44722,11 @@ fHl vBs fHl fGD -kim -xIf -xIf -xIf -xIf +vVN +tem +xDG +flt +tem tCF bzY bzY @@ -42726,7 +44736,7 @@ tFT piJ qpq qpq -qpq +vUa qpq qpq qpq @@ -42906,23 +44916,23 @@ wbK vmZ uHK eZZ -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf +flt +fBl +flt +flt +xcU +tem +ttm +auj +oPo +tem gVZ -pTU -qpq -qpq +abv qpq +vUa qpq qpq +vUa qpq gDW iKc @@ -43100,19 +45110,19 @@ cNW cNW opc eZZ -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf +css +tem +tem +flt +tem +tem +flt +flt +flt +flt gVZ mba -qpq +duq hqd qpq teN @@ -43294,23 +45304,23 @@ cNW cNW opc eZZ -kim -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xVe +tME +tem +tem +flt +flt +dtv +flt +oPo +tem +mqi +flt mdc ejI ejI ejI ejI -qpq +pkp qpq gDW hPg @@ -43488,21 +45498,21 @@ hdd kOA tGK eZZ -xIf -xIf -xIf -xIf -xIf -xIf -xIf -xIf -mUB -xIf -xVe +tem +tem +tem +tem +fBl +tem +tem +tem +ttm +tem +flt dmp sWU wTS -qpq +waY ejI ejI qpq @@ -43682,17 +45692,17 @@ bEz xnM hlM eZZ -xIf -xIf -xIf -xIf -xIf -mUB -xIf -xVe -xVe -xVe -xVe +xcU +tem +tem +tem +flt +rWl +tem +flt +flt +flt +flt mba qpq qpq @@ -43876,22 +45886,22 @@ wlm wlm wlm eZZ -xIf -xIf -xIf -xIf -xVe -xVe -xVe -xVe +tem +tem +tem +tem +flt +flt +flt +flt ybi qpq -qpq -pTU -qpq +ejI +abv qpq qpq qpq +waY fPz qpq pNX @@ -44070,24 +46080,24 @@ kmH rXQ jMj eZZ -xIf -xIf -mUB -xIf -xVe +oPo +auj +ttm +tem +flt feQ bHB vZE qpq qpq -qpq +ejI pTU qpq +pJM qpq qpq qpq -qpq -qpq +waY pNX xmL uRJ @@ -44266,15 +46276,15 @@ upp kUv fHl fGD -xVe -xVe -xVe +flt +fBl +flt hZY vUa qpq qpq qpq -qpq +nJf pTU qpq rup @@ -44460,16 +46470,16 @@ cNW cNW vMn eZZ -xIf -xIf -tcy -qpq -qpq +tem +tem +jxP +uMq qpq qpq qpq qpq -pTU +ejI +oOJ qpq rup mmy @@ -44481,9 +46491,9 @@ pNX pNX pNX pNX -wWJ pNX -gOV +pNX +lRS kBS vcY hgb @@ -44654,15 +46664,15 @@ cNW mFC ymb uwU -xIf -xIf -tcy +tem +tem +jxP iUp yhA pTX rRe -qpq -qpq +waY +ejI pTU qpq rup @@ -44848,8 +46858,8 @@ srS srS oGQ eZZ -xIf -xIf +xcU +tem huY huY huY @@ -45042,8 +47052,8 @@ soK soK soK eZZ -xIf -xIf +tem +tem huY lja xRM @@ -45051,8 +47061,8 @@ lja xRM xvK huY -pTU -qpq +mQh +ejI rup wmp tSj @@ -45236,8 +47246,8 @@ cNW cNW vMn eZZ -xIf -xIf +tem +oPo huY lja jwd @@ -45429,9 +47439,9 @@ qiH cNW cNW ymb -eZZ -xIf -xIf +uwU +tem +vyf huY lja uQX @@ -45439,7 +47449,7 @@ lja uQX aSW huY -mQh +pTU qpq rup rup @@ -45624,8 +47634,8 @@ srS srS xER eZZ -xIf -xIf +cjl +wZP huY lja hwg @@ -45633,10 +47643,10 @@ xYr uTa aFj huY -pTU +oSZ qpq qpq -tvV +waY oaU kDq oXr @@ -45827,10 +47837,10 @@ lja uQX rsU huY -pTU +abv +qpq qpq qpq -tvV oaU mcO jbC @@ -46022,11 +48032,11 @@ lja aSW huY pTU -qpq +waY qpq tvV oaU -jVj +sNK jbC xDZ jUZ @@ -46218,14 +48228,14 @@ huY pTU qpq qpq -tvV +qpq oaU sNK jbC xDZ dlw oaU -buM +cOc pdM kxI tQp @@ -46409,10 +48419,10 @@ jCw jCw rpN huY -pTU +oOJ qpq +waY qpq -tvV oaU jak jbC @@ -46604,9 +48614,9 @@ bfi uiz huY pTU +pJM qpq -qpq -tvV +ece oaU mnH ebF @@ -46620,7 +48630,7 @@ aHb iRW kGz eRt -fUM +keB fUM mTV tQp @@ -46798,8 +48808,8 @@ uSa uSa huY pTU -ejI -ejI +oaU +oaU oaU oaU oaU @@ -46985,14 +48995,14 @@ xdh nMp pnt xHD -qpq -qpq +fPz +waY qpq qpq qpq qpq pTU -ejI +oaU mHM aYX bQh @@ -47004,10 +49014,10 @@ gAf hTw bVW kxI -mmI -mmI -mmI -mmI +bGv +bGv +bGv +bGv nAR rUX tWY @@ -47071,7 +49081,7 @@ pRW pRW pRW pRW -pRW +wlZ pRW mDp mDp @@ -47183,7 +49193,7 @@ iec iec iec iec -iec +ofA iec erm fqP @@ -47198,7 +49208,7 @@ jER kfV xIj kxI -mmI +bGv iuo cJg bPx @@ -47374,13 +49384,13 @@ rMY rAk xHD iec -xHD -xHD -xHD -xHD -xHD -xHD -xHD +ukr +ukr +ukr +ukr +ukr +ukr +ukr eQq kXa rUa @@ -47392,7 +49402,7 @@ oaU tYf eHm kxI -mmI +bGv wBY uhO bPx @@ -47568,7 +49578,7 @@ fOE pad xHD iec -xHD +ukr nHj kPG vgB @@ -47586,7 +49596,7 @@ eBA pkG eHm kxI -mmI +bGv goI xCP xQM @@ -47762,7 +49772,7 @@ qpQ qpQ xHD kgb -xHD +ukr uLi ajd pDc @@ -47780,7 +49790,7 @@ pDc pDc whF vQx -mmI +bGv pwV goI lfu @@ -47954,9 +49964,9 @@ wSM aXm dyL aXm -qpq -nJI -xHD +fPz +iec +ukr ctj ogg neX @@ -47974,7 +49984,7 @@ jcO neX dxN jjo -mmI +bGv goI sgW dWk @@ -48014,7 +50024,7 @@ mDp mDp mDp mDp -nWQ +mDp mDp pRW pRW @@ -48150,7 +50160,7 @@ qpq qpq qpq iec -xHD +rkZ cBb wHL cBb @@ -48168,7 +50178,7 @@ qIz aKq exm nCR -mmI +bGv nJM uhO bPx @@ -48341,11 +50351,11 @@ twU kCt hjM pfe +qpq +qpq iec -iec -iec -xHD -mSd +rkZ +aEp uJM mSd nYN @@ -48362,7 +50372,7 @@ nYN efr wbG tJU -mmI +bGv bAe uhO bPx @@ -48533,12 +50543,12 @@ oCO nZC uUl kCt -iec +aXp itd -xHD -xHD -xHD -xHD +qpq +qpq +iec +rkZ mSd uJM mSd @@ -48556,7 +50566,7 @@ fCb bHz wkU tJU -mmI +bGv bAe nPi plG @@ -48721,17 +50731,17 @@ aUW lUe bxz jZz -jZz +ilh cje oCO xFT pVT kCt +nzA +iec +iec iec iec -xHD -esy -xbt vbt mSd wSf @@ -48750,10 +50760,10 @@ sBd bHz jaG pIE -mmI +bGv mJc -mmI -mmI +bGv +bGv eEv eEv eEv @@ -48923,11 +50933,11 @@ bOa olh iec iec -hqT -qjz -pIz -ulr -mSd +qpq +vUa +qpq +rkZ +cja uJM mSd fCb @@ -49117,11 +51127,11 @@ bOa kCt qpq pJM -xHD -qjz -keB -nBV -mSd +ohX +iwg +ohX +rkZ +oGt uJM mSd uCx @@ -49312,12 +51322,12 @@ kCt kCt kCt kCt -gMk -gMk kCt -cja +kCt +kCt +aEp uJM -oHz +mSd qIV oaU oaU @@ -49486,18 +51496,18 @@ koS koS koS sIr -ppB -xIf +pxy +sBo dgT uQe -xIf -xIf -ppB -xIf -xIf -uPt +bMp +cRR +pxy +sBo +bMp +kaK cNs -jZz +efa cje oCO xFT @@ -49505,11 +51515,11 @@ pVT oQC cPx gBH -gBH -ilh -ilh +pIz +esy +nBV gLF -kCt +wWJ jGq hPe yly @@ -49531,7 +51541,7 @@ eqi hKr seE seE -cxJ +sHf bOb gmM igd @@ -49539,7 +51549,7 @@ oaZ mZc qpq mmI -oDK +qFD wHh xKC dqJ @@ -49678,7 +51688,7 @@ pqK koS koS koS -neh +ayi fbF lkA lkA @@ -49702,9 +51712,9 @@ ilh ilh ilh ilh -xwp -kCt -unJ +gLF +qjz +qRh gUZ cva oaU @@ -49892,15 +51902,15 @@ jVn bOa bSu efb -efb -efb +unJ +unJ jZR jZR kCt -kCt -aXe -vFz -sme +ulr +qRh +gUZ +qIV oaU tMG kTB @@ -49910,7 +51920,7 @@ kxI xSl llq oaU -kOr +cBK jOk jPR elT @@ -50032,7 +52042,7 @@ mDp mDp pRW pRW -pRW +lIj pRW pRW pRW @@ -50289,7 +52299,7 @@ cIi dyM xDm wLf -eub +ggw ggw ggw ljq @@ -50297,7 +52307,7 @@ hJq tkO jcO jcO -szG +jcO sSl nEU phe @@ -50446,13 +52456,13 @@ pRW pRW pRW pRW -uPt +lHr vgs vgs vgs vgs uba -ieR +xDd kCt wpO ljk @@ -50473,9 +52483,9 @@ bBQ ijZ whu owo -owo gsB owo +aXe owo whu whu @@ -50496,7 +52506,7 @@ bmg kuE nwT fIx -jkz +juF ijd sNP fZx @@ -50640,13 +52650,13 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf -xIf -xIf +lHr +dtG +hJk +lAT +wUs +wUs +wUs kCt lBS stX @@ -50668,7 +52678,7 @@ uQR whu jHB uVS -gpS +nOJ nOJ rbQ sdA @@ -50834,12 +52844,12 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf -xIf +lHr +qzK +dRf +jNt +wUs +vRl kCt kCt lBS @@ -50902,7 +52912,7 @@ bdJ qSo cyt fwu -vXJ +bHu tCz aOx ufT @@ -51028,11 +53038,11 @@ pRW pRW jRE qBd -uPt -xIf -xIf -xIf -xIf +lHr +jNt +jNt +cNq +wUs kCt kCt lBS @@ -51040,7 +53050,7 @@ lBS aEl ffI sWB -xCX +nAM kUS xHh ahE @@ -51222,11 +53232,11 @@ pRW pRW qBd lmG -uPt -xIf -xIf -xIf -xIf +lHr +jNt +jNt +jNt +wUs kCt tsk kuq @@ -51416,11 +53426,11 @@ pRW pRW jRE qBd -uPt +lHr mrz -xIf -xIf -xIf +wXg +wUs +wUs xpI nww bbQ @@ -51437,8 +53447,8 @@ ffI oWr nUG pCA -mmt -mmt +gMk +gMk xlI sQh whu @@ -51465,8 +53475,8 @@ xUb bhT cMY qmF -mdU -jkz +kOr +juF ngz iGC qHA @@ -51610,20 +53620,20 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf +lHr +icg +jNt +wUs +baG kCt okS +ttq lBS -lBS -lBS -lBS -lBS -lBS -lBS +ors +nTZ +vEK +dba +iLr ffI wQh xXp @@ -51804,20 +53814,20 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf +lHr +jNt +jNt +wUs +jNt +kCt +kCt +kCt +kCt +kCt kCt -lCS -ttq -lBS -lBS -kTq qZb -lBS -ors +ljm +vjn ffI tTu mEE @@ -51836,7 +53846,7 @@ whu owo owo whu -fsC +whu ujP nBm hGK @@ -51875,7 +53885,7 @@ pky pUT haG hXy -jym +rbX ctW ces fKS @@ -51998,20 +54008,20 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf +lHr +cLk +cNq +wUs +jNt kCt -dIS -kuq -kuq -kuq -ruq +kuV +rTI ydL -lBS -lBS +hhg +kCt +sjJ +uUq +ddj ffI oks orZ @@ -52192,20 +54202,20 @@ pRW pRW pRW gCJ -uPt -xIf -xIf -xIf -xIf -kCt -kCt -kCt +lHr +icg +jNt +wUs +wXg kCt +ydL cda -lBS -mMY -nXl -lBS +cda +cda +xJt +ydL +nod +jZT ffI vWo eYr @@ -52386,20 +54396,20 @@ pRW pRW pRW pRW -uPt +lHr mdP -yfn -yfn -yfn -yfn -yfn +kLP +kLP +kLP +kER +kLP gBJ +kuV +sXw kCt -lBS -lBS -lBS -lBS -lBS +ydL +ydL +qWb ffI ffI ffI @@ -52436,7 +54446,7 @@ jQR oWl bJO pyk -jkz +juF jUt iGC tmX @@ -52444,7 +54454,7 @@ iAl jdx hgX juF -wOk +fiR sCe ggO kgh @@ -52580,20 +54590,20 @@ pRW pRW pRW pRW -uPt -kim -xIf -xIf -xIf -xIf -xIf -xnR +lHr +vaW +jNt +jNt +jNt +vgs +jNt +vQl svR jQJ jQJ jQJ jQJ -jQJ +xrI jQJ jQJ jQJ @@ -52612,11 +54622,11 @@ aDx rTV scT aDx -bIW +aDx bNH nBm mOb -oDd +qIV oDd oDd oDd @@ -52626,7 +54636,7 @@ oDd oDd oDd oDd -oDd +cBK jAh qER rgf @@ -52774,14 +54784,14 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf -xIf -xIf -xnR +lHr +kRI +kRI +psn +enO +vgs +jNt +vQl svR bzV jNv @@ -52810,17 +54820,17 @@ mAv qjz ltx eOX -oDd +qIV cHC fOF cHC qgo cHC -cHC +oDd cHC fOF cHC -oDd +cBK vIP gAn wuj @@ -52958,7 +54968,6 @@ mDp mDp mDp pRW -hsE pRW pRW pRW @@ -52968,19 +54977,20 @@ pRW pRW pRW pRW -uPt +pRW +lHr uow uow uow uow -xIf -xIf -xnR +vgs +jNt +vQl svR gZg -xJb +ppZ sxo -aTQ +xJb gZg xaR nBU @@ -53004,17 +55014,17 @@ mAv qjz ciZ wgp -oDd -cHC +qIV +nCx cHC cHC qgo cHC +oDd cHC cHC cHC -cHC -bHC +xPR fVY rul qnz @@ -53028,7 +55038,7 @@ whZ dxA uVY gWJ -ggO +vwz jAX gdj iJo @@ -53162,14 +55172,14 @@ pRW pRW pRW pRW -uPt +lHr uow slc lVD uow -kim -xIf -xnR +vaW +jNt +vQl svR xDH aTQ @@ -53198,17 +55208,17 @@ mAv qjz nGv tWJ -oDd +qIV wnU -cHC +ojx cHC qgo cHC +oDd +nCx cHC cHC -cHC -cHC -oDd +cBK nbC bPJ hKM @@ -53348,7 +55358,6 @@ mDp pRW pRW pRW -hLz pRW pRW pRW @@ -53356,14 +55365,15 @@ pRW pRW pRW pRW -uPt +pRW +lHr arH wfD cmc uow -xIf -xIf -xnR +cNq +jNt +vQl svR gZg iTl @@ -53392,21 +55402,21 @@ nBn tJE qRh gvw +qIV +gbg oDd cHC -cHC -cHC qgo cHC +tqR cHC cHC cHC -cHC -oDd +cBK jsQ kyy -mdU -jkz +kOr +juF ebW ehP iGC @@ -53544,20 +55554,20 @@ pRW pRW pRW pRW -ojU +pRW pRW pRW pRW jRE qBd -uPt +lHr aBk kiy cmc uow -xIf -xIf -xnR +jNt +wXg +vQl svR wBq vtg @@ -53586,17 +55596,17 @@ mAv qjz gbY uKJ -oDd -cHC +qIV cHC +oDd iyy sMF cHC +oDd cHC cHC -cHC -cHC -oDd +ihO +cBK csf cTm pgo @@ -53739,19 +55749,19 @@ pRW pRW pRW pRW -vwz +pRW pRW pRW qBd lmG -uPt +lHr arH kiy nsd uow -xIf -xIf -xnR +jsJ +jNt +vQl svR ctB aZT @@ -53782,19 +55792,19 @@ rpD lTs tfp wMn -cHC -qgo -cHC -cHC +oDd +sQG cHC cHC +oDd cHC +ojx cHC -oDd +cBK mTD gij -mdU -efa +jkz +chv eUu jlY nDm @@ -53938,14 +55948,14 @@ pRW pRW jRE qBd -uPt +lHr arH kiy cmc uow -xIf -xIf -xnR +ukx +jNt +vQl svR ouW jzA @@ -53974,7 +55984,7 @@ aDx qjz qRh uKJ -oDd +qIV ePI eEE tzi @@ -53983,8 +55993,8 @@ eEE eEE eEE eEE -cHC -oDd +tqR +cBK csf cTm aao @@ -54132,13 +56142,13 @@ pRW pRW pRW pRW -uPt +lHr slc kiy cmc uow -xIf -xIf +jjR +jNt xfb pyQ qIo @@ -54168,8 +56178,8 @@ aDx eXh qRh wgp -oDd -ePI +qIV +uhK eEE uFa bYT @@ -54178,7 +56188,7 @@ oYq cxJ eEE cHC -oDd +cBK cxk anF mdU @@ -54326,14 +56336,14 @@ pRW pRW pRW pRW -uPt +lHr uzv kiy xiT uow -xIf -xIf -xnR +oen +jNt +vQl svR ldd jzA @@ -54362,17 +56372,17 @@ gVf bLe qqc eOX -oDd +qIV ePI eEE mIs xsd mHV rxV -kyR +iPG eEE cHC -oDd +cBK xzf cTm mdU @@ -54520,14 +56530,14 @@ pRW pRW pRW pRW -uPt +lHr uzv kiy kHF uow -xIf -xIf -xnR +pDi +jNt +vQl svR bfZ tQg @@ -54556,17 +56566,17 @@ klq qjz ciZ eaK -oDd +qIV ePI eEE fPm -iPG +kyR eEE qPc djp eEE cHC -oDd +cBK tpN cTm mdU @@ -54714,14 +56724,14 @@ pRW pRW pRW pRW -uPt +lHr wgC kiy kHF uow -xIf -xIf -xnR +cNq +jNt +vQl svR svR svR @@ -54750,8 +56760,8 @@ jkG qjz nGv tWJ -oDd -ePI +qIV +dzu eEE eEE eEE @@ -54760,7 +56770,7 @@ scE kFN eEE cHC -oDd +cBK ivz cTm mdU @@ -54907,15 +56917,15 @@ pRW pRW pRW pRW -uPt -uPt +lHr +lHr uzv iRK kHF uow -kim -xIf -xnR +vaW +jNt +vQl dKQ gHf sCm @@ -54944,17 +56954,17 @@ aDx dpH qRh onv -oDd +qIV mfl qGR qGR -qGR +gPJ qGR hqy gtR aBx qQK -tqR +jEI jsQ kyy aao @@ -55101,15 +57111,15 @@ pRW pRW pRW gCJ -uPt -uPt +lHr +lHr wKj jFD xEA uow -xIf -xIf -xnR +jNt +wXg +vQl dKQ bqS qEW @@ -55138,9 +57148,9 @@ bIW xDp pVB lFr -oDd +qIV wnU -cHC +mVo cHC cHC mFI @@ -55148,7 +57158,7 @@ xOF cHC cHC cHC -oDd +cBK kzM cTm mdU @@ -55295,14 +57305,14 @@ pRW pRW pRW pRW -uPt +lHr wzb hEJ vqh dNv uow -xIf -xIf +cNq +jNt tHT fBT aFv @@ -55329,20 +57339,20 @@ gKZ qog aPb dbo -uza +nwH hBL rVF -oDd +rBK oDd mAe -kEQ +ylH kEQ hHI -cHC -cHC -cHC -cHC -oDd +ojx +mVo +ggW +gjf +cBK uPR gij mdU @@ -55489,14 +57499,14 @@ pRW pRW pRW pRW -uPt +lHr suM tOP oZD fqJ uow -xIf -xIf +hju +jNt pfz oLT oLT @@ -55523,20 +57533,20 @@ qog qog xec dbo -mYS +nZt bfx oOa jne -oDd -oDd -oDd -oDd +rBK +rBK +rBK +rBK lGG -oDd -oDd -oDd -oDd -oDd +jRu +jRu +jRu +jRu +cBK fwo gsh gsA @@ -55683,14 +57693,14 @@ pRW pRW pRW pRW -uPt +lHr jzz rfs soU rfs uow -xIf -xIf +jNt +jNt pfz oLT fPa @@ -55723,7 +57733,7 @@ sFQ dde bxp dde -viQ +eDX xRk wmA fmL @@ -55877,14 +57887,14 @@ pRW pRW pRW pRW -uPt -uPt +lHr +lHr djF wcQ dEU uow -xIf -xIf +qTA +wXg pfz oLT dNU @@ -56072,13 +58082,13 @@ pRW pRW qBd lmG -uPt -xIf +lHr +vaW hfm -xIf -uPt -xIf -xIf +jNt +lHr +jNt +jNt pfz oLT pBG @@ -56112,7 +58122,7 @@ qIz xGm xGm qIz -smh +oHz ftU dub qIz @@ -56266,8 +58276,8 @@ pRW pRW jRE qBd -uPt -xIf +lHr +asd dwZ wQj ybL @@ -56306,7 +58316,7 @@ nYN hBs cny xGm -qYx +smh ftU uMm xGm @@ -56460,14 +58470,14 @@ pRW pRW pRW pRW -uPt -uPt -xIf -xIf -uPt -xIf -xIf -neh +lHr +lHr +eBu +jNt +lHr +jNt +jNt +wUs pds pds oLT @@ -56524,13 +58534,13 @@ ppj cKJ gHd wdD -jLs +fNZ xiN fNZ bzR bNp bNp -bNp +rFw bNp bNp ujt @@ -56655,21 +58665,21 @@ pRW pRW pRW pRW -uPt -xIf -xIf -uPt -kim -xIf -neh -xIf -xIf -xIf -ppB -xIf -xIf -xIf -xIf +lHr +qTA +jqP +lHr +vaW +jNt +wUs +jNt +vgs +cLk +lAT +jNt +jNt +cNq +oNN hgr ndE qxs @@ -56712,7 +58722,7 @@ kYY kYY kYY uCH -qan +nHZ lLU nic fNZ @@ -56724,11 +58734,11 @@ fNZ wuC bNp wlg -wlg -wlg -wlZ +kTz +bNp +kZb +ujt ujt -ryO xFH lmG qBd @@ -56849,21 +58859,21 @@ pRW pRW pRW pRW -uPt -uPt -uPt -uPt -xIf -xIf -neh -neh -neh -neh -neh -neh -neh -neh -xIf +lHr +lHr +lHr +lHr +jNt +jNt +wUs +wUs +tRA +wUs +wUs +wUs +wUs +wUs +jNt hgr bqS nnv @@ -56918,11 +58928,11 @@ fNZ rVo bNp mnx -rpi -rpi -rpi -ujt +kTz +bNp +vLZ ujt +ryO xFH qBd jRE @@ -57045,19 +59055,19 @@ pRW pRW pRW gCJ -uPt -uPt -uPt -xIf -xIf -mUB -xIf -xIf -xIf -xIf -xIf -neh -xIf +lHr +lHr +lHr +vRl +icg +aWj +vgs +cNq +jNt +qTA +jqP +wUs +wXg hgr bqS mIF @@ -57094,7 +59104,7 @@ dly bIN geo tQh -mog +qYx mog wJr ijc @@ -57111,12 +59121,12 @@ rzv fNZ wuC xFH -kTz -kTz -kTz -qFD +bxy +peZ +bNp +szk +ujt ujt -hQy vTa pRW pRW @@ -57241,17 +59251,17 @@ pRW pRW pRW pRW -uPt -uPt -uPt -uPt -uPt -uPt -uPt -uPt -uPt -neh -xIf +lHr +lHr +lHr +lHr +lHr +lHr +lHr +lHr +lHr +wUs +jNt hgr bqS lrS @@ -57281,7 +59291,7 @@ oDd oDd oDd oDd -oDd +jRu jRu icI eUd @@ -57302,15 +59312,15 @@ eoz uhe vUs vUs -nic -nic -xFH -xFH -xFH -xFH -xFH +vUs +vUs xFH +kTz +kTz xFH +kss +hQy +ujt xFH lIp pRW @@ -57438,20 +59448,20 @@ pRW pRW pRW pRW -uPt -xIf -xIf -xIf -xIf -uPt -neh -xIf +lHr +ybE +bNY +ruq +bXB +lHr +wUs +icg hgr ndE tjU eyM uPt -xIf +gUD neh sjz qSj @@ -57468,14 +59478,14 @@ gSJ wzx pjB oDd -cHC +mVo cHC cQB cHC fOF cHC cHC -oDd +jRu iHO jvO owE @@ -57495,17 +59505,17 @@ dvL hjX uhe vUs -fik -fik -fik -pRW -pRW -pRW -bfE -qBd -lmG -qBd -pRW +tKc +dMJ +tqJ +iro +svB +iro +aUR +xFH +xFH +xFH +xFH pRW pRW pRW @@ -57633,19 +59643,19 @@ pRW pRW pRW qFa -xIf -xIf -xIf -xIf -uPt +ybE +nNV +ruq +bXB +lHr lqv -xIf +jNt hgr bqS mIF iRy uPt -xIf +eEN neh sjz mxu @@ -57662,14 +59672,14 @@ pBC ftU ijz oDd -cHC +nCx cHC qgo cHC cHC cHC -cHC -oDd +mVo +jRu mQp bZX pUB @@ -57689,16 +59699,16 @@ dvL hjX uhe vUs -brS -fik -pRW -pRW -pRW -pRW -pRW -jRE +iDd +tqJ +pkD +pkD +nMP +hGE +aUR +dYQ +lmG qBd -jRE pRW pRW pRW @@ -57827,19 +59837,19 @@ pRW pRW pRW qFa -xIf -xIf -xIf -xIf -uPt -neh -xIf +mfH +mfH +jLs +kTq +lHr +wUs +jNt hgr wMd xGI bXr uPt -xIf +gUD neh sjz dPT @@ -57854,16 +59864,16 @@ uza fLZ hGm nvK +rBK oDd +gbg oDd -cHC -cHC qgo cHC +ojx cHC cHC -cHC -oDd +jRu yeL oQM rdl @@ -57873,7 +59883,7 @@ nJk gYD mNp kzb -kzb +agb kzb aia aia @@ -57883,16 +59893,16 @@ dvL hjX uhe vUs -fik -fik -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW +pkD +nMP +nMP +nMP +nMP +sVo +aUR +jRE +qBd +jRE pRW pRW pRW @@ -58020,20 +60030,20 @@ pRW pRW pRW pRW -uPt -kim -xIf -xIf -xIf -uPt -neh -neh +lHr +tkZ +tkZ +ruq +bXB +lHr +wUs +wUs hgr bqS xGI xtD uPt -xIf +ulT neh sjz rfV @@ -58047,8 +60057,8 @@ fxa lEm nAr aGC -oDd -oDd +rBK +rBK fOF cHC chD @@ -58057,7 +60067,7 @@ chD chD chD chD -oDd +jRu ygE oQM rdl @@ -58077,14 +60087,14 @@ dvL qgp uhe vUs -fik -fik -pRW -pRW -pRW -pRW -pRW -pRW +pkD +nMP +bpx +aUR +aUR +aUR +aUR +lIp pRW pRW pRW @@ -58214,20 +60224,20 @@ pRW pRW jRE qBd -uPt -xIf -xIf -xIf -xIf -uPt -xIf -neh +lHr +wtJ +rRr +ruq +bXB +lHr +jNt +wUs hgr rGZ xGI pnF uPt -mUB +lzN neh sjz oLd @@ -58241,7 +60251,7 @@ tij uza uwG wtZ -oDd +rBK cHC cHC cHC @@ -58251,7 +60261,7 @@ pZh chD mKc xda -oDd +jRu heR pDv lnT @@ -58270,11 +60280,11 @@ uhe rME uhe uhe -fik -fik -fik -pRW -pRW +gTW +pkD +nMP +ebu +aUR pRW pRW pRW @@ -58408,14 +60418,14 @@ pRW pRW qBd lmG -uPt -uPt -ieR -uPt -uPt -uPt -uPt -ieR +lHr +lHr +xDd +lHr +lHr +lHr +lHr +xDd uPt ccN uPt @@ -58432,10 +60442,10 @@ eQu liR jBH vez -uza +nwH wil wtZ -oDd +rBK cHC cHC cHC @@ -58445,7 +60455,7 @@ sTi tQL cTK eJe -oDd +jRu gAz vEl rdl @@ -58464,11 +60474,11 @@ xht iVj sCy uhe -fik -fik -fik -pRW -pRW +hKY +pkD +nMP +uhG +aUR pRW pRW pRW @@ -58603,19 +60613,19 @@ pRW jRE qBd uPt -xIf +jUR neh xIf -xIf -xIf +viH +lqV xIf neh +ppB xIf -xIf -xIf -xIf +viH +gUD uPt -xIf +kim neh sjz nvB @@ -58629,7 +60639,7 @@ tij uza slw fHk -tfp +ajX qGR wMn cHC @@ -58639,7 +60649,7 @@ hBp chD qli qnh -oDd +jRu tlU ptm rdl @@ -58658,13 +60668,13 @@ ePT cSS aOb uhe +cCs +pkD +nMP +bqq +aUR qBd grq -fik -pRW -pRW -pRW -pRW pRW pRW pRW @@ -58797,19 +60807,19 @@ pRW pRW pRW uPt -xIf +gUD neh neh wfP -neh -neh +ntI +enA neh neh neh neh uPt uPt -xIf +gUD neh sjz okM @@ -58823,7 +60833,7 @@ rsT ugT pfV qiy -oDd +rBK cHC ePI cHC @@ -58833,7 +60843,7 @@ chD chD ioN bwt -oDd +jRu kDU uOw mRr @@ -58852,13 +60862,13 @@ fQL dar ohg uhe +hMj +pkD +nMP +pkD +aUR lmG qBd -fik -pRW -pRW -pRW -pRW pRW pRW pRW @@ -59017,9 +61027,9 @@ tij mYS hbH kjZ -oDd -cHC -mfl +rBK +nCx +jQc qGR qGR qGR @@ -59027,7 +61037,7 @@ qGR wNP hqy gtR -oDd +jRu wxc kBU rdl @@ -59046,13 +61056,13 @@ vrY fUf fIp uhe +gdh +pkD +nMP +lbn +aUR qBd grq -fik -pRW -pRW -pRW -pRW pRW pRW pRW @@ -59211,17 +61221,17 @@ sjz uza ifz kUk +rBK oDd oDd oDd -oDd -cHC +tqR oDd cHC cHC sAZ qQK -oDd +jRu efc uOw aqd @@ -59240,11 +61250,11 @@ dAF bMe xJh uhe -brS -fik -fik -pRW -pRW +oOZ +vJE +nMP +pkD +aUR pRW pRW pRW @@ -59390,7 +61400,7 @@ pRW pRW pRW uPt -xIf +ulT xIf neh uLo @@ -59405,22 +61415,22 @@ uLo nFY wum edP -oDd -cHC -cHC +rBK cHC +mVo cHC +qQK oDd -cHC +mVo cHC sAZ qQK -oDd +jRu bPE uOw lDm vYN -kzb +gsr vYN dic tGx @@ -59434,11 +61444,11 @@ fRk bxO jzJ uhe -fik -fik -fik -pRW -pRW +pkD +pkD +nMP +wKx +aUR pRW pRW pRW @@ -59584,7 +61594,7 @@ pRW pRW pRW uPt -xIf +eEN xIf neh uLo @@ -59599,17 +61609,17 @@ uLo dGt vRa cki -oDd -wnU -cHC -cHC -cHC +rBK +rDQ +qQK +qQK +qQK oDd oDd oDd -sAZ -qQK +lZA oDd +jRu xFn ueR qxt @@ -59628,11 +61638,11 @@ pxV xqg uhe uhe -fik -fik -fik -pRW -pRW +vBe +tqJ +nMP +tKc +aUR pRW pRW pRW @@ -59778,7 +61788,7 @@ pRW pRW pRW uPt -xIf +gUD xIf neh uLo @@ -59793,17 +61803,17 @@ uLo aVr qNj edP -oDd +rBK scN -cHC -cHC -cHC oDd -cHC -cHC +oDd +oDd +oDd +mVo +fOF sAZ qQK -oDd +jRu vbg uOw rdl @@ -59821,13 +61831,13 @@ wlz hnK sqk bWr -rNS -fik -fik -fik -pRW -pRW -pRW +wlz +iDd +pkD +nMP +vJE +aUR +lIp pRW pRW pRW @@ -59972,7 +61982,7 @@ pRW pRW pRW uPt -xIf +tzN mUB neh uLo @@ -59991,13 +62001,13 @@ lbt mDv qQK qQK +wGq cHC -oDd cHC cHC sAZ qQK -oDd +jRu ixQ uOw lnT @@ -60015,12 +62025,12 @@ wlz oGx waz xke -rNS -fik -fik -fik -pRW -pRW +wlz +pkD +pkD +nMP +pkD +aUR pRW pRW pRW @@ -60181,14 +62191,14 @@ uGR mYS gjd edP -oDd +rBK rjD eZz -eZz -kEQ +etu kEQ kEQ kEQ +ylH bYF kEQ yhI @@ -60209,12 +62219,12 @@ wlz jBK waz xke -rNS -fik -fik -fik -pRW -pRW +wlz +vJE +pkD +nMP +lbn +aUR pRW pRW pRW @@ -60360,7 +62370,7 @@ pRW qBd lmG uPt -xIf +kim xIf neh uLo @@ -60375,17 +62385,17 @@ uGR uza syB ksB -oDd +rBK cHC oDd oDd oDd -bHC -oDd +fyu oDd oDd oDd oDd +jRu bFI uOw jWy @@ -60403,12 +62413,12 @@ cDC xow mri qrz -rNS -fik -fik -fik -pRW -pRW +wlz +iro +iro +svB +iro +aUR pRW pRW pRW @@ -60566,20 +62576,20 @@ wNs otK jUa uLo -uza +een bCK arL +rBK +rBK oDd -oDd -oDd -cHC +mVo cHC qQK cHC cHC fOF nqw -oDd +jRu iPf xUp eJO @@ -60597,12 +62607,12 @@ otT dSa edn lyO -rNS -fik -fik -fik -pRW -pRW +wlz +pkD +nMP +nMP +pkD +aUR pRW pRW pRW @@ -60748,7 +62758,7 @@ pRW pRW pRW uPt -xIf +xLC xIf neh uLo @@ -60764,7 +62774,7 @@ uza syB hTl wPE -oDd +rBK wTM cHC cHC @@ -60773,8 +62783,8 @@ cHC uCq uCq xgg -oDd -bFI +jRu +caA uOw kdT vCs @@ -60792,11 +62802,11 @@ fOS xHr sox rdA -brS -fik -fik -pRW -pRW +tqJ +nMP +qLf +lQG +aUR pRW pRW pRW @@ -60958,7 +62968,7 @@ mxz suL bpS ftU -oDd +rBK gwF cHC cHC @@ -60967,7 +62977,7 @@ uCq uCq cHC mqw -oDd +jRu bFI uOw rdl @@ -60986,9 +62996,12 @@ tpt wNb gtH rdA -fik -fik -fik +tqJ +nMP +qLf +ara +aUR +lIp pRW pRW pRW @@ -61012,6 +63025,197 @@ pRW pRW pRW pRW +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +"} +(118,1,1) = {" +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +uPt +hVC +xIf +neh +uLo +mYG +mYG +mYG +mYG +hQw +uLo +uLo +uLo +rBK +jkW +ffk +ezg +rBK +oDd +uSX +cHC +qQK +cHC +cHC +cHC +nMC +jRu +bFI +uOw +rdl +vCs +pwh +bAO +tNe +tqN +loL +rdA +vxY +nHo +cFG +rdA +tCw +xrU +bJH +rdA +iDd +nMP +qLf +qDU +aUR +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW pRW pRW pRW @@ -61060,7 +63264,7 @@ mDp mDp mDp "} -(118,1,1) = {" +(119,1,1) = {" mDp mDp mDp @@ -61136,55 +63340,55 @@ pRW pRW pRW uPt -xIf -xIf +cBo +eEN neh -uLo -mYG -mYG -mYG -mYG -hQw -uLo -uLo -uLo -tcy -jkW -ffk -ezg -oDd -oDd -uAu -cHC +kQU +rrz +eLb +fWy +gIy +qks +kQU +cKf +xIf +rBK +xKb +kBX +hlC +wgF +rBK +rBK +ppr qQK +ojx cHC -cHC -cHC -nMC -oDd +ggW +qBi +jRu bFI uOw rdl vCs -pwh -bAO -tNe -tqN -loL +vCs +vCs +oRR +vCs +vCs rdA vxY nHo -cFG +wrN rdA -tCw -xrU -bJH +lAn +eqL +txt rdA -fik -fik -fik -pRW -pRW +kRX +nMP +qLf +vJE +aUR pRW pRW pRW @@ -61254,7 +63458,7 @@ mDp mDp mDp "} -(119,1,1) = {" +(120,1,1) = {" mDp mDp mDp @@ -61328,59 +63532,59 @@ pRW pRW pRW pRW -pRW +gCJ uPt -xIf -xIf +eEN +eEN neh kQU -rrz -eLb -fWy -gIy -qks +lza +jmW +rKI +ivj +brk kQU -wUs -wUs -tcy -xKb -kBX -hlC -wgF +xIf +dMg +lbt +oBL +vAB +uMl +iBv +fDp +bHC +qQK +oDd oDd oDd -szh -qQK -cHC -cHC -cHC -qBi oDd +uSX +jRu bFI uOw -rdl -vCs -vCs -vCs -oRR -vCs +lnT vCs +emy +bAO +tuF +sGJ +vrn rdA vxY -nHo -wrN +ijC +khE rdA -lAn -eqL -txt +dPs +lBC +erj rdA -fik -fik -fik -pRW -pRW -pRW -pRW +gFn +nMP +qLf +ycv +aUR +qBd +grq pRW pRW pRW @@ -61448,7 +63652,7 @@ mDp mDp mDp "} -(120,1,1) = {" +(121,1,1) = {" mDp mDp mDp @@ -61483,8 +63687,6 @@ mDp mDp mDp mDp -mDp -mDp pRW pRW pRW @@ -61522,57 +63724,61 @@ pRW pRW pRW pRW -gCJ +pRW +pRW +pRW uPt -xIf +gUD xIf neh kQU -lza -jmW -rKI -ivj -brk +sTI +eYk +xUq +sBg +bsC kQU -wUs -dMg -ttm -oBL -vAB -uMl -iBv -fDp -bHC -szh -oDd -oDd -oDd -oDd -uSX -oDd -bFI -uOw -lnT -vCs -emy -bAO -tuF -sGJ -vrn +ulT +xnR +rBK +rBK +ooD +qbE +kUp +quL +rBK +rBK +rBK +pCj +jOJ +jRu +jRu +jRu +uwL +bSI +sKg +fOZ +fOZ rdA -vxY -ijC -khE +qjy rdA -dPs -lBC -erj rdA +rdA +wzP +mGd +eDF +rdA +cuS +wqG +obu +rdA +nMP +nMP +qLf +dpV +aUR +lmG qBd -grq -fik -pRW -pRW pRW pRW pRW @@ -61595,15 +63801,6 @@ pRW pRW pRW pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp mDp mDp mDp @@ -61612,206 +63809,19 @@ mDp mDp mDp mDp +pRW +pRW +pRW +pRW +pRW +pRW mDp mDp mDp mDp mDp mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -"} -(121,1,1) = {" -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -uPt -kim -xIf -neh -kQU -sTI -eYk -xUq -sBg -bsC -kQU -wUs -tem -tcy -tcy -ooD -qbE -kUp -quL -oDd -oDd -oDd -pCj -jOJ -oDd -oDd -oDd -uwL -bSI -sKg -fOZ -fOZ -rdA -qjy -rdA -rdA -rdA -wzP -mGd -eDF -rdA -cuS -wqG -obu -rdA -lmG -qBd -fik -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp +nWQ mDp mDp mDp @@ -61912,7 +63922,7 @@ pRW pRW pRW uPt -xIf +ulT xIf neh kQU @@ -61922,10 +63932,10 @@ fmm fmm coH kQU -wUs -xnR xIf -tcy +xnR +xLC +rBK wzN fLZ xnN @@ -61951,18 +63961,18 @@ uNt won eYM yhT -rdA +auq fXo iTB rMR rdA +nMP +sVM +qLf +ppH +aUR qBd grq -fik -pRW -pRW -pRW -pRW pRW pRW pRW @@ -62107,19 +64117,19 @@ jRE qBd uPt xIf -xIf +eEN neh ieR neh neh neh -neh +kLp cET yfn -yfn +jii ogd -xIf -tcy +mDj +rBK lay nCo qTI @@ -62145,16 +64155,16 @@ chF axp aYU sqh -auq -hff +rdA +vKc xgi qDJ rdA -fik -fik -fik -pRW -pRW +nMP +bKz +aUR +aUR +aUR pRW pRW pRW @@ -62300,7 +64310,7 @@ pRW qBd lmG uPt -xIf +gUD xIf neh tcy @@ -62332,21 +64342,21 @@ qpl vqS bFe guJ -qLf -qLf -qLf -qLf -qLf -qrO -vvK +guJ +guJ +guJ +guJ +guJ +guJ +guJ rdA -vKc -lYK -vKc rdA -fik -fik -fik +rdA +rdA +rdA +nMP +iro +aUR pRW pRW pRW @@ -62494,8 +64504,8 @@ pRW jRE qBd uPt -xIf -xIf +kim +djx neh tcy rvw @@ -62524,23 +64534,23 @@ dzs wCF ruD upS -hOG -guJ -gUD -gUD -guJ -guJ -guJ -guJ -guJ -rdA -rdA -rdA -rdA -rdA +vvK +tUS +nMP +nMP +nMP +nMP +bwN +nMP +nMP +nMP +nMP +nMP +nMP +dco +nMP +iro brS -fik -fik pRW pRW pRW @@ -62688,9 +64698,9 @@ pRW pRW pRW uPt -xIf -xIf -neh +uPt +uPt +aQK tcy nnJ nnJ @@ -62718,22 +64728,22 @@ wCF bZt qpl rXl -fOZ -bmb -hDv -hDv -hDv -hDv -hDv -xfy -hDv -hDv -egt -pgD -dYQ -dyS -fik -fik +hOG +jhB +ciU +ciU +jhB +jhB +jhB +jhB +jhB +mbs +mbs +mbs +mbs +mbs +aUR +aUR fik pRW mDp @@ -62882,8 +64892,8 @@ pRW pRW pRW uPt -xIf -xIf +qLF +gUD neh pyK nnJ @@ -62913,6 +64923,200 @@ hDn tWO fLw fOZ +bmb +hDv +hDv +hDv +hDv +hDv +xfy +hDv +hDv +hDv +oBH +qrO +dyS +fik +fik +fik +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +"} +(128,1,1) = {" +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +uPt +xIf +xIf +neh +tcy +kkX +nnJ +bpa +qqi +wMp +ofu +wHi +eUS +jvz +den +wMp +iwJ +jGK +bBw +rgo +xFX +xFX +ndJ +pMh +ote +pMh +qkF +pMh +gbN +qPf +ozA +fOZ oFh oku weg @@ -62922,9 +65126,9 @@ weg weg weg oku -nmL -dpF -kYG +weg +riq +lYK dyS fik fik @@ -63000,201 +65204,7 @@ mDp mDp mDp "} -(128,1,1) = {" -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -uPt -xIf -xIf -neh -tcy -kkX -nnJ -bpa -qqi -wMp -ofu -wHi -eUS -jvz -den -wMp -iwJ -jGK -bBw -rgo -xFX -xFX -ndJ -pMh -ote -pMh -qkF -pMh -gbN -qPf -ozA -fOZ -oFh -oku -qww -mob -hce -ayB -mob -mob -jGS -weg -bYo -bYo -dyS -fik -fik -fik -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -"} -(129,1,1) = {" +(129,1,1) = {" mDp mDp mDp @@ -63288,28 +65298,28 @@ wMp efw rKe tMu -tUb -tUb -tUb -tUb -tUb +iDS +rBK +rBK +rBK +jRu jGe -tUb -tUb -tUb +jRu +jRu +jRu xDa aDX aYt mbs hzW oku -lta -kzf -lyv -eow -wLE -rVa -uuw +qww +mob +hce +ayB +mob +mob +jGS aeW weg bYo @@ -63465,7 +65475,7 @@ pRW gCJ uPt xVe -xIf +qLF neh tcy npO @@ -63482,28 +65492,28 @@ wMp ppu gJm rtj -tUb -pkD +iDS +vJE pkD nMP nMP ecV pkD hlS -tUb +ifg qUK ttn xcG mbs oFh oku -eQr -aJg -oku -sjN -pkR -spv -oku +lta +kzf +lyv +eow +wLE +rVa +uuw uuw aeW weg @@ -63659,7 +65669,7 @@ pRW pRW pRW xVe -xIf +qLF neh tcy ryc @@ -63676,7 +65686,7 @@ wMp nKo dqm rtj -tUb +iDS iDd nMP nMP @@ -63684,20 +65694,20 @@ nMP dAa pkD pkD -tUb +ifg yah gaG oYE mbs oFh oku -tNu -pDh +eQr +aJg oku +sjN +pkR +spv oku -pbD -ecT -kkL kkL uPy bzj @@ -63870,27 +65880,27 @@ bzU cue wlW rtj -tUb +iDS nMP nMP nMP pkD dAa -pkD -pkD -tUb +tqJ +tqJ +ifg sgw vWh oYE mbs oFh oku +tNu +pDh oku -jYD oku -itb -iLk -nXk +pbD +ecT kkL eaq dTF @@ -64047,7 +66057,7 @@ pRW pRW pRW xVe -kim +cBo neh tcy bKE @@ -64064,28 +66074,28 @@ wMp oKF sEs nvq -tUb +iDS lZR kfA ejr ejr eRd pkD -pkD -tUb +tKc +ifg dhy eXR ybr mbs -xnE -lrJ -xGB -tso -peR -gIr -pho -jye -qtW +oFh +oku +oku +jYD +oku +itb +iLk +nXk +kkL vFG xhP kkL @@ -64241,7 +66251,7 @@ pRW pRW pRW xVe -xIf +iXg neh tcy jRK @@ -64258,7 +66268,7 @@ wMp eYA dEb uDV -tUb +iDS wVf rpj rpj @@ -64266,20 +66276,20 @@ rpj rpj rpj rpj -tUb +ifg vqH vWh oYE mbs gzk -mzy -kZh -tOc -mQm -ktt -rnw -dKK -kkL +lrJ +xGB +tso +peR +gIr +pho +jye +qtW qKR cEs kkL @@ -64435,7 +66445,7 @@ pRW pRW pRW xVe -xIf +eEN neh tcy jRK @@ -64452,7 +66462,7 @@ wMp eYA mFT kXE -tUb +iDS pgN lLS rpj @@ -64460,19 +66470,19 @@ jPu pUI pUI pUI -tUb +ifg kpO oJk oYE mbs sgy -oku -oku -oku -oku -kJt +mzy +kZh +tOc +mQm +ktt rnw -kwz +dKK kkL muS pZN @@ -64569,7 +66579,7 @@ mDp mDp mDp mDp -bHu +mDp mDp mDp mDp @@ -64629,7 +66639,7 @@ pRW jRE qBd xVe -xIf +xLC neh tcy jRK @@ -64646,7 +66656,7 @@ mai eYA gAW aoi -tUb +iDS lwk tEk twM @@ -64654,19 +66664,19 @@ nTN pIb pUI pUI -tUb -aua +ifg +lWH vWh oYE mbs hog -bYo oku oku oku -xYz +oku +kJt rnw -kDA +kwz kkL hdR hdR @@ -64837,10 +66847,10 @@ jRK jRK wsu wMp -ppu +rpi mFT kXE -tUb +iDS wdp hMz rpj @@ -64848,20 +66858,20 @@ rOO lnk pUI cFB -tUb +ifg aua ioD xcG mbs hDD -hDv -egt -bFy +vcl +oku oku -nOY -rnw -acD oku +xYz +rnw +kDA +kkL bYo bYo bYo @@ -65017,7 +67027,7 @@ pRW jRE qBd xVe -xIf +gUD neh tcy jRK @@ -65034,28 +67044,28 @@ mai eYA mFT uXO -tUb +iDS rpj rpj rpj waa fIK rpj -pUI -tUb +fZH +ifg aua sNd nRt aPI roU -bYo +aaL vcl -bYo -btU -fIs +bFy +oku +nOY rnw -gzO -btU +acD +oku bYo bYo bYo @@ -65166,7 +67176,7 @@ pRW pRW pRW pRW -mDp +iBr mDp mDp pRW @@ -65228,14 +67238,14 @@ wMp sKw kzS xqb -tUb -pkD -pkD +iDS +iYl +nHX pkD jyg jGa rpj -pUI +fZH gyu vVV fYZ @@ -65246,9 +67256,9 @@ hDv joN bYo btU -qNR -lbw -oXk +fIs +rnw +gzO btU bYo bYo @@ -65419,18 +67429,18 @@ jRK jRK jRK mai -oGt +eYA mFT uXO -tUb -pkD -pkD +iDS +eop pkD +sZg jyg jGa rpj rpj -tUb +ifg fTa sqA arr @@ -65439,11 +67449,11 @@ bYo bYo nmL egt -oku -oku -bJp -oku -oku +btU +qNR +lbw +oXk +btU bYo bYo bYo @@ -65616,15 +67626,15 @@ wMp uWv mFT ruu -tUb +iDS fNy -gkx +tJj gkx qLC jGa pkD -hlS -tUb +khI +ifg vqH sqA oYE @@ -65635,7 +67645,7 @@ oJH qJU oku oku -nBs +bJp oku oku bYo @@ -65793,7 +67803,7 @@ pRW pRW pRW xVe -xIf +qLF neh tcy bKE @@ -65816,10 +67826,10 @@ ejD ejD tVO ruN -pkD -pkD -tUb -aua +vJE +cCs +ifg +lWH sqA oYE mbs @@ -66004,22 +68014,22 @@ wMp kVB gJm nDt -tUb +iDS nMP -pkD -pkD +vJE +vJE jyg nMP nMP -pkD -tUb +hMj +ifg xDb kJL dUT mbs bYo -bFP bYo +bFP nmL hDv ndI @@ -66181,9 +68191,9 @@ pRW pRW pRW xVe -xIf -xIf -xIf +tzN +neh +gUD tcy wMp nnJ @@ -66198,26 +68208,26 @@ pKa aVd qzR nDt -tUb +iDS gAp nMP nMP jyg -ruN +nMP nMP tUb -tUb +ifg sgw uhS xcG -iro -iro -iro -iro -iro -iro -iro -iro +pix +pix +kPA +pix +pix +pix +pix +pix nGk nGk nGk @@ -66376,9 +68386,9 @@ pRW pRW xVe xVe +neh xIf -xIf -xIf +xLC tcy wMp wMp @@ -66392,10 +68402,10 @@ wMp aJe gJm nDt -tUb -pkD -pkD -pkD +iDS +vPe +oPM +ozJ wOZ cTu cTu @@ -66404,14 +68414,14 @@ aQB kUg cmT oYE -nhq -hlS -pkD -pkD -pkD -hlS -pkD -iro +scX +bKt +nRM +eEw +gzF +shb +lQV +pix nGk nGk mbs @@ -66570,42 +68580,42 @@ pRW pRW pRW xVe -xVe -xVe -xIf +neh +neh xIf xIf +xVe eYK eYK eYK eYK eYK eYK -eYK -eYK +iDS +iDS vLg gJm nDt -tUb -pkD -pkD -pkD -pkD -pkD -pkD -tUb +iDS +oOZ +iGp +tgP +tqJ +eki +qIW +ifg tcX fRp mih bZw -nhq -pkD -pkD -pkD -pkD -pkD -pkD -iro +scX +nwK +omO +omO +wyD +ltG +cGM +pix nGk mbs mbs @@ -66763,24 +68773,24 @@ pRW pRW pRW pRW -pRW -pRW xVe -xIf -xIf -teE -gfA -gfA -gfA -gfA -gfA -teE -eYK -eYK +gUD +neh +neh +neh +svm +sHP +sHP +wmt +gNW +dQO +blQ +iDS +iDS sUb gJm tUN -tUb +iDS ifg ifg ifg @@ -66792,14 +68802,14 @@ jpu vWh bgF oYE -nhq -pkD -pkD -pkD -pkD -pkD -pkD -iro +scX +qbw +rjm +ozQ +pmu +kBm +eoQ +pix mbs mbs pRW @@ -66957,24 +68967,24 @@ pRW pRW pRW pRW -pRW -pRW xVe xVe xVe -teE +xVe +xVe +mNh gfA sHP +jYQ +myR gfA -gfA -gfA -eYK -eYK +iDS +iDS uOj rom gJm nDt -tUb +iDS ifg bge mna @@ -66986,14 +68996,14 @@ gfI vWh bgF fDK -nhq -pkD -pkD -pkD -pkD -pkD -pkD -nhq +scX +scX +iAd +scX +scX +scX +scX +scX lmG qBd pRW @@ -67073,240 +69083,8 @@ mDp mDp mDp mDp -"} -(149,1,1) = {" -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -xVe -mNh -gfA -sHP -sHP -sHP -sHP -qcN -uOj -vMB -oYe -jch -sYu -tUb -ifg -mna -tPG -tPG -mna -bjk -vWh -vWh -tUG -bEj -oYE -biu -pkD -pkD -pkD -pkD -pkD -pkD -nhq -qBd -jRE -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -"} -(150,1,1) = {" -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp -mDp -mDp -mDp +"} +(149,1,1) = {" mDp mDp mDp @@ -67321,6 +69099,24 @@ mDp mDp mDp mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW mDp mDp pRW @@ -67349,46 +69145,66 @@ pRW pRW pRW pRW -gCJ +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +xVe mNh -hDu -gfA -gfA gfA -gfA -mNh -aLB -byX -hln -nDt -tUb -tUb +sHP +sHP +sHP +sHP +qcN +uOj +vMB +oYe +jch +sYu +iDS ifg mna tPG tPG -nPa -vWh -vWh +mna +bjk vWh vWh -fKA -xcG -nhq -iDd -pkD -pkD -pkD -pkD -vtx -nhq -pRW +tUG +bEj +oYE +biu +sFS +kNG +scX +kCh +rdi +rif +scX +qBd +jRE pRW pRW pRW pRW pRW -mDp pRW pRW pRW @@ -67462,7 +69278,7 @@ mDp mDp mDp "} -(151,1,1) = {" +(150,1,1) = {" mDp mDp mDp @@ -67497,7 +69313,7 @@ pRW mDp mDp mDp -gtM +mDp mDp mDp mDp @@ -67542,21 +69358,21 @@ pRW pRW pRW pRW -jRE -qBd +pRW +gCJ mNh -gfA -gfA -gfA -gfA -gfA -eYK -eah -gHJ -spp -sYu -tUb -pkD +hDu +blQ +iqF +eCi +cLY +iwR +aLB +byX +hln +nDt +iDS +iDS ifg mna tPG @@ -67566,16 +69382,16 @@ vWh vWh vWh vWh -pXE -ana -nhq -pkD -pkD -pkD -pkD -pkD -pkD -nhq +fKA +xcG +scX +naZ +kNG +scX +vMh +ayx +vtx +scX pRW pRW pRW @@ -67656,7 +69472,7 @@ mDp mDp mDp "} -(152,1,1) = {" +(151,1,1) = {" mDp mDp mDp @@ -67691,7 +69507,7 @@ pRW mDp mDp mDp -mDp +gtM mDp mDp mDp @@ -67736,40 +69552,40 @@ pRW pRW pRW pRW +jRE qBd -lmG mNh -gfA -gfA -gfA -gfA -gfA mNh -tXO -rsL -xjv -tUb -tUb -pkD +mNh +mNh +khm +mNh +iDS +eah +gHJ +spp +sYu +iDS +kUT ifg mna tPG tPG -mna -aAu +nPa vWh vWh -fWJ -oaJ -vnb -cTz -pkD -pkD -pkD -pkD -pkD -pkD -nhq +vWh +vWh +pXE +ana +scX +wFI +kNG +luU +qxd +cxF +eKl +scX pRW pRW pRW @@ -67850,7 +69666,7 @@ mDp mDp mDp "} -(153,1,1) = {" +(152,1,1) = {" mDp mDp mDp @@ -67930,40 +69746,40 @@ pRW pRW pRW pRW -jRE qBd +lmG mNh +hDu +fcG +fcG gfA gfA -gfA -gfA -gfA -mNh -kgB -pjb -mSK -tUb -tUb -tUb +iwR +tXO +rsL +xjv +iDS +iDS +kUT ifg -bge mna +tPG +tPG mna -bge -wKT -vUI -uFQ -cwT -bgF -vsM -nhq -pkD -pkD -pkD -pkD -pkD -pkD -nhq +aAu +vWh +vWh +fWJ +oaJ +vnb +cTz +kYT +miz +wTK +xLo +fpp +wvk +scX pRW pRW pRW @@ -68044,40 +69860,7 @@ mDp mDp mDp "} -(154,1,1) = {" -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp +(153,1,1) = {" mDp mDp mDp @@ -68109,6 +69892,29 @@ pRW pRW pRW pRW +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp pRW pRW pRW @@ -68126,13 +69932,217 @@ pRW pRW pRW pRW -mNh +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +jRE +qBd +how +cjm +lTS +sTu gfA gfA +iwR +kgB +pjb +mSK +iDS +iDS +iDS +ifg +bge +mna +mna +bge +wKT +vUI +uFQ +cwT +bgF +vsM +scX +mwB +xOh +scX +hbR +ayx +onF +scX +pRW +pRW +pRW +pRW +pRW +pRW +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +"} +(154,1,1) = {" +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +rHP gfA +piI +piI gfA gfA -mNh +iTE nNS sYJ tRx @@ -68150,14 +70160,14 @@ xIg hkf bkX plL -nhq -pkD -pkD -pkD -pkD -pkD -qUP -nhq +scX +fnA +scX +scX +scX +scX +scX +scX lIp pRW pRW @@ -68320,13 +70330,13 @@ pRW pRW pRW pRW -mNh -mNh -mNh -hDu +rHP +rHP +oko +axW gfA gfA -mNh +iTE cSd gzw aNn @@ -68344,14 +70354,14 @@ tYH nrD lbX fCt -nhq -pkD -pkD -pkD +scX qUP -nhq -nhq -nhq +mpL +wAN +hSn +scX +scX +scX pRW pRW pRW @@ -68518,9 +70528,9 @@ pRW pRW mNh mNh -mNh -gfA -mNh +dIS +khm +iTE uro gzw fMC @@ -68538,12 +70548,12 @@ cCF hGF wDK qaO -nhq -pkD -pkD -pkD -nhq -nhq +scX +aFn +tNI +rYl +ecg +scX pRW pRW pRW @@ -68714,7 +70724,7 @@ pRW pRW mNh gfA -mNh +iTE scP hvp pqU @@ -68732,12 +70742,12 @@ qIz fOr wqT qEo -nhq -pkD -pkD -pkD -nhq -nhq +scX +xuc +iVM +wzT +scw +scX lIp pRW pRW @@ -68908,7 +70918,7 @@ pRW pRW mNh gfA -mNh +iTE pic vhp pic @@ -68926,12 +70936,12 @@ yiM pic oCg oIp -nhq -pkD -qUP -nhq -nhq -nhq +scX +pyb +oli +eTf +eTf +eTf pRW pRW pRW @@ -69101,9 +71111,9 @@ pRW pRW gCJ mNh -gfA -mNh -bbD +nfQ +iTE +luA vhp pic yiM @@ -69120,13 +71130,13 @@ yiM pic oCg oIp -nhq -pkD -nhq -nhq -pRW +scX +iur +scX +eTf pRW pRW +wme pRW pRW mDp @@ -69296,8 +71306,8 @@ pRW pRW mNh mNh -mNh -luA +iTE +bbD vhp pic sBd @@ -69313,10 +71323,10 @@ xGm sBd pic oCg -oIp -nhq -nhq -nhq +vUJ +scX +scX +scX pRW pRW pRW @@ -70283,7 +72293,7 @@ iNI baj xAr ncC -hYp +wWS agO lmG qBd @@ -70477,7 +72487,7 @@ ieG baj xAr cfw -wWS +hYp agO qBd jRE @@ -70655,7 +72665,7 @@ pRW qBd lmG agO -xAr +soP hGi xWm aiO diff --git a/maps/endeavour/levels/deck3.dmm b/maps/endeavour/levels/deck3.dmm index f073b80a0f73..cd9ebe43b10a 100644 --- a/maps/endeavour/levels/deck3.dmm +++ b/maps/endeavour/levels/deck3.dmm @@ -14,6 +14,10 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) +"aaH" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "aaK" = ( /obj/structure/lattice, /turf/simulated/floor/airless/ceiling, @@ -31,11 +35,10 @@ /turf/simulated/floor/wood, /area/endeavour/surfacebase/bar_backroom) "aaY" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 10 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/delivery) +/obj/machinery/mineral/mint, +/obj/structure/window/reinforced, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "acd" = ( /obj/machinery/light_switch{ pixel_y = 26 @@ -64,14 +67,31 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"acO" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "acT" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/structure/table/woodentable, +/obj/item/paicard, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) +"acY" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool/largetank, +/obj/random/coin, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "adf" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/security/hallwayaux) +"adi" = ( +/obj/machinery/floodlight, +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "adB" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -93,6 +113,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"adP" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/maintenance/dormitory) "adX" = ( /obj/structure/table/standard, /obj/structure/bedsheetbin, @@ -121,9 +145,10 @@ /turf/simulated/floor/wood, /area/crew_quarters/bar) "aec" = ( -/obj/machinery/fire_alarm/east_mount, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled/dark, -/area/endeavour/station/stairs_three) +/area/quartermaster/warehouse) "agG" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -131,14 +156,21 @@ /turf/simulated/floor/carpet/sblucarpet, /area/crew_quarters/sleep/Dorm_12) "agT" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 5 +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/obj/machinery/sheet_silo{ - obj_persist_static_id = "sheet-silo-mining" +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/camera/network/cargo{ + dir = 8 + }, +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "agU" = ( /obj/structure/bed/chair/comfy/black{ dir = 4 @@ -151,10 +183,6 @@ }, /turf/simulated/floor/tiled/steel, /area/shuttle/belter) -"agX" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/maintenance/cargo) "ahk" = ( /obj/structure/closet/wardrobe, /turf/simulated/floor/wood, @@ -199,9 +227,17 @@ /turf/simulated/floor/tiled, /area/endeavour/station/stairs_three) "aiW" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/security/hallway) +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/button/remote/airlock{ + id = "DRAMATIC"; + name = "Blast Door Control"; + specialfunctions = 4; + pixel_y = 30 + }, +/turf/simulated/floor/wood, +/area/tether/surfacebase/entertainment) "ajk" = ( /obj/structure/closet/secure_closet/detective, /turf/simulated/floor/carpet, @@ -210,6 +246,15 @@ /obj/structure/adherent_bath, /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) +"akl" = ( +/obj/machinery/button/remote/blast_door{ + id = "salvage_launch"; + name = "Salvager Bay Doors"; + pixel_y = -5; + req_access = list(19) + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/miningdock) "akA" = ( /obj/structure/bed/chair{ dir = 4 @@ -265,11 +310,41 @@ }, /turf/simulated/floor/tiled, /area/security/lobby) +"amR" = ( +/obj/machinery/air_alarm/north_mount, +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) +"amY" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "anL" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, /area/security/hallway) +"anU" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/hole{ + dir = 8 + }, +/obj/machinery/recharge_station, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "aoe" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -282,6 +357,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"aoO" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/briefcase/inflatable, +/obj/item/storage/briefcase/inflatable, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "apl" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -292,9 +373,17 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "apt" = ( -/obj/machinery/vending/snack, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "apI" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/security/security_equiptment_storage) @@ -339,15 +428,18 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) "aqN" = ( -/obj/machinery/power/apc/west_mount{ - cell_type = /obj/item/cell/super +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/structure/cable/green{ - icon_state = "0-2" +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 }, -/obj/effect/floor_decal/spline/plain, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Warehouse" + }, +/obj/map_helper/access_helper/airlock/station/supply/department, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "aqY" = ( /obj/structure/table/woodentable, /obj/machinery/microwave, @@ -390,24 +482,62 @@ /obj/random/soap, /turf/simulated/floor/tiled/white, /area/crew_quarters/barrestroom) +"ate" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/stamp/cargo{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/stamp/denied{ + pixel_x = 7; + pixel_y = -1 + }, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) "atw" = ( -/obj/random/trash_pile, -/obj/machinery/light/small{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) +"atS" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 }, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portforhall) "atT" = ( /obj/structure/cable/green{ - icon_state = "2-8" + icon_state = "4-8" }, /obj/structure/cable/green{ - icon_state = "2-4" + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"atU" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/foyer) "aup" = ( /obj/machinery/computer/guestpass{ dir = 1; @@ -444,6 +574,7 @@ /obj/structure/cable/green{ icon_state = "0-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hallway) "auQ" = ( @@ -474,6 +605,15 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) +"avQ" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_interior" + }, +/obj/machinery/mineral/output, +/obj/machinery/light, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "avW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -557,7 +697,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "ayd" = ( /obj/machinery/door/firedoor, @@ -579,25 +719,19 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) "ays" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/brown/border, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 9 - }, -/obj/effect/floor_decal/corner/brown/bordercorner2{ - dir = 9 - }, -/obj/structure/table/standard, -/obj/item/hand_labeler, -/obj/item/hand_labeler, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/obj/structure/salvageable/autolathe, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "ayC" = ( /obj/structure/toilet{ dir = 8 }, /turf/simulated/floor/tiled/white, /area/security/warden) +"ayR" = ( +/obj/machinery/portable_atmospherics/powered/pump, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "ayW" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/power/apc/south_mount, @@ -619,6 +753,7 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "azW" = ( @@ -627,6 +762,13 @@ }, /turf/simulated/floor/wood, /area/security/lobby) +"aAy" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/quartermaster/foyer) "aAA" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -671,6 +813,17 @@ /obj/structure/closet/l3closet/janitor, /turf/simulated/floor/tiled/dark, /area/janitor) +"aBc" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/structure/table/wooden_reinforced, +/obj/machinery/recharger{ + pixel_x = -6; + pixel_y = 2 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "aBl" = ( /obj/structure/closet/wardrobe, /obj/item/toy/plushie/black_cat, @@ -680,6 +833,20 @@ /obj/machinery/power/apc/north_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_9) +"aBU" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) +"aCg" = ( +/obj/structure/closet/emcloset, +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "aCi" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -716,30 +883,23 @@ /turf/space, /area/space) "aDs" = ( -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/structure/cable/green{ - icon_state = "2-8" + icon_state = "1-4" }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) -"aDw" = ( -/obj/machinery/mineral/output, -/obj/effect/floor_decal/industrial/loading{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) -"aDU" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/lower/trash_pit) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"aDU" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/belterdock/refinery) "aFg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -762,15 +922,10 @@ /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "aFS" = ( -/obj/machinery/light, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 - }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/area/quartermaster/cargo_shelter_dock) "aGh" = ( /obj/effect/floor_decal/corner/blue{ dir = 4 @@ -817,8 +972,11 @@ /turf/simulated/floor/tiled, /area/security/lobby) "aGE" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, -/area/maintenance/cargo/mining) +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/wall/prepainted/cargo, +/area/quartermaster/cargo_shelter_dock) "aGV" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -831,6 +989,17 @@ }, /turf/simulated/floor/tiled, /area/hydroponics) +"aHh" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "aHs" = ( /obj/machinery/light{ dir = 4 @@ -844,6 +1013,29 @@ }, /turf/simulated/floor/tiled/dark, /area/security/brig) +"aHA" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Refinery"; + dir = 8 + }, +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "aHR" = ( /obj/effect/floor_decal/corner/green{ dir = 9 @@ -889,6 +1081,12 @@ /obj/item/melee/baton/loaded, /turf/simulated/floor/tiled/dark, /area/security/armoury) +"aIH" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/maintenance/dormitory) "aII" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -902,8 +1100,12 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "aIZ" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/delivery) +/obj/machinery/light/small{ + dir = 4 + }, +/obj/fiftyspawner/wood, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "aKg" = ( /obj/machinery/washing_machine, /turf/simulated/floor/tiled/white, @@ -968,7 +1170,7 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) "aMQ" = ( -/turf/simulated/wall/prepainted/civilian, +/turf/simulated/wall/prepainted, /area/crew_quarters/barrestroom) "aMW" = ( /obj/structure/cable/green{ @@ -1029,7 +1231,7 @@ dir = 1 }, /obj/machinery/fire_alarm/north_mount, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "aOy" = ( /obj/structure/bed/chair/wood{ @@ -1044,13 +1246,8 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/game_room) "aOG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/warehouse) "aPr" = ( /obj/structure/cable/orange{ @@ -1097,6 +1294,15 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_three) +"aTk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "aTm" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -1114,6 +1320,7 @@ dir = 8 }, /obj/machinery/door/airlock/maintenance, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/bar/catwalk) "aUp" = ( @@ -1134,13 +1341,22 @@ }, /turf/simulated/floor/tiled/monotile, /area/security/brig) +"aUM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "aUT" = ( /obj/structure/catwalk, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/plating, -/area/endeavour/station/stairs_three) +/area/maintenance/bar/lower) "aVb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1312,18 +1528,37 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) +"aZK" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 6 + }, +/obj/machinery/light{ + dir = 4; + use_power = 0 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "aZS" = ( /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/spawner/window/reinforced/full, +/obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "aZU" = ( /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/spawner/window/reinforced/full, +/obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "bax" = ( @@ -1352,6 +1587,11 @@ "bbr" = ( /turf/simulated/wall/r_wall/prepainted, /area/crew_quarters/sleep/Dorm_8) +"bbL" = ( +/obj/structure/closet/crate/trashcart, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/maintenance/bar/lower) "bbW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1446,6 +1686,7 @@ icon_state = "1-2" }, /obj/structure/cable/green, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hallway) "bee" = ( @@ -1518,7 +1759,7 @@ /obj/effect/floor_decal/corner/navgold/border{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "bfE" = ( /obj/machinery/fire_alarm/west_mount{ @@ -1564,17 +1805,17 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "bgH" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "mining_interior" +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/machinery/camera/network/cargo, -/obj/machinery/mineral/output, -/obj/structure/cable/green{ - icon_state = "2-4" +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "bgM" = ( /obj/structure/cable{ icon_state = "0-8" @@ -1606,11 +1847,10 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) "bhw" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/structure/table/hardwoodtable, +/obj/item/orion_ship, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "bhC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -1638,12 +1878,12 @@ /turf/simulated/floor, /area/security/brig) "bhP" = ( -/obj/machinery/mineral/processing_unit_console{ - density = 0; - pixel_y = 30 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "bhQ" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -1666,6 +1906,11 @@ /obj/machinery/power/apc/north_mount, /turf/simulated/floor/plating, /area/maintenance/substation/cargo) +"biZ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/storage/box/lights/mixed, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "bje" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ @@ -1726,21 +1971,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "blB" = ( -/obj/structure/closet/secure_closet/cargotech, -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 - }, -/obj/machinery/camera/network/cargo{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 10 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 10 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/mopbucket, +/obj/item/mop, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "blM" = ( /obj/effect/floor_decal/spline/fancy/wood, /obj/machinery/atmospherics/component/unary/vent_pump/on{ @@ -1800,6 +2034,10 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) +"bol" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/cargo_shelter_dock) "box" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -1816,17 +2054,15 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "boI" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 1 +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/door/airlock/maintenance, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/plating, +/area/quartermaster/foyer) "boM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -1860,6 +2096,17 @@ }, /turf/simulated/floor/tiled, /area/security/brig) +"bpu" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "bqn" = ( /obj/structure/sign/directions/cryo{ dir = 4; @@ -1883,16 +2130,18 @@ /turf/simulated/floor/tiled/monotile, /area/endeavour/hallway/d3afthall) "bqs" = ( -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = -37 - }, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-4" }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) +"bqR" = ( +/obj/item/bucket_sensor, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "brs" = ( /obj/machinery/power/terminal, /obj/structure/cable{ @@ -1935,13 +2184,14 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) +"bsN" = ( +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "bsV" = ( /obj/spawner/window/borosillicate/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/endeavour/hallway/d3fwdhall) -"bta" = ( -/turf/simulated/floor/reinforced/overhang, -/area/maintenance/bar/catwalk) "btf" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/effect/floor_decal/borderfloorblack{ @@ -1987,6 +2237,16 @@ }, /turf/simulated/floor/tiled, /area/hydroponics) +"bug" = ( +/obj/structure/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "buq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2041,14 +2301,30 @@ /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) +"buN" = ( +/obj/structure/closet/emcloset, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 6 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "buX" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/random/trash_pile, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 }, -/obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/area/endeavour/hallway/d3aftmaint) "bvs" = ( /obj/machinery/air_alarm{ dir = 4; @@ -2057,14 +2333,28 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "bvE" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/mining{ - name = "Quartermaster"; - req_one_access = list() +/obj/structure/table/reinforced, +/obj/machinery/door/window{ + dir = 8; + req_one_access = list(31) }, -/obj/map_helper/access_helper/airlock/station/head_office/quartermaster, -/turf/simulated/floor/tiled, -/area/quartermaster/qm) +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "bvI" = ( /obj/machinery/light/small{ dir = 8 @@ -2096,17 +2386,15 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) "bxW" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "byF" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -2162,7 +2450,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/recreation_area_hallway) "bzE" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, +/turf/simulated/wall/r_wall/prepainted, /area/crew_quarters/bar/lounge) "bzQ" = ( /obj/effect/floor_decal/spline/fancy/wood/corner{ @@ -2184,9 +2472,7 @@ /obj/effect/floor_decal/corner/navblue/border, /obj/effect/floor_decal/borderfloorblack/corner2, /obj/effect/floor_decal/corner/navblue/bordercorner2, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "bBc" = ( @@ -2196,9 +2482,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "bBF" = ( -/obj/effect/shuttle_landmark/endeavour/deck2/port, -/turf/space, +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 3, Starboard Side" + }, +/turf/space/basic, /area/space) +"bBM" = ( +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/tiled/steel_grid, +/area/quartermaster/belterdock) "bCj" = ( /obj/structure/bed/chair/comfy/beige{ dir = 4 @@ -2280,6 +2572,7 @@ /area/maintenance/dormitory) "bDw" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) "bDG" = ( @@ -2351,12 +2644,17 @@ /turf/simulated/floor/plating, /area/endeavour/command/turrets) "bHV" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "mining_interior" +/obj/machinery/light{ + dir = 1 }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "bIs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2375,6 +2673,22 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) +"bJh" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, +/obj/machinery/door/airlock/glass/mining{ + name = "Mailing Office"; + req_one_access = null + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "bJy" = ( /obj/machinery/door/airlock/maintenance, /obj/map_helper/access_helper/airlock/station/engineering/department, @@ -2396,11 +2710,13 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "bJS" = ( -/obj/machinery/air_alarm{ - dir = 8; - pixel_x = 25 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/carpet/sblucarpet, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "bKx" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ @@ -2414,6 +2730,23 @@ }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/kitchen) +"bLd" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/flipped{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "bLl" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -2452,16 +2785,16 @@ /area/security/detectives_office) "bMN" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/conveyor{ - dir = 8; - id = "QMLoad2" - }, /obj/machinery/shield_diffuser, /obj/map_helper/airlock/door/simple, +/obj/map_helper/access_helper/airlock/station/external_airlock, /obj/machinery/door/airlock/glass_external{ req_one_access = null }, -/obj/map_helper/access_helper/airlock/station/external_airlock, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" + }, /turf/simulated/floor/plating, /area/quartermaster/warehouse) "bNb" = ( @@ -2496,17 +2829,21 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "bOW" = ( -/obj/machinery/light{ - dir = 8 - }, +/obj/machinery/computer/roguezones, /turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/area/quartermaster/qm) "bPg" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 +/obj/machinery/light/small{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 + }, +/obj/structure/table/wooden_reinforced, +/obj/random/coin, +/turf/simulated/floor/wood, +/area/maintenance/cargo) "bPr" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/security/security_lockerroom) @@ -2514,6 +2851,12 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) +"bQe" = ( +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/metal/mait, +/turf/simulated/floor/tiled/monotile, +/area/endeavour/hallway/d3aftmaint) "bQp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2576,22 +2919,22 @@ }, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/sleep/Dorm_6) +"bTd" = ( +/obj/machinery/door/airlock/glass/mining{ + name = "Cargo Airlock"; + req_one_access = null + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "bTj" = ( /obj/machinery/computer/security/wooden_tv, /turf/simulated/floor/carpet, /area/security/detectives_office) "bTA" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) "bUa" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lime/border, @@ -2727,12 +3070,29 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/prison/cell_block) +"bWp" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "bWK" = ( /turf/simulated/wall/prepainted, /area/endeavour/station/stairs_three) +"bWR" = ( +/obj/random/trash_pile, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "bXD" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/structure/curtain/black, +/obj/effect/paint/palebottlegreen, +/obj/structure/curtain/open/black, /turf/simulated/floor/plating, /area/endeavour/surfacebase/bar_backroom) "bXV" = ( @@ -2759,7 +3119,7 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "bYP" = ( /obj/structure/disposalpipe/segment{ @@ -2804,7 +3164,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/light, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -2827,14 +3186,23 @@ /turf/simulated/floor/plating, /area/security/detectives_office) "ccA" = ( -/obj/structure/ore_box, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/power/apc/south_mount, -/obj/structure/cable/green{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"cdn" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "cdy" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -2921,7 +3289,7 @@ desc = "Heavy duty, airtight, plastic flaps." }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/endeavour/hallway/d3aftmaint) "chh" = ( /turf/simulated/floor/tiled/techfloor, /area/security/lobby) @@ -2944,9 +3312,21 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/spawner/window/reinforced/full, +/obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) +"ciU" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "cjp" = ( /obj/structure/bed/padded, /obj/machinery/newscaster{ @@ -2955,6 +3335,11 @@ /obj/random/bedsheet, /turf/simulated/floor/carpet/sblucarpet, /area/crew_quarters/sleep/Dorm_12) +"cjw" = ( +/obj/effect/floor_decal/rust, +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "cjH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2976,30 +3361,51 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_9) "cmi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +/obj/structure/cable/green{ + icon_state = "4-8" }, -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/disposalpipe/junction, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "cmw" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, +/obj/effect/paint/beastybrown, /turf/simulated/floor/plating, /area/quartermaster/office) "cmE" = ( -/obj/machinery/camera/network/cargo, -/obj/structure/table/standard, -/obj/item/stamp/cargo, -/obj/item/stamp/denied{ - pixel_x = 7 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, -/obj/item/stamp/qm{ - pixel_x = -6 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/structure/disposalpipe/junction/flipped{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "cmR" = ( /obj/structure/bed/chair/shuttle, /obj/structure/closet/walllocker/emerglocker/north, @@ -3008,6 +3414,19 @@ }, /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) +"cna" = ( +/obj/structure/sign/warning/moving_parts{ + pixel_y = 32 + }, +/obj/machinery/conveyor_switch/oneway{ + tag = "mailroom"; + id = "DLBelt" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "cnc" = ( /obj/structure/table/woodentable, /turf/simulated/floor/carpet/bcarpet, @@ -3032,6 +3451,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) +"cnO" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "coi" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -3040,6 +3465,7 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "com" = ( @@ -3131,9 +3557,9 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_13) "crM" = ( -/obj/machinery/air_alarm/north_mount, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +/obj/structure/bed/chair/comfy/brown, +/turf/simulated/floor/wood, +/area/maintenance/cargo) "csb" = ( /turf/simulated/floor/airless/ceiling, /area/space) @@ -3168,6 +3594,13 @@ }, /turf/simulated/floor/tiled/old_cargo/white, /area/security/forensics) +"cto" = ( +/obj/random/cash, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "ctz" = ( /obj/machinery/light{ dir = 1 @@ -3248,10 +3681,7 @@ /obj/machinery/air_alarm{ pixel_y = 22 }, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 8 - }, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "cxF" = ( /obj/structure/cable{ @@ -3272,12 +3702,26 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/bar) +"cyr" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "cyG" = ( -/obj/machinery/camera/network/cargo{ - dir = 4 +/obj/machinery/status_display/supply_display{ + pixel_x = -32 }, +/obj/structure/dogbed, +/mob/living/simple_mob/animal/sif/fluffy, /turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/area/quartermaster/qm) "czc" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/security/forensics) @@ -3289,8 +3733,10 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) "czr" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, +/obj/landmark/spawnpoint/job/cargo_technician, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "cAj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3316,6 +3762,10 @@ /obj/machinery/vending/loadout/loadout_misc, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) +"cBK" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "cBR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3404,6 +3854,30 @@ }, /turf/simulated/floor/tiled, /area/security/hanger) +"cDv" = ( +/obj/machinery/mineral/processing_unit_console{ + density = 0; + pixel_y = -33 + }, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) +"cDY" = ( +/obj/random/trash_pile, +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) +"cEd" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "cEz" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3431,7 +3905,7 @@ /area/endeavour/hallway/d3aftmaint) "cFD" = ( /obj/machinery/holopad, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/monodark, /area/prison/cell_block) "cFR" = ( /obj/structure/bed/chair/sofa/right, @@ -3520,7 +3994,7 @@ /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "cHy" = ( -/turf/simulated/wall/prepainted/cargo, +/turf/simulated/wall/prepainted, /area/crew_quarters/game_room) "cHK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -3573,17 +4047,8 @@ /turf/simulated/wall/prepainted, /area/crew_quarters/sleep/Dorm_1) "cJJ" = ( -/obj/machinery/air_alarm{ - pixel_y = 22 - }, -/obj/structure/ore_box, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/camera/network/cargo, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/turf/simulated/wall/r_wall/prepainted, +/area/vacant/vacant_shop) "cKe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3615,9 +4080,6 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "cLp" = ( @@ -3632,6 +4094,12 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/prison/cell_block) +"cLq" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "cLH" = ( /obj/machinery/status_display{ pixel_y = 32 @@ -3699,12 +4167,42 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "cNA" = ( -/obj/machinery/power/apc/north_mount, +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) +"cPy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /obj/structure/cable/green{ - icon_state = "0-2" + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"cPz" = ( +/obj/structure/table/standard, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/packageWrap, +/obj/item/destTagger, +/obj/machinery/air_alarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/camera/network/cargo{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "cPE" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -3715,9 +4213,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, /area/security/hallway) -"cPI" = ( -/turf/simulated/wall/r_wall/prepainted, -/area/security/nuke_storage) "cPN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -3753,6 +4248,24 @@ }, /turf/simulated/floor/tiled, /area/hydroponics) +"cQm" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) "cQn" = ( /obj/machinery/air_alarm{ pixel_y = 22 @@ -3768,7 +4281,6 @@ /turf/simulated/floor/tiled/monotile, /area/endeavour/hallway/d3afthall) "cQG" = ( -/obj/machinery/light, /obj/structure/cable/orange{ icon_state = "4-8" }, @@ -3777,6 +4289,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/fire_alarm/south_mount, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "cRh" = ( @@ -3856,12 +4369,18 @@ /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) "cUi" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/machinery/light{ +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/map_helper/access_helper/airlock/station/maintenance, +/obj/machinery/door/airlock/maintenance, +/obj/structure/catwalk, +/obj/machinery/door/firedoor{ dir = 8 }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen) +/turf/simulated/floor/plating, +/area/maintenance/bar/lower) "cUA" = ( /obj/machinery/newscaster{ pixel_x = 30 @@ -3897,7 +4416,7 @@ /area/security/warden) "cVn" = ( /obj/structure/reagent_dispensers/water_cooler/full, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/monodark, /area/prison/cell_block) "cVu" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, @@ -3907,20 +4426,32 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "cVy" = ( -/obj/machinery/light{ - dir = 1 - }, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-2" + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) +"cWd" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/random/maintenance/clean, +/obj/random/maintenance/cargo, +/obj/random/maintenance/research, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "cWp" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/effect/floor_decal/spline/plain{ @@ -3964,17 +4495,9 @@ /area/hydroponics) "cXR" = ( /obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/door/airlock/maintenance, /obj/structure/catwalk, -/obj/structure/cable/green{ - icon_state = "4-8" - }, +/obj/map_helper/access_helper/airlock/station/maintenance, /turf/simulated/floor/plating, /area/crew_quarters/bar/lounge) "cXW" = ( @@ -4033,6 +4556,22 @@ }, /turf/simulated/floor/tiled/techmaint, /area/security/brig) +"cZe" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "cZm" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/red/border, @@ -4067,12 +4606,6 @@ }, /turf/simulated/floor/tiled/dark, /area/prison/cell_block) -"daE" = ( -/obj/machinery/camera/network/cargo{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/quartermaster/office) "daO" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/sleep/Dorm_4) @@ -4131,14 +4664,14 @@ /turf/simulated/floor/tiled, /area/hydroponics) "dcu" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "dcx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -4199,14 +4732,14 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "des" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Bay"; - req_one_access = null +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/structure/extinguisher_cabinet{ + pixel_y = -31 }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/light, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "deC" = ( /obj/machinery/fire_alarm/south_mount{ pixel_y = -24 @@ -4319,11 +4852,14 @@ /turf/simulated/floor/wood, /area/security/breakroom) "dgn" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 9 +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "dgB" = ( /obj/machinery/holopad, /obj/machinery/light{ @@ -4331,6 +4867,10 @@ }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/kitchen) +"dgK" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "dgX" = ( /obj/structure/bed/chair/comfy/red{ dir = 4 @@ -4396,8 +4936,9 @@ /turf/simulated/floor/wood, /area/crew_quarters/bar) "dia" = ( -/obj/landmark/spawnpoint/job/chef, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, +/obj/machinery/microwave, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "diG" = ( @@ -4437,12 +4978,17 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/hanger) -"djB" = ( -/obj/structure/bed/chair{ +"djf" = ( +/obj/structure/closet/emcloset, +/obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/turf/simulated/floor/plating, +/area/maintenance/dormitory) +"djB" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "dkj" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 @@ -4450,30 +4996,42 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/bedrooms) "dky" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals_central6, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "dkE" = ( /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) +"dkO" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass/mining{ + name = "Cargo Airlock"; + req_one_access = null + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"dkR" = ( +/obj/machinery/power/breakerbox/activated{ + RCon_tag = "MAIN - DECK 3 AMIDSHIPS" + }, +/turf/simulated/floor/plating, +/area/maintenance/substation/security) "dld" = ( -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/structure/bed/chair/sofa/black{ + dir = 1 }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 8 +/obj/machinery/status_display/supply_display{ + pixel_y = -32 }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"dlE" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/space/basic, +/area/space) "dlG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4510,12 +5068,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) "dmA" = ( -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/bar/catwalk) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "dmR" = ( /obj/machinery/light_switch{ pixel_y = -23 @@ -4537,17 +5098,24 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) "dns" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 4 +/obj/structure/sign/department/mail{ + pixel_y = 32 }, -/obj/effect/floor_decal/corner/navblue/bordercorner{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/effect/floor_decal/borderfloorblack{ dir = 1 }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "dnz" = ( @@ -4614,6 +5182,13 @@ "dqd" = ( /turf/simulated/floor/tiled/dark, /area/security/range) +"dqn" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "dqu" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/lattice, @@ -4622,6 +5197,15 @@ }, /turf/simulated/open, /area/endeavour/hallway/d3aftmaint) +"dqA" = ( +/obj/structure/bed/chair/sofa/black{ + dir = 1 + }, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "dqN" = ( /obj/machinery/recharger/wallcharger{ pixel_x = 32; @@ -4750,11 +5334,23 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/interrogation) "dyR" = ( -/obj/machinery/power/apc/west_mount, -/obj/structure/cable/green{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/structure/disposalpipe/junction{ + dir = 2; + icon_state = "pipe-j2" + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "dyV" = ( /turf/simulated/floor/tiled/white, @@ -4827,6 +5423,11 @@ "dzM" = ( /turf/simulated/floor/carpet/sblucarpet, /area/crew_quarters/sleep/Dorm_7) +"dAP" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/structure/closet/secure_closet/miner, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "dAT" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -4882,10 +5483,10 @@ /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "dBF" = ( -/obj/machinery/door/airlock/civilian{ - name = "Reading Room 1" - }, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Bar Lounge 1" + }, /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) "dBL" = ( @@ -4960,12 +5561,17 @@ /turf/simulated/floor/carpet, /area/crew_quarters/sleep/Dorm_10) "dGV" = ( -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/effect/floor_decal/industrial/warning{ + dir = 4 }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/bar/catwalk) +/obj/machinery/atmospheric_field_generator/perma, +/obj/machinery/shield_diffuser, +/obj/machinery/door/blast/regular{ + name = "Salvager Launch Blast Door"; + id = "salvage_launch" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "dHD" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -4990,10 +5596,6 @@ }, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) -"dHW" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) "dHX" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -5003,6 +5605,23 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) +"dIt" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "dIB" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/red/border, @@ -5039,16 +5658,43 @@ /obj/effect/floor_decal/corner_oldtile/white/diagonal, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) -"dJV" = ( -/obj/machinery/light{ - dir = 1; - pixel_y = 20 - }, +"dJc" = ( /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/reinforced, -/area/quartermaster/miningdock) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"dJG" = ( +/obj/structure/sign/directions/cargo{ + dir = 8; + pixel_y = 32 + }, +/obj/structure/sign/directions/cryo{ + dir = 4; + pixel_y = 25 + }, +/obj/structure/sign/directions/engineering{ + dir = 4; + pixel_y = 38 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portamidhall) +"dJV" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "dJX" = ( /obj/structure/table/marble, /obj/machinery/door/blast/shutters{ @@ -5083,9 +5729,18 @@ /area/crew_quarters/sleep/Dorm_12) "dLj" = ( /obj/structure/cable/green{ - icon_state = "2-4" + icon_state = "2-8" }, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "dMA" = ( /obj/structure/cable{ @@ -5112,6 +5767,13 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) +"dMH" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "dMY" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5238,7 +5900,7 @@ id = "DLBelt" }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/endeavour/hallway/d3aftmaint) "dPb" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/airlock/glass/security{ @@ -5252,9 +5914,9 @@ /area/security/security_lockerroom) "dPi" = ( /obj/structure/table/woodentable, -/obj/item/instrument/glockenspiel, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) +/obj/machinery/microwave, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "dPj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5262,14 +5924,8 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "dPs" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/wall/prepainted/cargo, +/area/endeavour/surfacebase/mining_main/break_room) "dPF" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -5332,10 +5988,16 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad" +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/conveyor{ + id = "QMLoad2" + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "dSy" = ( /obj/machinery/door/blast/regular{ @@ -5358,15 +6020,15 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hallway) "dSJ" = ( -/obj/structure/table/marble, -/obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/landmark/spawnpoint/job/chef, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "dTf" = ( @@ -5394,11 +6056,9 @@ /turf/simulated/floor/tiled/monotile, /area/crew_quarters/kitchen) "dTQ" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "dTT" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 5 @@ -5415,6 +6075,18 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) +"dTZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "dUd" = ( /obj/structure/cable/orange{ icon_state = "2-8" @@ -5448,6 +6120,13 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_three) +"dVh" = ( +/obj/machinery/mech_recharger, +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/quartermaster/belterdock) "dVs" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -5479,6 +6158,21 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) +"dVA" = ( +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/table/wooden_reinforced, +/obj/machinery/chemical_dispenser/catering/bar_soft, +/obj/item/storage/box/glasses/square{ + pixel_x = -25; + pixel_y = 6 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "dVD" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/structure/cable/green{ @@ -5601,6 +6295,9 @@ name = "Powernet Sensor - Deck 3 Aft Subgrid"; name_tag = "Deck 3 Subgrid" }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "dYL" = ( @@ -5621,11 +6318,17 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) "dZb" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled/steel_grid, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/delivery) +"dZs" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "eau" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/borderfloorblack, @@ -5645,13 +6348,6 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) -"ebz" = ( -/obj/machinery/power/apc/south_mount, -/obj/structure/cable/green{ - icon_state = "0-8" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) "ebL" = ( /obj/structure/sink{ dir = 8; @@ -5679,7 +6375,7 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "ecv" = ( /obj/structure/cable/green{ @@ -5703,6 +6399,7 @@ /obj/structure/table/gamblingtable, /obj/effect/floor_decal/spline/fancy/wood, /obj/item/dice, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/game_room) "ecO" = ( @@ -5722,8 +6419,16 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_13) "edk" = ( -/obj/machinery/mech_recharger, -/turf/simulated/floor/tiled, +/obj/landmark{ + name = "blobstart" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "edp" = ( /obj/structure/cable/green{ @@ -5735,8 +6440,8 @@ pixel_y = -28 }, /obj/machinery/button/remote/airlock{ - id = "dorm13"; - name = "Room 13 Lock"; + id = "dorm12"; + name = "Room 12 Lock"; pixel_x = 5; pixel_y = -27; specialfunctions = 4 @@ -5816,13 +6521,8 @@ /obj/machinery/door/firedoor{ dir = 8 }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/turf/simulated/floor/tiled, -/area/quartermaster/miningdock) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "egw" = ( /turf/simulated/floor/carpet/blue, /area/crew_quarters/sleep/Dorm_3) @@ -5899,6 +6599,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "ejd" = ( @@ -5912,11 +6622,17 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "ejk" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/camera/network/cargo{ + dir = 8 }, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/structure/table/reinforced, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "ekc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -5926,24 +6642,19 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) -"ekD" = ( -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window{ - dir = 8; - req_one_access = list(31) - }, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/folder/white, -/obj/item/pen, -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) "ekH" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/sleep/Dorm_9) +"ekJ" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 9 + }, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "ekX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5959,19 +6670,27 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) -"elQ" = ( -/obj/structure/undies_wardrobe, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +"elJ" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = -37 + }, +/obj/machinery/camera/network/cargo{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "emK" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/item/radio/intercom{ + pixel_y = -24 }, -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d3portforhall) +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area_hallway) "emZ" = ( /obj/structure/table/rack/shelf/steel, /obj/item/clothing/mask/gas{ @@ -6091,7 +6810,7 @@ req_one_access = null }, /obj/map_helper/access_helper/airlock/station/external_airlock, -/turf/simulated/floor/tiled, +/turf/simulated/floor/reinforced, /area/quartermaster/warehouse) "eqa" = ( /obj/spawner/window/low_wall/full/firelocks, @@ -6164,7 +6883,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; + dir = 4; icon_state = "pipe-c" }, /turf/simulated/floor/tiled, @@ -6184,10 +6903,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "esB" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/floor_decal/industrial/outline/blue, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/obj/item/duct_tape_roll, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "esO" = ( /obj/structure/bed/chair/comfy/teal, /obj/machinery/light_switch{ @@ -6230,10 +6954,13 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "etR" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, -/turf/simulated/floor/plating, -/area/quartermaster/qm) +/obj/machinery/suit_storage_unit/mining, +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "etU" = ( /obj/machinery/light/small{ dir = 4 @@ -6254,16 +6981,13 @@ /turf/simulated/floor/tiled, /area/hydroponics) "etZ" = ( -/obj/effect/floor_decal/steeldecal/steel_decals_central6{ - dir = 4 +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green{ + icon_state = "0-8" }, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/item/duct_tape_roll, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "eum" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6280,12 +7004,12 @@ /turf/simulated/floor/airless, /area/shuttle/mining_ship/general) "evc" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/brown/border, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/machinery/conveyor{ + dir = 5; + id = "mining_interior" + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "evi" = ( /obj/item/bedsheet/browndouble, /obj/structure/bed/double/padded, @@ -6306,7 +7030,7 @@ name = "Station Intercom (General)"; pixel_y = 26 }, -/obj/machinery/vending/loadout/clothing, +/obj/machinery/vending/loadout/costume, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "evH" = ( @@ -6323,29 +7047,26 @@ /turf/simulated/floor/wood, /area/security/breakroom) "ewr" = ( -/obj/item/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 21 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/turf/simulated/floor/tiled/dark, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "ewu" = ( /turf/simulated/wall/r_wall/prepainted, /area/crew_quarters/recreation_area) -"eww" = ( -/obj/machinery/light{ - dir = 1; - pixel_y = 20 - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d3portforhall) "ewB" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -6361,6 +7082,7 @@ /obj/structure/cable/green{ icon_state = "0-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hallway) "ewW" = ( @@ -6420,19 +7142,18 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "eyn" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "cargo_line_shutter"; - name = "Cargo Line shutter"; - opacity = 0 +/obj/structure/railing{ + dir = 1 }, -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/structure/disposalpipe/segment, -/obj/effect/paint/beastybrown, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/closet/crate, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/maintenance/cargo) "eyy" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -6515,22 +7236,42 @@ /obj/effect/floor_decal/corner/navblue/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) -"eBl" = ( -/obj/structure/ore_box, -/turf/simulated/floor/tiled/steel, -/area/shuttle/belter) "eBs" = ( -/obj/machinery/mineral/unloading_machine, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) -"eBO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/effect/floor_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 9 + }, +/obj/machinery/camera/network/cargo{ + dir = 4 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) +"eBy" = ( +/obj/machinery/hyperpad/centre{ + map_pad_id = "lavaland_station"; + map_pad_link_id = "lavaland_away"; + newcolor = "#fcba03" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 + dir = 4 }, -/turf/simulated/floor/wood, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) +"eBO" = ( +/turf/simulated/floor/tiled/dark, /area/security/lobby) "eCc" = ( /obj/effect/floor_decal/industrial/outline/blue, @@ -6647,6 +7388,10 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) +"eDd" = ( +/obj/structure/table/wooden_reinforced, +/turf/simulated/floor/wood, +/area/quartermaster/office) "eDo" = ( /obj/structure/bed/chair{ dir = 4 @@ -6703,9 +7448,17 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) "eFf" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "eFA" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -6726,13 +7479,10 @@ "eFC" = ( /obj/effect/floor_decal/techfloor/corner, /obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 + icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 }, /turf/simulated/floor/wood, /area/security/lobby) @@ -6768,24 +7518,21 @@ /turf/simulated/floor/tiled/dark, /area/security/warden) "eHs" = ( -/obj/machinery/recharge_station, -/obj/effect/floor_decal/borderfloor{ - dir = 8 +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) +"eHQ" = ( +/obj/machinery/sheet_silo_loader{ + dir = 1 }, -/obj/effect/floor_decal/corner/brown/border{ +/obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/light{ +/obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) -"eHQ" = ( -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_x = -32 - }, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "eHT" = ( /obj/effect/floor_decal/spline/plain{ dir = 8 @@ -6802,13 +7549,6 @@ }, /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) -"eIB" = ( -/obj/structure/closet/hydrant{ - pixel_x = 32 - }, -/obj/machinery/vending/snack, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) "eIC" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -6824,6 +7564,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) +"eIO" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/dormitory) "eJd" = ( /obj/machinery/requests_console/preset/janitor{ pixel_x = -33 @@ -6859,16 +7605,14 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3fwdmaint) "eKq" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate, -/obj/machinery/power/apc/west_mount{ - cell_type = /obj/item/cell/super - }, /obj/structure/cable/green{ - icon_state = "0-4" + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) "eLl" = ( /obj/machinery/door/airlock/maintenance/sec{ req_one_access = null @@ -6949,6 +7693,7 @@ icon_state = "1-8" }, /obj/structure/cable/green, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hallway) "eMX" = ( @@ -6976,9 +7721,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) "eNB" = ( -/obj/spawner/window/low_wall/full/nogrille/firelocks, -/obj/effect/paint/beastybrown, -/turf/simulated/floor/plating, +/turf/simulated/wall/r_wall/prepainted/cargo, /area/quartermaster/delivery) "eNE" = ( /obj/structure/cable/green{ @@ -7000,15 +7743,19 @@ /obj/structure/closet/l3closet/janitor, /turf/simulated/floor/tiled/dark, /area/janitor) -"ePB" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 8 +"ePx" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 }, +/obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/wood, /area/endeavour/surfacebase/mining_main/break_room) +"ePB" = ( +/obj/machinery/computer/card{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "ePI" = ( /obj/effect/floor_decal/corner/green{ dir = 9 @@ -7083,14 +7830,11 @@ /turf/simulated/floor/tiled/monotile, /area/security/security_lockerroom) "eTv" = ( -/obj/structure/cable/green{ - icon_state = "2-8" - }, /obj/structure/disposalpipe/segment{ dir = 8 }, /obj/structure/cable/green{ - icon_state = "2-4" + icon_state = "4-8" }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) @@ -7117,16 +7861,19 @@ dir = 1 }, /obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 4 + dir = 1 }, /obj/effect/floor_decal/corner/navblue/bordercorner2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d3portamidhall) +/area/endeavour/hallway/d3portforhall) +"eVb" = ( +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "eVd" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -7181,15 +7928,12 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "eWe" = ( -/obj/structure/cable/green{ - icon_state = "2-4" +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/structure/closet/crate/medical, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "eWz" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -7227,6 +7971,14 @@ }, /turf/simulated/floor/tiled/old_cargo/red, /area/security/security_processing) +"eXx" = ( +/obj/structure/closet/crate/trashcart, +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/turf/simulated/floor, +/area/maintenance/bar/catwalk) "eXS" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -7292,18 +8044,9 @@ /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "eZz" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "eZW" = ( /turf/simulated/wall/prepainted, /area/endeavour/hallway/d3portforhall) @@ -7354,6 +8097,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) +"fbW" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "fcE" = ( /obj/machinery/atmospherics/component/unary/vent_pump/high_volume{ dir = 8; @@ -7365,12 +8112,6 @@ "fcJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/marble, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 5 - }, -/obj/item/hand_labeler, /obj/effect/floor_decal/corner_oldtile/white/diagonal, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) @@ -7396,11 +8137,8 @@ id = "DRAMATIC"; name = "Dramatic Blast Door" }, -/obj/machinery/door/blast/shutters{ - id = "Druma"; - name = "Entertainment Shutters" - }, /obj/spawner/window/reinforced/full/firelocks, +/obj/effect/paint/palebottlegreen, /turf/simulated/floor/plating, /area/tether/surfacebase/entertainment) "fdy" = ( @@ -7422,17 +8160,38 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "feq" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/machinery/computer/supplycomp, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "feE" = ( -/obj/machinery/camera/network/cargo{ +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/door/window{ + req_one_access = list(31) + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/tiled/monotechmaint, +/area/quartermaster/miningdock) "feQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7459,12 +8218,36 @@ /turf/simulated/floor/wood, /area/crew_quarters/bar) "ffP" = ( -/obj/machinery/vending/fitness, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) -"ffW" = ( -/turf/simulated/wall/prepainted/cargo, +/obj/machinery/computer/supplycomp/control{ + dir = 8 + }, +/turf/simulated/floor/wood, /area/quartermaster/office) +"ffW" = ( +/obj/item/storage/box/nifsofts_mining{ + pixel_x = -3 + }, +/obj/item/suit_cooling_unit{ + pixel_x = -4 + }, +/obj/item/suit_cooling_unit{ + pixel_x = -4 + }, +/obj/item/duct_tape_roll{ + pixel_x = -4 + }, +/obj/structure/table/reinforced, +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/item/stack/flag/green{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/stack/flag/green{ + pixel_x = 7; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "fgj" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -7479,6 +8262,9 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) +"fgA" = ( +/turf/simulated/wall/prepainted/cargo, +/area/quartermaster/cargo_shelter_dock) "fgJ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -7486,7 +8272,7 @@ /obj/structure/cable/green{ icon_state = "1-4" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "fgL" = ( /obj/item/stool/padded, @@ -7516,6 +8302,16 @@ /obj/map_helper/access_helper/airlock/station/security/department, /turf/simulated/floor/tiled, /area/security/brig) +"fhx" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/structure/bed/chair/comfy/brown, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "fii" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -7526,19 +8322,38 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "fil" = ( -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/camera/network/cargo{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "fip" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/structure/cable/green{ - icon_state = "2-8" + icon_state = "4-8" }, -/turf/simulated/floor/reinforced, -/area/quartermaster/miningdock) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "fiy" = ( /obj/machinery/door/airlock/maintenance/common, /obj/machinery/door/firedoor{ dir = 8 }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "fiz" = ( @@ -7616,25 +8431,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "fjp" = ( -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/camera/network/cargo, -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/item/clothing/accessory/poncho/roles/cloak/qm, +/obj/structure/closet/secure_closet/quartermaster, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "fju" = ( /turf/simulated/floor/plating, /area/maintenance/cargo) @@ -7651,12 +8451,15 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) "fko" = ( -/obj/structure/table/reinforced, -/obj/item/tank/jetpack/oxygen, -/obj/item/tank/jetpack/oxygen, -/obj/item/tank/jetpack/oxygen, -/obj/item/tank/jetpack/oxygen, -/obj/item/tank/jetpack/oxygen, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/reinforced, /area/quartermaster/miningdock) "fkv" = ( @@ -7719,8 +8522,16 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) "flt" = ( -/turf/simulated/floor/airless/ceiling, -/area/maintenance/cargo) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/foyer) "flS" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -7731,11 +8542,10 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/security/hallway) -"fmj" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate/engineering, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +"fml" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "fmB" = ( /obj/machinery/air_alarm{ dir = 1; @@ -7762,10 +8572,14 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 9 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "fnF" = ( /obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/prison/cell_block) "fop" = ( @@ -7870,6 +8684,10 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/sleep/Dorm_9) +"fsa" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) "fsu" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -7885,6 +8703,12 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) +"fsN" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "fta" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/crystal, @@ -7905,24 +8729,25 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "fva" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/maintenance/cargo) "fvb" = ( -/obj/machinery/air_alarm{ - pixel_y = 22 +/obj/structure/table/hardwoodtable, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 7 }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 +/obj/item/pen{ + pixel_x = -6; + pixel_y = 4 }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 +/obj/machinery/button/windowtint{ + id = "qm_office"; + pixel_x = 5; + pixel_y = -3 }, -/obj/machinery/suit_storage_unit/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/wood, +/area/quartermaster/qm) "fvQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -7954,6 +8779,11 @@ }, /turf/simulated/floor/tiled, /area/hydroponics) +"fxO" = ( +/obj/item/floor_painter, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "fxS" = ( /obj/structure/table/steel, /obj/item/storage/box/donut, @@ -7969,6 +8799,16 @@ }, /turf/simulated/floor/tiled/dark, /area/security/interrogation) +"fzr" = ( +/obj/effect/floor_decal/techfloor{ + dir = 6 + }, +/obj/random/cutout, +/obj/landmark{ + name = "morphspawn" + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "fzD" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -8012,16 +8852,11 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "fBG" = ( -/obj/structure/bed/padded, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 1 +/obj/machinery/light/small{ + dir = 8 }, -/obj/random/bedsheet, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +/turf/simulated/floor/wood, +/area/maintenance/cargo) "fBZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -8061,24 +8896,20 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "fDt" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/machinery/light{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ +/obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 +/obj/structure/bed/chair/comfy/brown{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "fDw" = ( /obj/structure/lattice, /turf/space/basic, @@ -8134,6 +8965,15 @@ }, /turf/simulated/floor/tiled/monotile, /area/security/brig) +"fGh" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/syndicate, +/obj/item/pickaxe/drill, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "fGL" = ( /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) @@ -8165,19 +9005,10 @@ /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) "fJl" = ( -/obj/structure/noticeboard{ - pixel_y = 32 - }, +/obj/effect/floor_decal/corner/brown/diagonal, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/structure/closet/secure_closet/cargotech, -/obj/effect/floor_decal/borderfloor{ - dir = 9 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 9 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "fJn" = ( /obj/machinery/light{ dir = 1 @@ -8209,6 +9040,13 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) +"fLp" = ( +/obj/structure/closet/largecardboard, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "fLu" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -8325,9 +9163,27 @@ }, /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) +"fLE" = ( +/obj/random/coin, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "fLU" = ( -/turf/simulated/wall/prepainted/cargo, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "fMA" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -8385,6 +9241,20 @@ /obj/machinery/recharge_station, /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) +"fNj" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/regular{ + pixel_y = 8 + }, +/obj/item/storage/firstaid/fire{ + pixel_y = 3 + }, +/obj/machinery/light{ + dir = 8; + light_range = 12 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "fND" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -8473,11 +9343,13 @@ /obj/structure/cable/green{ icon_state = "0-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/armoury) "fOe" = ( -/turf/simulated/wall/prepainted, -/area/crew_quarters/sleep/Dorm_11) +/obj/structure/closet/wardrobe, +/turf/simulated/floor/wood, +/area/maintenance/cargo) "fOS" = ( /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, @@ -8514,8 +9386,23 @@ dir = 5 }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, +/obj/item/material/kitchen/rollingpin, +/obj/item/material/knife/butch, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) +"fPG" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance, +/obj/map_helper/access_helper/airlock/station/maintenance, +/obj/structure/catwalk, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/lower) "fPZ" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 @@ -8599,7 +9486,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "fRi" = ( /obj/machinery/door/firedoor/glass, @@ -8624,6 +9511,31 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, /area/security/brig) +"fRJ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) +"fRP" = ( +/obj/structure/table/borosilicate, +/obj/machinery/floor_light/changing/prebuilt{ + on = 1 + }, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "fSo" = ( /obj/machinery/door/airlock{ id_tag = "dorm2"; @@ -8641,12 +9553,15 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_2) "fSr" = ( -/obj/machinery/power/apc/east_mount, -/obj/structure/cable/green{ - icon_state = "0-8" +/obj/machinery/mineral/unloading_machine, +/obj/structure/window/reinforced{ + dir = 1 }, -/turf/simulated/floor/reinforced, -/area/quartermaster/miningdock) +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "fSt" = ( /obj/machinery/light/small{ dir = 1 @@ -8683,11 +9598,30 @@ }, /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) +"fTy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) +"fTB" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) "fTI" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/steel, /area/shuttle/belter) "fTU" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/bar/lower) @@ -8698,9 +9632,6 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) -"fUB" = ( -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) "fUR" = ( /obj/machinery/camera/network/civilian{ dir = 8 @@ -8795,7 +9726,7 @@ /obj/structure/bed/chair{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/monodark, /area/prison/cell_block) "fXd" = ( /obj/machinery/door/firedoor, @@ -8870,12 +9801,21 @@ /turf/simulated/floor/plating, /area/security/interrogation) "fYy" = ( -/obj/machinery/door/firedoor{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/spawner/window/low_wall/reinforced/full, /turf/simulated/floor/plating, -/area/endeavour/surfacebase/mining_main/uxstorage) +/area/maintenance/bar/lower) +"fYP" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "fYR" = ( /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) @@ -8883,7 +9823,19 @@ /turf/simulated/floor/tiled/dark, /area/security/evidence_storage) "gal" = ( -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 9 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "gaU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8899,6 +9851,7 @@ "gbe" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/cable/green, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/armoury) "gbs" = ( @@ -8965,12 +9918,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) "gdU" = ( -/obj/machinery/light_switch{ - pixel_x = 25 - }, -/obj/machinery/computer/card, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "gea" = ( /obj/structure/table/marble, /obj/item/reagent_containers/food/condiment/spacespice{ @@ -9025,6 +9976,7 @@ /obj/structure/curtain/open/bed{ name = "curtain" }, +/obj/effect/paint/palebottlegreen, /turf/simulated/floor/plating, /area/crew_quarters/bar) "ghh" = ( @@ -9199,16 +10151,14 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "gnO" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null +/obj/machinery/status_display/supply_display{ + mode = 99; + pixel_y = 32 }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/table/wooden_reinforced, +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/wood, +/area/quartermaster/office) "goa" = ( /obj/landmark/spawnpoint/latejoin/station/cyborg, /turf/simulated/floor/tiled/techfloor, @@ -9253,7 +10203,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "gpB" = ( /obj/structure/closet/bombclosetsecurity, @@ -9284,6 +10234,13 @@ /obj/map_helper/access_helper/airlock/station/security/general, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/interrogation) +"gqj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "gqv" = ( /obj/machinery/power/port_gen/pacman/mrs{ anchored = 1 @@ -9295,38 +10252,27 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) -"gqw" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) "gqN" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "gqQ" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "gqT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -9398,6 +10344,7 @@ dir = 8 }, /obj/spawner/window/low_wall/borosillicate/reinforced/full, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hanger) "gtM" = ( @@ -9407,9 +10354,11 @@ /turf/space, /area/space) "gtZ" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/quartermaster/office) +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/item/stool/padded, +/obj/landmark/spawnpoint/job/shaft_miner, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "gug" = ( /obj/machinery/light/small{ dir = 8 @@ -9427,14 +10376,14 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/cable/green{ - icon_state = "1-4" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "guu" = ( @@ -9463,6 +10412,10 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) +"gwe" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/bar/lower) "gwQ" = ( /obj/machinery/fire_alarm/west_mount{ pixel_x = -24 @@ -9497,6 +10450,10 @@ /obj/machinery/power/apc/south_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_8) +"gym" = ( +/obj/fiftyspawner/wood, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "gyJ" = ( /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3afthall) @@ -9550,12 +10507,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "gCh" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/floor_decal/rust, +/obj/structure/catwalk, +/obj/machinery/light/small, /turf/simulated/floor/plating, -/area/endeavour/hallway/d3aftmaint) +/area/maintenance/dormitory) "gCO" = ( /obj/machinery/camera/network/command{ dir = 9 @@ -9597,6 +10552,15 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"gDP" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) +"gDV" = ( +/turf/simulated/floor/reinforced, +/area/quartermaster/belterdock/refinery) "gDZ" = ( /obj/structure/dogbed, /turf/simulated/floor/plating, @@ -9617,6 +10581,13 @@ }, /turf/simulated/floor/plating, /area/maintenance/starboardsolar) +"gFc" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/item/stool, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "gFf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9658,8 +10629,19 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "gGm" = ( -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloorblack/corner2, +/obj/effect/floor_decal/corner/brown/bordercorner2, +/obj/structure/bed/chair/comfy/brown{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "gHM" = ( /turf/simulated/floor/tiled, /area/hydroponics) @@ -9704,14 +10686,21 @@ /turf/simulated/floor/plating, /area/maintenance/substation/security) "gKi" = ( -/obj/item/radio/intercom{ - pixel_y = -24 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 }, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + pixel_y = 20 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portforhall) "gKQ" = ( /obj/machinery/light/small{ dir = 8 @@ -9736,13 +10725,20 @@ /turf/simulated/floor/tiled, /area/security/range) "gLK" = ( -/obj/item/storage/toolbox/mechanical, -/obj/structure/table/reinforced, -/obj/machinery/light{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "gLQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9753,32 +10749,14 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/cable/green{ - icon_state = "1-4" - }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "gLU" = ( /turf/simulated/floor/wood, /area/endeavour/surfacebase/bar_backroom) -"gLZ" = ( -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) "gMc" = ( /obj/spawner/window/reinforced/full/firelocks, -/obj/structure/curtain/open/bed{ - name = "curtain" - }, +/obj/structure/curtain/open/black, /turf/simulated/floor/plating, /area/crew_quarters/bar/lounge) "gMk" = ( @@ -9838,14 +10816,18 @@ /turf/simulated/floor/plating, /area/maintenance/substation/security) "gNj" = ( -/turf/simulated/wall/prepainted/cargo, -/area/quartermaster/qm) -"gNV" = ( -/obj/effect/floor_decal/steeldecal/steel_decals_central6{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/structure/bed/chair/comfy/brown, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) +"gNV" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/crew_quarters/bar/lounge) "gNZ" = ( /obj/machinery/door/airlock/civilian{ name = "Game Room" @@ -9892,22 +10874,18 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "gQF" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/bed/chair/sofa/black/right{ + dir = 1 }, -/obj/structure/catwalk, -/obj/machinery/door/airlock/maintenance, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "gRa" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -9936,6 +10914,7 @@ dir = 1 }, /obj/item/dice, +/obj/item/material/ashtray/glass, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/game_room) "gRy" = ( @@ -9980,13 +10959,15 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "gSF" = ( -/obj/structure/ore_box, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "gSH" = ( /obj/machinery/fire_alarm/south_mount{ pixel_y = -24 @@ -10040,6 +11021,15 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) +"gUu" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "gUM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10108,11 +11098,26 @@ /area/crew_quarters/sleep/bedrooms) "gXm" = ( /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/landmark/spawnpoint/job/cargo_technician, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 + }, +/obj/structure/flora/pottedplant/large, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "gXN" = ( /obj/structure/cable{ icon_state = "2-8" @@ -10186,6 +11191,15 @@ "haF" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/maintenance/starboardsolar) +"haN" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/ore_box, +/obj/machinery/power/apc/south_mount, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/belterdock/refinery) "hbD" = ( /obj/machinery/computer/timeclock/premade/south, /obj/effect/floor_decal/borderfloorblack, @@ -10260,17 +11274,22 @@ /turf/simulated/floor/tiled/dark, /area/security/riot_control) "hcH" = ( -/obj/machinery/requests_console/preset/cargo{ - pixel_x = 30 +/obj/map_helper/airlock/door/simple, +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/effect/floor_decal/borderfloor{ - dir = 5 +/obj/map_helper/access_helper/airlock/station/external_airlock, +/obj/machinery/door/airlock/glass_external{ + req_one_access = null }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 5 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/warehouse) "hdd" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -10287,12 +11306,8 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "hdh" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/foyer) "hdY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10327,27 +11342,28 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "heJ" = ( -/obj/machinery/mineral/input, -/obj/effect/floor_decal/industrial/loading, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) -"heO" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) -"hgm" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/item/radio/intercom{ - pixel_y = -24 +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) +"heO" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 }, -/obj/structure/disposalpipe/junction{ +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) +"hfw" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/light, +/obj/machinery/door/firedoor{ dir = 8 }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"hgm" = ( +/obj/machinery/light/small, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area_hallway) "hhE" = ( @@ -10417,14 +11433,8 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "hkm" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/wall/prepainted/cargo, +/area/quartermaster/storage) "hky" = ( /obj/structure/window/reinforced{ dir = 8 @@ -10442,16 +11452,13 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "hkN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/light{ + dir = 1; + pixel_y = 20 }, -/turf/simulated/floor/wood, -/area/crew_quarters/bar/lounge) +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "hkY" = ( /obj/structure/sign/directions/evac{ dir = 4 @@ -10459,11 +11466,9 @@ /turf/simulated/wall/prepainted/civilian, /area/endeavour/hallway/d3aftmaint) "hlc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/effect/floor_decal/corner/brown/diagonal, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "hlx" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -10492,9 +11497,12 @@ /turf/simulated/floor/tiled, /area/security/lobby) "hmk" = ( -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/quartermaster/office) +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/recharge_station, +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) "hmF" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -10600,29 +11608,36 @@ /obj/structure/closet/crate, /turf/simulated/floor/tiled/steel, /area/shuttle/belter) +"hpG" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "hqP" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/showers) "hrc" = ( -/obj/machinery/station_map{ - dir = 4; - pixel_x = -32 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/machinery/computer/supplycomp{ - dir = 4 +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) -"hrS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 + icon_state = "1-2" }, -/obj/structure/catwalk, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"hrS" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, /turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/area/quartermaster/delivery) "hrV" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 4 @@ -10646,31 +11661,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) "hsu" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/effect/floor_decal/borderfloorblack, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "security_lockdown"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/airlock/glass/security{ - layer = 2.8; - name = "Security"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/security/general, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/dark, +/obj/structure/cable/green, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/darkred, +/turf/simulated/floor/plating, /area/security/hallway) "hte" = ( /obj/structure/cable{ @@ -10680,22 +11674,12 @@ /obj/effect/floor_decal/corner/navgold/border, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/sign/directions/cryo{ + dir = 1; + pixel_y = -25 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) -"htn" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - id_tag = "dorm13"; - name = "Dorm 13" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) "hup" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Deck 3 Aft Grid" @@ -10716,10 +11700,19 @@ /area/endeavour/hallway/d3portforhall) "hus" = ( /obj/machinery/conveyor{ - dir = 8; - id = "QMLoad2" + dir = 4; + id = "QMLoad" }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 5 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "huy" = ( /obj/structure/disposalpipe/segment{ @@ -10760,7 +11753,7 @@ id = "DLBelt" }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/endeavour/hallway/d3aftmaint) "hvn" = ( /obj/structure/table/rack/shelf/steel, /obj/effect/floor_decal/industrial/outline/red, @@ -10820,9 +11813,26 @@ }, /turf/simulated/floor/plating, /area/maintenance/starboardsolar) +"hwN" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "hwP" = ( -/turf/simulated/wall/prepainted/cargo, -/area/maintenance/cargo/mining) +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/table/gamblingtable, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "hxO" = ( /obj/machinery/door/airlock/glass_external{ frequency = 1379; @@ -10865,12 +11875,11 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) "hzi" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "hzs" = ( /obj/machinery/computer/secure_data, /obj/machinery/light{ @@ -10878,6 +11887,10 @@ }, /turf/simulated/floor/tiled/old_cargo/red, /area/security/security_processing) +"hzu" = ( +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "hBC" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -10939,30 +11952,37 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/sleep/Dorm_9) "hDl" = ( -/obj/machinery/camera/network/cargo, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) -"hDH" = ( -/obj/machinery/door/firedoor{ - dir = 8 +/obj/structure/table/steel_reinforced, +/obj/item/duct_tape_roll{ + pixel_x = -8; + pixel_y = -4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/item/duct_tape_roll{ + pixel_x = -8; + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/item/stamp/cargo{ + pixel_x = 7; + pixel_y = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/stamp/denied{ + pixel_x = 7; + pixel_y = -1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) +"hDH" = ( +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/structure/catwalk, -/obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ dir = 1 }, +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/area/endeavour/hallway/d3aftmaint) "hEc" = ( /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) @@ -10976,36 +11996,17 @@ /obj/effect/floor_decal/corner_oldtile/white/diagonal, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) -"hEO" = ( -/obj/machinery/light{ - dir = 1; - pixel_y = 20 - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d3portforhall) "hFn" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/endeavour/hallway/d3portamidhall) "hFO" = ( -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_x = -32 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/turf/simulated/wall/r_wall/prepainted, +/area/crew_quarters/recreation_area) "hGe" = ( /obj/machinery/door/airlock/glass{ desc = "A room dedicated for the repairs and recharging of adherent."; @@ -11095,20 +12096,11 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "hJm" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/glass/mining{ - id_tag = "cargodoor"; - name = "Cargo Office"; - req_one_access = list() +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, +/turf/simulated/floor/wood, /area/quartermaster/office) "hJR" = ( /obj/machinery/holopad, @@ -11184,6 +12176,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) +"hLw" = ( +/obj/structure/bed/chair/comfy/brown{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "hLN" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -11269,12 +12267,19 @@ /turf/simulated/floor/tiled/dark, /area/security/riot_control) "hOq" = ( -/obj/structure/stairs/spawner/south, -/obj/structure/railing{ - dir = 8 +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "cargo_line_shutter"; + name = "Cargo Line shutter"; + opacity = 0 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "hOu" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/corner/red/bordercorner, @@ -11368,8 +12373,20 @@ "hRx" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/ore_box, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "belter_docking"; + pixel_y = 27; + }, /turf/simulated/floor/tiled/steel, /area/shuttle/belter) +"hSq" = ( +/obj/effect/floor_decal/industrial/warning/cee{ + dir = 4 + }, +/obj/machinery/recharge_station, +/turf/simulated/floor/reinforced, +/area/quartermaster/qm) "hTz" = ( /turf/simulated/wall/r_wall/prepainted, /area/crew_quarters/sleep/Dorm_6) @@ -11380,20 +12397,39 @@ /obj/machinery/power/apc/south_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) +"hUc" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/computer/supplycomp, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "hUg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"hUh" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "hUF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "hVe" = ( /obj/machinery/camera/network/civilian{ @@ -11427,6 +12463,21 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"hVB" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "hWt" = ( /obj/machinery/status_display/supply_display{ pixel_y = 32 @@ -11437,11 +12488,25 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) "hWB" = ( -/obj/machinery/light/small{ - dir = 1 +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 }, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 + }, +/obj/machinery/air_alarm/south_mount, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 9 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "hWG" = ( /obj/structure/table/marble, /obj/machinery/door/blast/shutters{ @@ -11460,14 +12525,42 @@ dir = 1; icon_state = "pipe-c" }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, /turf/simulated/floor/plating, -/area/endeavour/station/stairs_three) +/area/maintenance/bar/lower) "hXO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/item/clothing/accessory/permit/gun/planetside, +/obj/item/clothing/accessory/permit/gun/planetside, +/obj/item/clothing/accessory/permit/gun/planetside, +/obj/item/clothing/accessory/permit/gun/planetside, +/obj/structure/table/reinforced, +/obj/machinery/door/window/southright{ + req_one_access = list(48) + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/item/gun/energy/kinetic_accelerator, +/obj/item/gun/energy/kinetic_accelerator, +/obj/item/gun/energy/kinetic_accelerator, +/obj/item/gun/energy/kinetic_accelerator, +/obj/effect/floor_decal/corner/brown/diagonal, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "hXW" = ( /obj/structure/table/steel, /obj/machinery/recharger, @@ -11496,11 +12589,6 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) "hYD" = ( -/obj/machinery/door/airlock{ - name = "Kitchen"; - req_one_access = list(28) - }, -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -11510,8 +12598,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/map_helper/access_helper/airlock/station/service/kitchen, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/machinery/door/airlock{ + name = "Kitchen"; + req_one_access = list(28) + }, +/obj/map_helper/access_helper/airlock/station/service/kitchen, +/obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "hYL" = ( @@ -11588,9 +12681,6 @@ /turf/simulated/wall/prepainted/civilian, /area/maintenance/bar/catwalk) "ibm" = ( -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 1 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -11625,12 +12715,13 @@ /turf/simulated/wall/r_wall/prepainted, /area/tether/surfacebase/entertainment) "ibL" = ( -/obj/structure/closet/wardrobe/mixed, -/obj/machinery/light/small{ +/obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 }, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) +/obj/structure/window/reinforced, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "ibT" = ( /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, @@ -11684,16 +12775,25 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardamidhall) -"ifE" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +"ieQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) +"ifE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 + dir = 10 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "ifT" = ( /obj/structure/cable{ icon_state = "4-8" @@ -11797,6 +12897,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "ikN" = ( @@ -11817,15 +12918,13 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/space) +/area/quartermaster/miningdock) "ili" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/obj/machinery/camera/network/civilian{ +/obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "ilD" = ( /obj/machinery/door/airlock/glass/civilian{ name = "Crew Cryo Bay" @@ -11850,6 +12949,17 @@ }, /turf/simulated/floor/plating, /area/security/hallway) +"imI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portforhall) "imX" = ( /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/sleep/Dorm_9) @@ -11857,21 +12967,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/steeldecal/steel_decals_central6, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "inw" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/camera/network/cargo{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/item/radio/intercom{ - dir = 8; - pixel_x = -28; - req_access = list() +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "inx" = ( /turf/simulated/wall/prepainted, /area/endeavour/hallway/d3starboardafthall) @@ -11905,6 +13012,10 @@ /obj/effect/floor_decal/corner/navblue/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) +"ipL" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "ipU" = ( /obj/structure/table/rack/shelf/steel, /obj/machinery/recharger/wallcharger{ @@ -12031,10 +13142,9 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "itn" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 6 - }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "itv" = ( /obj/machinery/door/firedoor, @@ -12045,6 +13155,9 @@ /area/tether/surfacebase/entertainment) "iuv" = ( /obj/machinery/air_alarm/east_mount, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_three) "iva" = ( @@ -12053,9 +13166,17 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "iwp" = ( -/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, -/area/vacant/vacant_shop) +/area/quartermaster/foyer) "iwD" = ( /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/dark, @@ -12098,6 +13219,7 @@ /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "iyq" = ( @@ -12122,12 +13244,33 @@ "iyK" = ( /turf/simulated/wall/prepainted/security, /area/security/breakroom) +"izr" = ( +/obj/structure/window/reinforced, +/obj/machinery/lathe/autolathe, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) +"izs" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "izO" = ( -/obj/machinery/camera/network/cargo{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "iAo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -12206,18 +13349,15 @@ /turf/simulated/floor/grass, /area/security/brig) "iDE" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "cargo_line_shutter"; - name = "Cargo Line shutter"; - opacity = 0 +/obj/machinery/button/remote/airlock{ + id = "dormx"; + name = "Room 1 Lock"; + pixel_x = -26; + pixel_y = -7; + specialfunctions = 4 }, -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint/beastybrown, -/turf/simulated/floor/plating, -/area/quartermaster/delivery) +/turf/simulated/floor/wood, +/area/maintenance/cargo) "iDZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -12276,19 +13416,20 @@ name = "Powernet Sensor - Deck 3 Fore Subgrid"; name_tag = "Deck 3 Fore Subgrid" }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "iFW" = ( /obj/structure/cable/green{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/red/border, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/effect/floor_decal/corner/red/border{ + dir = 10 }, /turf/simulated/floor/tiled/dark, /area/security/hallway) @@ -12317,14 +13458,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "iIq" = ( -/obj/machinery/light{ - dir = 8 +/obj/structure/catwalk, +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/obj/machinery/computer/supplycomp/control{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) "iIs" = ( /obj/effect/floor_decal/industrial/danger{ dir = 6 @@ -12362,6 +13504,9 @@ /obj/structure/disposalpipe/segment{ dir = 1 }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/bar/lower) @@ -12410,19 +13555,20 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) +"iJC" = ( +/obj/machinery/light, +/turf/simulated/wall/prepainted, +/area/endeavour/station/stairs_three) "iJR" = ( -/obj/structure/table/reinforced, -/obj/item/hand_labeler, -/obj/item/stamp/cargo, -/obj/item/stamp/denied{ - pixel_x = 7 +/obj/structure/plasticflaps/mining, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/steel, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/disposaloutlet{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) "iKe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -12501,7 +13647,7 @@ /obj/structure/noticeboard{ pixel_y = 32 }, -/obj/machinery/vending/loadout, +/obj/machinery/vending/loadout/accessory, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "iPK" = ( @@ -12583,20 +13729,44 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) -"iSP" = ( -/obj/machinery/door/airlock/maintenance, +"iSL" = ( +/obj/item/folder/white, +/obj/structure/table/reinforced, +/obj/machinery/door/window{ + dir = 8; + req_one_access = list(31) + }, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/pen, /obj/machinery/door/firedoor{ dir = 8 }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) +"iSP" = ( +/obj/machinery/computer/supplycomp/control{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) +"iTk" = ( +/turf/simulated/floor/wood, +/area/endeavour/hallway/d3aftmaint) +"iTn" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "iTp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -12621,6 +13791,12 @@ }, /turf/simulated/floor/tiled/dark, /area/security/warden) +"iUL" = ( +/obj/structure/lattice, +/obj/structure/lattice, +/obj/structure/grille, +/turf/simulated/floor/plating, +/area/space) "iVL" = ( /obj/machinery/recharge_station, /turf/simulated/floor/tiled/steel, @@ -12656,6 +13832,12 @@ }, /turf/simulated/floor/tiled/dark, /area/prison/cell_block) +"iWE" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "iWF" = ( /obj/structure/table/steel, /obj/structure/bedsheetbin, @@ -12725,19 +13907,20 @@ }, /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) -"jag" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/conveyor{ - tag = "mailroom"; - id = "DLBelt" - }, -/obj/structure/plasticflaps/mining{ - desc = "Heavy duty, airtight, plastic flaps." +"iZj" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/delivery) +"jag" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "jaT" = ( /obj/machinery/holopad, /obj/structure/cable/green{ @@ -12767,6 +13950,19 @@ /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"jbh" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) +"jbC" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "jbI" = ( /obj/machinery/light, /obj/structure/cable/orange{ @@ -12794,6 +13990,37 @@ /obj/item/pen, /turf/simulated/floor/tiled/monotile, /area/security/hallway) +"jcl" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/north_mount, +/obj/structure/closet, +/obj/item/storage/backpack/dufflebag, +/turf/simulated/floor/wood, +/area/quartermaster/qm) +"jdF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/flora/ausbushes/stalkybush, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/grass, +/area/quartermaster/foyer) "jdI" = ( /obj/machinery/camera/network/civilian{ dir = 8 @@ -12855,6 +14082,15 @@ /obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) +"jeV" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "jfm" = ( /obj/structure/table/marble, /obj/machinery/recharger, @@ -12884,18 +14120,20 @@ }, /turf/simulated/floor/wood, /area/security/lobby) -"jhH" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +"jgF" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) +"jhH" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/disposalpipe/segment, /obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + icon_state = "4-8" }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/foyer) "jhI" = ( /obj/effect/floor_decal/spline/fancy/wood{ @@ -12960,27 +14198,14 @@ "jiy" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/recreation_area_hallway) -"jiN" = ( -/obj/machinery/light{ - dir = 1; - pixel_y = 20 - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d3portforhall) "jjl" = ( /obj/effect/floor_decal/corner/red{ dir = 10 }, /obj/structure/table/steel_reinforced, +/obj/machinery/camera/network/security{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/security/warden) "jkm" = ( @@ -13175,7 +14400,7 @@ /area/crew_quarters/sleep/Dorm_9) "jon" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, +/obj/effect/paint/beastybrown, /turf/simulated/floor/plating, /area/quartermaster/warehouse) "jou" = ( @@ -13190,6 +14415,12 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) +"joO" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "jpo" = ( /obj/machinery/conveyor{ dir = 8; @@ -13235,15 +14466,21 @@ /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) "jrK" = ( -/obj/machinery/power/apc/west_mount, -/obj/structure/cable/green{ - icon_state = "2-4" +/obj/structure/table/hardwoodtable, +/obj/item/stamp/qm{ + pixel_x = -7; + pixel_y = -1 }, -/obj/structure/cable/green{ - icon_state = "0-4" +/obj/item/stamp/cargo{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/stamp/denied{ + pixel_x = 9; + pixel_y = 11 }, /turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/area/quartermaster/qm) "jrY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloorblack{ @@ -13258,16 +14495,34 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"jst" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "jtk" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/requests_console/preset/cargo{ + pixel_x = -31; + pixel_y = -1 + }, +/obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/foyer) -"jtn" = ( -/obj/machinery/vending/cigarette, +/obj/structure/bed/chair/sofa/black/corner{ + dir = 4 + }, /turf/simulated/floor/wood, /area/endeavour/surfacebase/mining_main/break_room) +"jtn" = ( +/obj/structure/railing, +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/random/maintenance/medical, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "jtu" = ( /obj/structure/window/basic{ dir = 1 @@ -13280,13 +14535,19 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"jtW" = ( +/obj/structure/salvageable/server, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "jua" = ( /turf/simulated/floor/carpet/purcarpet, /area/maintenance/dormitory) "juy" = ( -/obj/landmark/spawnpoint/job/quartermaster, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/machinery/mineral/input, +/obj/effect/floor_decal/industrial/loading, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "juB" = ( /obj/structure/closet/toolcloset, /obj/item/storage/toolbox/mechanical, @@ -13341,34 +14602,36 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "jwr" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/closet, +/obj/random/maintenance/medical, +/obj/random/maintenance/clean, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + desc = "TASTE DEMOCRACY"; + name = "Managed Democra-cider" + }, +/obj/random/contraband, +/obj/random/cigarettes, +/obj/random/maintenance/security, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "jwQ" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/table/rack/shelf, +/obj/item/radio{ + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/airlock/glass{ - name = "Cargo Lobby" +/obj/item/radio{ + pixel_x = 6; + pixel_y = 7 }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/item/radio{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/random/toolbox{ + pixel_y = -5 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/quartermaster/belterdock) "jxH" = ( /turf/simulated/floor/tiled/dark, /area/security/riot_control) @@ -13413,17 +14676,18 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "jzp" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 4 +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" }, -/obj/effect/floor_decal/corner/brown/border{ +/obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/floor_decal/corner/brown/bordercorner{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "jzG" = ( /obj/machinery/vending/hydronutrients, /turf/simulated/floor/tiled/techfloor, @@ -13436,54 +14700,59 @@ /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) "jAe" = ( -/obj/structure/cable/green{ - icon_state = "2-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "jAj" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /turf/simulated/floor/carpet, /area/security/detectives_office) "jAA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/plating, +/area/quartermaster/storage) "jAH" = ( -/turf/simulated/wall/prepainted/cargo, +/obj/structure/poster{ + pixel_x = 32 + }, +/obj/machinery/light/small, +/turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) "jBe" = ( -/obj/machinery/suit_cycler/mining, -/obj/effect/floor_decal/borderfloor{ - dir = 10 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 10 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/item/tool/wrench, +/obj/structure/table/reinforced, +/obj/item/tool/wirecutters, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "jBD" = ( -/obj/structure/table/marble, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 1 +/obj/machinery/light{ + dir = 8 }, -/obj/effect/floor_decal/corner_oldtile/white/diagonal, -/turf/simulated/floor/tiled/dark, +/turf/simulated/floor/tiled/freezer, /area/crew_quarters/kitchen) "jCu" = ( -/obj/machinery/light{ +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "jCV" = ( /obj/structure/window/basic{ dir = 1 @@ -13513,7 +14782,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "jDL" = ( /obj/machinery/button/remote/blast_door{ @@ -13532,17 +14801,11 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "jDP" = ( -/turf/simulated/wall/prepainted, -/area/security/nuke_storage) -"jEc" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/structure/bed/double/padded, +/obj/item/bedsheet/browndouble, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "jEn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13550,15 +14813,11 @@ /turf/simulated/floor/tiled, /area/hydroponics) "jEN" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass/mining{ - id_tag = "cargodoor"; - name = "Cargo Office"; - req_one_access = list() +/obj/structure/poster/preset/tgstation/tg_9{ + pixel_y = 32 }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/turf/simulated/floor/plating, +/area/quartermaster/storage) "jFV" = ( /obj/machinery/computer/guestpass{ dir = 1; @@ -13600,23 +14859,6 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) -"jGq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d3afthall) "jGP" = ( /obj/structure/bed/chair/wood{ dir = 4 @@ -13641,6 +14883,7 @@ dir = 8 }, /obj/spawner/window/low_wall/borosillicate/reinforced/full, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hanger) "jHr" = ( @@ -13717,6 +14960,14 @@ /obj/effect/floor_decal/corner/navblue/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) +"jKP" = ( +/obj/structure/catwalk, +/obj/machinery/light/small, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "jKX" = ( /obj/item/radio/intercom{ dir = 4; @@ -13733,33 +14984,27 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) -"jLr" = ( -/turf/simulated/wall/r_wall, -/area/crew_quarters/bar/lounge) "jLH" = ( -/obj/structure/table/bench/padded, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ +/obj/structure/catwalk, +/obj/structure/disposalpipe/segment{ dir = 1 }, -/obj/landmark/spawnpoint/job/shaft_miner, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) -"jLP" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/machinery/door/airlock/mining{ - name = "Cargo Airlock"; - req_one_access = null +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) +"jLP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) "jMc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13824,38 +15069,41 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/heads/hos) "jNW" = ( -/obj/structure/cable/green{ +/obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/machinery/door/firedoor, -/turf/simulated/floor/tiled/dark, -/area/endeavour/hallway/d3fwdhall) -"jON" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/navblue/border, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/endeavour/hallway/d3portforhall) +"jON" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/simulated/floor/airless/ceiling, +/area/space) "jPe" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/floor_decal/corner/brown/bordercorner2{ - dir = 1 +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"jPs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/table/standard, -/obj/item/packageWrap, -/obj/item/packageWrap, -/obj/item/packageWrap, -/obj/item/destTagger, +/obj/structure/catwalk, /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "jQE" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -13871,6 +15119,13 @@ /obj/map_helper/access_helper/airlock/station/security/general, /turf/simulated/floor/tiled/dark, /area/security/interrogation) +"jRe" = ( +/obj/machinery/camera/network/outside{ + dir = 1 + }, +/obj/structure/lattice, +/turf/space/basic, +/area/space) "jRg" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -13879,6 +15134,7 @@ icon_state = "1-2" }, /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) "jRB" = ( @@ -13910,16 +15166,13 @@ /area/crew_quarters/recreation_area) "jSX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "2-4" + dir = 6 }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "jTc" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -13946,6 +15199,10 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area_hallway) +"jUw" = ( +/obj/random/toolbox, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "jVc" = ( /obj/effect/floor_decal/corner_steel_grid{ dir = 6 @@ -13987,6 +15244,16 @@ /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) +"jVx" = ( +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/obj/machinery/space_heater, +/obj/landmark{ + name = "blobstart" + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "jWp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14009,11 +15276,14 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "jWI" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-8" }, /turf/simulated/floor/tiled/dark, /area/security/hallway) @@ -14026,6 +15296,18 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_3) +"jXm" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3starboardamidhall) "jXM" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -14049,10 +15331,12 @@ /turf/simulated/wall/r_wall/prepainted/security, /area/security/warden) "jYU" = ( -/obj/machinery/light{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/structure/bed/chair/sofa/black/left{ + dir = 1 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "jYY" = ( /obj/machinery/gear_painter, @@ -14075,11 +15359,16 @@ /turf/simulated/wall/prepainted/civilian, /area/crew_quarters/game_room) "kad" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 5 +/obj/machinery/door/airlock/glass/mining{ + name = "Magmatic Rift Leap Pad"; + req_one_access = null }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/map_helper/access_helper/airlock/station/mining_operations, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/quartermaster/belterdock) "kam" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /turf/simulated/floor/tiled/white, @@ -14171,12 +15460,29 @@ id_tag = "cargo_bay"; pixel_x = 28 }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) +"kdb" = ( +/obj/effect/floor_decal/rust, +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "kde" = ( /obj/machinery/media/jukebox, /turf/simulated/floor/wood, /area/security/breakroom) +"kdG" = ( +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "kdS" = ( /obj/machinery/door/airlock/command{ id_tag = "HoSdoor"; @@ -14211,8 +15517,10 @@ /turf/simulated/floor/tiled, /area/hydroponics) "kdZ" = ( -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +/obj/structure/table/wooden_reinforced, +/obj/item/storage/box/donkpockets, +/turf/simulated/floor/wood, +/area/maintenance/cargo) "keU" = ( /obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, /obj/map_helper/electrochromatic_linker{ @@ -14297,7 +15605,7 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_10) "kgM" = ( -/turf/simulated/wall/prepainted/cargo, +/turf/simulated/wall/r_wall/prepainted, /area/maintenance/bar/lower) "khP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -14351,7 +15659,7 @@ "kiR" = ( /obj/structure/table/standard, /obj/item/storage/box/cups, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/monodark, /area/prison/cell_block) "kiY" = ( /obj/structure/undies_wardrobe, @@ -14381,6 +15689,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/brig) "kkw" = ( @@ -14392,6 +15701,12 @@ }, /turf/simulated/floor/carpet, /area/security/detectives_office) +"kkx" = ( +/obj/effect/floor_decal/techfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "klc" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -14457,6 +15772,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) +"kow" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "koL" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -14482,18 +15801,20 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/interrogation) "kpn" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "kps" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/effect/floor_decal/steeldecal/steel_decals_central6, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "kqd" = ( /obj/effect/floor_decal/spline/fancy/wood{ @@ -14542,7 +15863,6 @@ dir = 1 }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, -/obj/item/barrier_tape_segment/engineering, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "ksW" = ( @@ -14563,6 +15883,7 @@ "kui" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "kur" = ( @@ -14572,8 +15893,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/junction{ + dir = 4; + icon_state = "pipe-j2" + }, +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) "kuG" = ( /obj/landmark/spawnpoint/latejoin/station/cryogenics, /obj/machinery/atmospherics/component/unary/vent_pump/on{ @@ -14608,14 +15939,6 @@ /obj/machinery/camera/network/civilian, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) -"kwo" = ( -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) "kwF" = ( /obj/structure/stairs/spawner/north{ dir = 2; @@ -14624,16 +15947,10 @@ /turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_three) "kxv" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/effect/floor_decal/industrial/hatch{ + color = "#AF0000" }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/warehouse) "kxI" = ( /obj/effect/floor_decal/industrial/outline/yellow, @@ -14689,6 +16006,11 @@ /obj/effect/floor_decal/corner/navgold/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"kBv" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "kBD" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -14726,6 +16048,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "kCb" = ( @@ -14762,6 +16085,16 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"kCu" = ( +/obj/structure/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "kCG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14806,6 +16139,11 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"kDo" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/suit_storage_unit/mining, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "kDu" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -14823,15 +16161,23 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) -"kDM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +"kDx" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/structure/railing{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/random/junk, +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) +"kDM" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "kEf" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 10 @@ -14856,8 +16202,13 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/map_helper/access_helper/airlock/station/maintenance, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/plating, -/area/endeavour/station/stairs_three) +/area/maintenance/bar/lower) "kEF" = ( /obj/machinery/light{ dir = 1 @@ -14870,6 +16221,27 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) +"kFu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"kGf" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "kGS" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navgold/border, @@ -14881,6 +16253,13 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/prison/cell_block) +"kIg" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "kIm" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -14931,8 +16310,7 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) "kKF" = ( -/obj/structure/table/woodentable, -/obj/item/flashlight/lamp/green, +/obj/structure/bed/chair/sofa/brown/right, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar/lounge) "kKL" = ( @@ -14942,20 +16320,14 @@ pixel_x = 13 }, /obj/machinery/fire_alarm/east_mount, -/obj/item/reagent_containers/glass/rag/sponge, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/item/reagent_containers/glass/rag/sponge, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "kKO" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "kKQ" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -15018,9 +16390,6 @@ /turf/simulated/floor/carpet/sblucarpet, /area/crew_quarters/sleep/Dorm_7) "kMk" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/structure/cable/green{ icon_state = "4-8" @@ -15034,12 +16403,8 @@ /turf/simulated/floor/tiled, /area/security/lobby) "kNT" = ( -/obj/vehicle/sealed/mecha/combat/fighter/cludge{ - dir = 4; - name = "\improper Titan Class Fighter" - }, -/turf/simulated/floor/reinforced/overhang, -/area/maintenance/bar/catwalk) +/turf/simulated/floor/tiled/steel_grid, +/area/quartermaster/belterdock) "kOc" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -15049,14 +16414,29 @@ /turf/simulated/floor/wood, /area/maintenance/dormitory) "kOw" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null }, -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "kPK" = ( /obj/machinery/door/blast/regular{ name = "Fighter Hanger Blast Door"; @@ -15078,13 +16458,14 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "kPT" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/bed/chair{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/structure/bed/chair/sofa/black{ + dir = 1 }, -/turf/simulated/floor/carpet/sblucarpet, +/obj/machinery/air_alarm/south_mount, +/obj/machinery/light, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "kQn" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -15097,6 +16478,15 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) +"kQS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "kRb" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green{ @@ -15122,19 +16512,16 @@ /turf/simulated/floor/airless, /area/shuttle/mining_ship/general) "kRu" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "QMLoad2" - }, -/obj/machinery/status_display/supply_display{ - mode = 99; - pixel_y = 32 +/obj/structure/poster/preset/baystation/bay_50{ + pixel_y = -32 }, -/obj/machinery/light{ - dir = 1 +/obj/structure/table, +/obj/structure/dancepole, +/obj/machinery/floor_light/changing/prebuilt{ + on = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/storage) "kRM" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15187,15 +16574,15 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "kSN" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 }, /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "kTd" = ( @@ -15216,13 +16603,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) "kTN" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "kUz" = ( /obj/machinery/door/firedoor/glass, @@ -15233,18 +16617,6 @@ name = "Security Blast Doors"; opacity = 0 }, -/obj/machinery/door/airlock/glass/security{ - layer = 2.8; - name = "Security"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/security/general, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /turf/simulated/floor/tiled/dark, /area/security/hallway) "kUM" = ( @@ -15269,15 +16641,13 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "kWu" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/brown/border, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "kWJ" = ( /obj/structure/table/woodentable, /obj/item/storage/box/donkpockets, @@ -15300,12 +16670,6 @@ /obj/machinery/holopad, /turf/simulated/floor/tiled/dark, /area/security/hallway) -"kXD" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/maintenance/cargo) "kXK" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15322,19 +16686,11 @@ /turf/simulated/floor/plating, /area/maintenance/starboardsolar) "kYu" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/item/radio/beacon/anchored, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/structure/lattice, +/obj/structure/lattice, +/obj/structure/grille, +/turf/simulated/floor/airless/ceiling, +/area/space) "kYx" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -15363,9 +16719,13 @@ /turf/simulated/floor/wood, /area/crew_quarters/game_room) "kZu" = ( -/obj/machinery/vending/coffee, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/carpet/turcarpet, +/area/crew_quarters/recreation_area) "kZA" = ( /obj/effect/floor_decal/corner/green/full{ dir = 1 @@ -15393,9 +16753,13 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) "lag" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/machinery/conveyor{ + dir = 8; + id = "mining_interior" + }, +/obj/machinery/mineral/input, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "laD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -15411,8 +16775,13 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "laQ" = ( -/obj/structure/sign/department/cargo_dock, -/turf/simulated/wall/prepainted/cargo, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -26 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "lbQ" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, @@ -15461,20 +16830,40 @@ /turf/simulated/floor/tiled, /area/hydroponics) "ldm" = ( -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/office) +"ldo" = ( +/obj/structure/cable/green{ + icon_state = "2-8" }, -/obj/structure/closet/crate/bin{ - anchored = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) -"ldo" = ( -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) "ldK" = ( -/obj/effect/floor_decal/industrial/outline/red, -/turf/simulated/floor/tiled, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"lea" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "len" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15490,10 +16879,6 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) -"leF" = ( -/obj/machinery/vending/weeb, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) "leL" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -15507,12 +16892,6 @@ /obj/item/camera, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) -"lfy" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) "lfB" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/spray/luminol, @@ -15520,18 +16899,24 @@ /obj/machinery/light, /turf/simulated/floor/tiled/old_cargo/white, /area/security/forensics) -"lfJ" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) "lfS" = ( -/obj/machinery/light{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 }, -/turf/simulated/floor/tiled/dark, -/area/endeavour/station/stairs_three) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 4 + }, +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3fwdhall) "lgj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -15558,16 +16943,9 @@ /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "lgM" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/maintenance/common, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/catwalk, +/obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/area/maintenance/cargo) "lgT" = ( /obj/structure/table/marble, /obj/machinery/door/blast/shutters{ @@ -15622,15 +17000,10 @@ /turf/simulated/floor/tiled/monotile, /area/endeavour/hallway/d3afthall) "lif" = ( +/obj/random/junk, +/obj/random/maintenance, /turf/simulated/floor/plating, -/area/maintenance/lower/trash_pit) -"lin" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/machinery/computer/timeclock/premade/east, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/area/maintenance/trash_pit) "liu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -15662,11 +17035,9 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "lkP" = ( -/obj/structure/cable/green{ - icon_state = "1-8" - }, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/obj/structure/salvageable/machine, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "lly" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint/darkred, @@ -15685,16 +17056,10 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3fwdmaint) "lmr" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/map_helper/access_helper/airlock/station/mining_operations, -/obj/machinery/door/airlock/glass/mining{ - name = "Magmatic Rift Leap Pad"; - req_one_access = null - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/railing, +/obj/random/mouseremains, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "lmD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -15711,14 +17076,6 @@ }, /turf/simulated/floor/tiled/techfloor, /area/security/lobby) -"lnj" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) "lnp" = ( /obj/structure/cable{ icon_state = "1-4" @@ -15806,8 +17163,11 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "lqE" = ( -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) "lqW" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -15850,7 +17210,6 @@ /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) "lsC" = ( -/obj/machinery/camera/network/security, /obj/effect/floor_decal/corner/red{ dir = 5 }, @@ -15890,10 +17249,15 @@ /turf/simulated/floor/tiled, /area/hydroponics) "lul" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/table/marble, +/obj/machinery/door/blast/shutters{ + dir = 8; + id = "bar"; + name = "Bar Shutters" + }, +/obj/item/material/ashtray/glass, /turf/simulated/floor/wood, -/area/security/lobby) +/area/crew_quarters/bar) "luu" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -15966,15 +17330,15 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "lwA" = ( -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-2" +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 8 +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/machinery/camera/network/cargo, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "lwL" = ( /obj/machinery/door/window/brigdoor/southleft{ dir = 4; @@ -16040,9 +17404,9 @@ /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) "lye" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "lyz" = ( /obj/structure/table/rack{ dir = 8; @@ -16086,17 +17450,28 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) -"lAm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, +"lzC" = ( /obj/effect/floor_decal/borderfloorblack{ - dir = 4 + dir = 1 }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 4 +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/bordercorner2{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 }, /turf/simulated/floor/tiled, +/area/endeavour/hallway/d3starboardamidhall) +"lAm" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "lAo" = ( /obj/effect/floor_decal/borderfloorblack, @@ -16107,6 +17482,16 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"lAL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portforhall) "lCj" = ( /obj/structure/table/woodentable, /obj/machinery/chemical_dispenser/catering/bar_soft{ @@ -16115,22 +17500,17 @@ /turf/simulated/floor/wood, /area/security/breakroom) "lCC" = ( -/obj/effect/floor_decal/steeldecal/steel_decals_central6{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/requests_console/preset/cargo{ - pixel_x = 30 +/obj/structure/bed/chair/wood{ + dir = 8 }, -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "belter_docking"; - name = "Belting Dock Controller"; - pixel_x = 24; - pixel_y = 30; - req_one_access = list(13,31) +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "lCJ" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -16159,6 +17539,9 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) +"lDd" = ( +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "lDq" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -16244,20 +17627,20 @@ /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "lEK" = ( -/turf/simulated/wall/prepainted/civilian, +/turf/simulated/wall/prepainted, /area/crew_quarters/bar/lounge) "lEM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "lEY" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/endeavour/hallway/d3aftmaint) +"lGM" = ( +/obj/machinery/vending/fitness, +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) "lGQ" = ( /turf/simulated/floor/tiled/techmaint, /area/security/brig) @@ -16284,6 +17667,11 @@ /obj/structure/lattice, /turf/space, /area/space) +"lIA" = ( +/obj/landmark/spawnpoint/job/quartermaster, +/obj/machinery/light, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "lIO" = ( /turf/simulated/floor/plating, /area/security/hanger) @@ -16294,6 +17682,9 @@ "lIR" = ( /obj/structure/catwalk, /obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /turf/simulated/floor/plating, /area/maintenance/bar/lower) "lIV" = ( @@ -16341,31 +17732,25 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "lKt" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/closet/crate/plastic, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "lKA" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/security/forensics) "lKH" = ( -/obj/machinery/mineral/input, -/obj/machinery/conveyor{ - dir = 4; - id = "mining_interior" +/obj/structure/closet/secure_closet/cargotech, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "lKR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -16393,6 +17778,12 @@ "lMH" = ( /turf/simulated/wall/prepainted, /area/vacant/vacant_shop) +"lMK" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "lMS" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 @@ -16403,23 +17794,6 @@ /obj/landmark/spawnpoint/job/entertainer, /turf/simulated/floor/carpet/bcarpet, /area/tether/surfacebase/entertainment) -"lNT" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk, -/obj/machinery/door/airlock/maintenance, -/turf/simulated/floor/plating, -/area/maintenance/bar/catwalk) "lNU" = ( /obj/structure/table/gamblingtable, /obj/item/deck/cards, @@ -16476,11 +17850,13 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "lQq" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "lQs" = ( /obj/structure/table/woodentable, /obj/item/storage/box/glasses/meta, @@ -16493,19 +17869,18 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) +"lRw" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/recharger, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "lRx" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/sign/warning/moving_parts{ - pixel_y = 32 - }, -/obj/machinery/conveyor_switch/oneway{ - tag = "mailroom"; - id = "DLBelt" +/obj/machinery/mineral/input, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 }, -/turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/delivery) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "lRP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16522,12 +17897,6 @@ /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) -"lSK" = ( -/obj/machinery/power/breakerbox{ - RCon_tag = "MAIN - DECK 3 AMIDSHIPS" - }, -/turf/simulated/floor/plating, -/area/maintenance/substation/security) "lTj" = ( /turf/simulated/wall/r_wall/prepainted/civilian, /area/endeavour/hallway/d3fwdmaint) @@ -16611,6 +17980,13 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"lUu" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "lUH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -16619,6 +17995,15 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) +"lUK" = ( +/obj/structure/poster{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/bar/lounge) "lVi" = ( /obj/machinery/holopad, /turf/simulated/floor/carpet, @@ -16731,15 +18116,22 @@ /turf/simulated/floor/plating, /area/security/lobby) "lXM" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 + dir = 4 }, -/obj/machinery/light_switch{ - pixel_x = -26; - pixel_y = -4 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "lYm" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16805,9 +18197,17 @@ "mbv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/landmark/spawnpoint/job/cargo_technician, /obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "mbJ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -16863,19 +18263,12 @@ /turf/simulated/floor/tiled, /area/security/lobby) "mff" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor{ +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Bay"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "mfm" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, @@ -16890,6 +18283,21 @@ "mfy" = ( /turf/simulated/wall/r_wall/prepainted, /area/crew_quarters/sleep/Dorm_12) +"mfz" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3starboardforhall) "mgD" = ( /obj/effect/floor_decal/corner/black{ dir = 9 @@ -16918,10 +18326,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 8 - }, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "mhH" = ( /turf/simulated/floor/tiled, @@ -16932,14 +18337,11 @@ /turf/simulated/floor/tiled/dark, /area/security/hallwayaux) "mhO" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Cargo Lobby" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/effect/floor_decal/borderfloorblack/corner2, +/obj/effect/floor_decal/corner/brown/bordercorner2, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "mhY" = ( /turf/simulated/wall/prepainted, @@ -16952,11 +18354,20 @@ /turf/simulated/floor/tiled/old_cargo/white, /area/security/forensics) "mii" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "miu" = ( /obj/effect/floor_decal/spline/fancy/wood/corner, /turf/simulated/floor/wood, @@ -16995,33 +18406,19 @@ }, /turf/simulated/floor/tiled/dark, /area/security/brig) -"miH" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -5; - pixel_y = -28 - }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/button/remote/airlock{ - id = "dorm12"; - name = "Room 12 Lock"; - pixel_x = 5; - pixel_y = -27; - specialfunctions = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) +"mjy" = ( +/obj/structure/closet/firecloset, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "mjB" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/corner/brown/border{ + dir = 5 + }, +/obj/structure/flora/pottedplant/minitree, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "mkn" = ( /obj/structure/cable/green{ @@ -17086,21 +18483,20 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "mlk" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 +/obj/effect/floor_decal/borderfloor{ + dir = 10 }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 }, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Airlock"; - req_one_access = null +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "mll" = ( /obj/machinery/light{ dir = 1 @@ -17156,9 +18552,18 @@ }, /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) +"mmw" = ( +/obj/machinery/camera/network/cargo{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "mmZ" = ( -/obj/machinery/appliance/mixer/cereal, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/landmark/spawnpoint/job/chef, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "mne" = ( @@ -17212,34 +18617,38 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "moz" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "mining_interior" - }, -/obj/machinery/camera/network/cargo, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) -"moE" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 8 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, /obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/vending/cola, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) +"moE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ dir = 8 }, /obj/structure/cable/green{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) -"mpt" = ( -/obj/landmark/spawnpoint/job/cargo_technician, -/obj/machinery/camera/network/cargo{ - dir = 4 +/obj/effect/floor_decal/corner/navblue/border{ + dir = 8 }, /turf/simulated/floor/tiled, +/area/endeavour/hallway/d3afthall) +"mpt" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/power/apc/south_mount, +/obj/structure/cable/green, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "mpy" = ( /obj/machinery/door/firedoor, @@ -17269,7 +18678,8 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "mqp" = ( -/obj/machinery/light{ +/obj/structure/catwalk, +/obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/plating, @@ -17330,6 +18740,12 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/prison/cell_block) +"mrn" = ( +/obj/machinery/floor_light/changing/prebuilt{ + on = 1 + }, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "mrw" = ( /obj/structure/flora/pottedplant/orientaltree, /obj/machinery/camera/network/civilian{ @@ -17370,14 +18786,24 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "mti" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/machinery/light, +/obj/machinery/vending/wallmed1{ + dir = 4; + pixel_x = -24; + pixel_y = 2 }, /turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/area/endeavour/surfacebase/mining_main/break_room) "mty" = ( /turf/simulated/floor/tiled/old_cargo/white, /area/security/forensics) +"mun" = ( +/obj/random/cash, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "mup" = ( /obj/effect/floor_decal/corner_oldtile/white/diagonal, /turf/simulated/floor/tiled/dark, @@ -17411,14 +18837,13 @@ dir = 4 }, /obj/machinery/fire_alarm/east_mount, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "mwk" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/item/banner/cargo, +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "mwA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -17426,6 +18851,9 @@ dir = 2; icon_state = "pipe-j2" }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "mwM" = ( @@ -17492,10 +18920,6 @@ }, /turf/simulated/floor/wood, /area/endeavour/surfacebase/bar_backroom) -"mzJ" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) "mAl" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -17517,11 +18941,15 @@ /turf/simulated/floor/carpet, /area/security/brig) "mBj" = ( -/obj/machinery/power/breakerbox{ +/obj/machinery/power/breakerbox/activated{ RCon_tag = "MAIN - DECK 3 FORE" }, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) +"mBo" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "mBA" = ( /obj/structure/cable{ icon_state = "4-8" @@ -17582,25 +19010,40 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "mEb" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, +/obj/structure/poster/preset/baystation/bay_8{ + pixel_y = 32 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, /turf/simulated/floor/plating, -/area/endeavour/surfacebase/mining_main/storage) +/area/quartermaster/storage) "mEG" = ( /obj/structure/bed/chair/office/dark{ dir = 8 }, /turf/simulated/floor/carpet, /area/security/detectives_office) -"mGq" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +"mFc" = ( +/obj/structure/cable/green{ + icon_state = "1-4" }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/turf/simulated/floor/plating, +/area/quartermaster/storage) +"mFW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "mGv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17666,10 +19109,22 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/cargo) +"mIG" = ( +/obj/structure/closet/largecardboard, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) +"mIN" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "mIP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/belterdock) "mJs" = ( /obj/effect/floor_decal/spline/fancy/wood/corner{ dir = 1 @@ -17677,11 +19132,31 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) "mJv" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) +"mJK" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) +"mJQ" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/hole, +/obj/machinery/space_heater, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "mKJ" = ( -/turf/simulated/wall/prepainted/cargo, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "mKK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17741,8 +19216,9 @@ /turf/simulated/floor/reinforced, /area/quartermaster/miningdock) "mLm" = ( -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "mLw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -17771,6 +19247,11 @@ }, /turf/simulated/floor/tiled/dark, /area/security/brig) +"mNI" = ( +/obj/structure/catwalk, +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "mNL" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17862,7 +19343,18 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "mVn" = ( -/turf/simulated/wall/prepainted/cargo, +/obj/structure/catwalk, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, /area/maintenance/bar/catwalk) "mVA" = ( /obj/effect/floor_decal/borderfloorblack/corner{ @@ -17980,18 +19472,10 @@ /turf/simulated/floor/tiled/dark, /area/security/tactical) "mXi" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d3portforhall) +/obj/machinery/mineral/equipment_vendor, +/obj/effect/floor_decal/corner/brown/diagonal, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "mXn" = ( /obj/structure/table/steel, /obj/item/flashlight/lamp, @@ -18046,19 +19530,35 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "mYS" = ( +/obj/map_helper/access_helper/airlock/station/head_office/quartermaster, /obj/machinery/door/firedoor{ dir = 8 }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/airlock/mining{ + name = "Quartermaster"; + req_one_access = list() + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/qm) +"mZk" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "mZI" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/blast/regular{ @@ -18074,7 +19574,7 @@ name = "Security"; req_one_access = null }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/prison/cell_block) "mZL" = ( /obj/item/radio/intercom{ @@ -18085,6 +19585,14 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) +"nay" = ( +/obj/random/maintenance, +/obj/structure/closet/largecardboard, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "naA" = ( /obj/effect/floor_decal/industrial/danger{ dir = 9 @@ -18095,12 +19603,33 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/hanger) +"naI" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/obj/random/junk, +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) "nbL" = ( /turf/simulated/floor/airless, /area/space) "nbW" = ( /obj/structure/closet/emcloset, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + use_power = 0 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "ncH" = ( /obj/structure/table/steel, @@ -18145,8 +19674,17 @@ /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "ncP" = ( -/obj/structure/closet/firecloset, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/status_display/supply_display{ + mode = 99; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "ncY" = ( /obj/structure/sign/warning/secure_area, @@ -18156,10 +19694,6 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 }, @@ -18178,7 +19712,13 @@ name = "Station Intercom (General)"; pixel_y = 26 }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 5 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "neq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -18200,17 +19740,33 @@ /obj/machinery/status_display/supply_display{ pixel_y = 32 }, -/obj/machinery/vending/loadout/accessory, /obj/machinery/light{ dir = 1 }, +/obj/machinery/vending/loadout/clothing, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) -"nfA" = ( -/obj/structure/closet/crate/trashcart, +"neK" = ( +/obj/structure/closet, +/obj/random/maintenance/clean, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/area/endeavour/hallway/d3fwdmaint) +"nfA" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "nfG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -18273,6 +19829,14 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) +"nin" = ( +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "niA" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -18288,6 +19852,18 @@ /obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3fwdhall) +"njM" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/hole/right{ + dir = 1 + }, +/obj/structure/table/steel, +/obj/machinery/recharger, +/obj/random/coin, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "njT" = ( /obj/structure/table/marble, /obj/machinery/door/blast/shutters{ @@ -18342,17 +19918,10 @@ /turf/simulated/floor/tiled/dark, /area/janitor) "nkT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/carpet/sblucarpet, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "nkY" = ( /obj/structure/cable/green{ @@ -18364,6 +19933,23 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"nme" = ( +/obj/structure/dispenser/oxygen, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) +"nms" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "nmv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -18381,6 +19967,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/hydroponics) +"nnu" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "nnI" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -18435,8 +20029,20 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "noW" = ( -/turf/simulated/floor/tiled/techmaint, -/area/quartermaster/office) +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + pixel_y = 20 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "noY" = ( /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) @@ -18477,15 +20083,12 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "npS" = ( -/obj/machinery/fire_alarm/west_mount{ - pixel_x = -26 - }, -/obj/structure/table/standard, -/obj/machinery/photocopier/faxmachine{ - department = "Quartermaster-Office" +/obj/machinery/light{ + dir = 4 }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "nqm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -18503,33 +20106,33 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "nqP" = ( -/obj/machinery/computer/security/telescreen{ - pixel_y = 32 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/machinery/vending/loadout/gadget, -/obj/effect/floor_decal/techfloor/corner{ +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/tiled/dark, -/area/vacant/vacant_shop) -"nrZ" = ( /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "nsH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/structure/table/wooden_reinforced, +/obj/machinery/light/small{ + dir = 4 }, -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) +/turf/simulated/floor/plating, +/area/maintenance/cargo) "nta" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18572,9 +20175,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ - icon_state = "4-8" + icon_state = "2-4" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" }, -/obj/structure/disposalpipe/junction, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "nvw" = ( @@ -18631,9 +20240,8 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) "nxz" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/wall/r_wall/prepainted, +/area/maintenance/trash_pit) "nxT" = ( /obj/machinery/camera/network/civilian{ dir = 4 @@ -18641,8 +20249,14 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "nyi" = ( -/turf/simulated/wall/prepainted/cargo, -/area/quartermaster/storage) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "nyw" = ( /obj/machinery/light_switch{ pixel_y = -23 @@ -18670,17 +20284,8 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) "nzA" = ( -/obj/machinery/air_alarm{ - dir = 4; - pixel_x = -23 - }, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate/large, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/turf/simulated/floor/wood, +/area/quartermaster/office) "nAJ" = ( /obj/structure/window/reinforced{ dir = 8 @@ -18688,10 +20293,12 @@ /turf/simulated/floor/water/deep/indoors, /area/crew_quarters/sleep/bedrooms) "nAS" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/maintenance, -/turf/simulated/floor/plating, -/area/vacant/vacant_shop) +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "nBf" = ( /obj/structure/closet/wardrobe, /turf/simulated/floor/wood, @@ -18749,7 +20356,7 @@ }, /obj/structure/disposaloutlet, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/endeavour/hallway/d3aftmaint) "nCZ" = ( /obj/structure/table/marble, /obj/machinery/door/firedoor{ @@ -18787,20 +20394,12 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardamidhall) "nDz" = ( -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/storage/firstaid{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "nEe" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, @@ -18821,12 +20420,9 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) "nFa" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/landmark/spawnpoint/job/cargo_technician, +/turf/simulated/floor/wood, +/area/quartermaster/office) "nFD" = ( /obj/structure/closet/wardrobe, /obj/machinery/newscaster{ @@ -18861,6 +20457,10 @@ }, /turf/simulated/floor/tiled, /area/security/security_lockerroom) +"nHC" = ( +/obj/structure/lattice, +/turf/simulated/floor/plating, +/area/space) "nIf" = ( /obj/structure/bed/chair/sofa/right, /turf/simulated/floor/carpet/bcarpet, @@ -18934,35 +20534,42 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/light{ + dir = 1; + pixel_y = 20 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) "nJE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/machinery/air_alarm{ + dir = 8; + pixel_x = 25 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/item/paper/crumpled{ + name = "Hastily crumpled schematics"; + info = "Right - the equipment's all set and ready to go - as long as you can keep the ship in the drydock for another few days, we can get in, get out, and be gone before we're missed. Map's attached. Burn this if you think you're about to get pinched-" }, -/obj/machinery/door/firedoor{ - dir = 8 +/turf/simulated/floor/plating, +/area/maintenance/cargo) +"nJF" = ( +/obj/machinery/computer/supplycomp/control, +/obj/machinery/light{ + dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/area/quartermaster/qm) "nJT" = ( /obj/structure/filingcabinet, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) "nKd" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/dogbed, -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 +/obj/machinery/camera/network/outside{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/structure/lattice, +/obj/structure/grille, +/turf/space/basic, +/area/space) "nKw" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -31 @@ -19021,8 +20628,14 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) +"nLJ" = ( +/obj/structure/table/marble, +/obj/item/paicard, +/turf/simulated/floor/carpet/bcarpet, +/area/crew_quarters/bar) "nLT" = ( /obj/machinery/atm{ pixel_y = 30 @@ -19087,8 +20700,10 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "nNn" = ( -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "nND" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/effect/floor_decal/spline/plain{ @@ -19165,9 +20780,6 @@ /obj/machinery/door/firedoor{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /obj/structure/cable/green{ icon_state = "4-8" }, @@ -19221,11 +20833,17 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/map_helper/access_helper/airlock/station/external_airlock, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, /obj/machinery/door/airlock/glass_external{ req_one_access = null }, -/obj/map_helper/access_helper/airlock/station/external_airlock, -/turf/simulated/floor/tiled, +/turf/simulated/floor/reinforced, /area/quartermaster/warehouse) "nRt" = ( /obj/effect/floor_decal/corner_steel_grid/diagonal, @@ -19302,11 +20920,10 @@ sort_tag = "Sorting Office"; dir = 4 }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "nTj" = ( -/obj/structure/table/marble, -/obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 }, @@ -19340,9 +20957,7 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "nUf" = ( -/obj/structure/toilet{ - dir = 1 - }, +/obj/structure/toilet, /obj/landmark{ name = "xeno_spawn"; pixel_x = -1 @@ -19398,6 +21013,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) +"nVg" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "nVo" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -19405,21 +21024,16 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) "nVC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 +/obj/machinery/mineral/output, +/obj/machinery/light{ + dir = 4; + use_power = 0 }, -/obj/effect/floor_decal/industrial/outline/blue, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 +/obj/machinery/conveyor{ + id = "mining_interior" }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "nVP" = ( /obj/effect/floor_decal/spline/plain{ dir = 8 @@ -19427,12 +21041,18 @@ /obj/machinery/vending/cigarette, /turf/simulated/floor/tiled/dark, /area/crew_quarters/recreation_area) +"nWc" = ( +/turf/simulated/floor/tiled/dark, +/area/quartermaster/storage) "nWj" = ( -/obj/machinery/computer/security/mining{ - dir = 4 +/obj/machinery/computer/roguezones{ + dir = 8 }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/effect/floor_decal/industrial/warning/cee{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "nWz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -19452,7 +21072,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "nXq" = ( /obj/structure/cable/yellow{ @@ -19465,11 +21085,10 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/sleep/Dorm_9) "nYH" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "nYR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -19565,6 +21184,21 @@ /obj/effect/floor_decal/corner_oldtile/white/diagonal, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) +"obX" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portamidhall) "och" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -19723,6 +21357,10 @@ }, /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) +"ogP" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "ogR" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -19884,15 +21522,9 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "omy" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate, -/obj/item/radio/intercom{ - dir = 8; - pixel_x = -28; - req_access = list() - }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/wood, +/area/quartermaster/office) "onm" = ( /turf/simulated/floor/tiled/dark, /area/security/hallway) @@ -19902,10 +21534,19 @@ /area/hydroponics) "onr" = ( /obj/structure/cable/green{ - icon_state = "2-8" + icon_state = "4-8" }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/flipped{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "onZ" = ( /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, @@ -20028,14 +21669,17 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "orm" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 6 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) "orr" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lime/border, @@ -20059,11 +21703,13 @@ /turf/simulated/wall/prepainted/security, /area/security/brig) "osx" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -31 +/obj/machinery/door/airlock/mining, +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/turf/simulated/floor/plating, +/area/endeavour/surfacebase/mining_main/break_room) "osL" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -20084,6 +21730,24 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"otl" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Refinery"; + dir = 8 + }, +/obj/map_helper/access_helper/airlock/station/supply/mining, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "otM" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/effect/floor_decal/spline/plain, @@ -20130,11 +21794,12 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "ouS" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2"; + pixel_x = 11; + pixel_y = 21 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "ova" = ( /obj/effect/floor_decal/borderfloorblack{ @@ -20174,14 +21839,18 @@ /turf/simulated/floor/tiled/dark, /area/security/tactical) "owv" = ( -/obj/machinery/door/firedoor{ +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ dir = 8 }, -/obj/machinery/light{ - dir = 1 +/obj/effect/floor_decal/corner/navblue/border{ + dir = 8 }, -/turf/simulated/floor/tiled/dark, -/area/endeavour/station/stairs_three) +/obj/machinery/air_alarm/west_mount, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3fwdhall) "owH" = ( /obj/machinery/shower{ dir = 4 @@ -20262,6 +21931,16 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"oxY" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "oyj" = ( /obj/structure/flora/ausbushes/ppflowers, /obj/effect/floor_decal/spline/plain{ @@ -20299,10 +21978,14 @@ /turf/simulated/floor/wood, /area/maintenance/dormitory) "oyU" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "oyZ" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -20341,15 +22024,13 @@ /turf/simulated/floor/tiled/dark, /area/security/tactical) "oBe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portamidhall) "oBE" = ( @@ -20423,6 +22104,13 @@ }, /turf/simulated/floor/tiled/dark, /area/prison/cell_block) +"oDU" = ( +/obj/machinery/air_alarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "oDX" = ( /obj/item/radio/intercom{ dir = 1; @@ -20498,13 +22186,13 @@ name = "Bar Shutters" }, /obj/spawner/window/low_wall/full/nogrille/firelocks, +/obj/effect/paint/palebottlegreen, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "oFO" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, -/obj/effect/mine/dnascramble, -/turf/simulated/floor/plating, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/airless/ceiling, /area/quartermaster/warehouse) "oGe" = ( /obj/machinery/air_alarm{ @@ -20555,9 +22243,23 @@ /obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/interrogation) +"oGT" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/status_display/supply_display{ + mode = 99; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "oHM" = ( -/obj/machinery/appliance/mixer/candy, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "oIu" = ( @@ -20628,10 +22330,10 @@ /turf/simulated/floor/carpet, /area/crew_quarters/sleep/Dorm_10) "oLu" = ( -/obj/structure/table/marble, /obj/item/material/kitchen/rollingpin, /obj/item/material/knife/butch, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "oMi" = ( @@ -20640,11 +22342,12 @@ /turf/simulated/floor/carpet, /area/crew_quarters/sleep/Dorm_10) "oMq" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) +"oNa" = ( +/obj/structure/frame, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "oNp" = ( /obj/machinery/newscaster{ pixel_y = 32 @@ -20667,17 +22370,8 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "oNw" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/quartermaster/belterdock) "oNx" = ( /obj/effect/floor_decal/corner_steel_grid{ dir = 1 @@ -20748,9 +22442,9 @@ /turf/simulated/floor/tiled/dark, /area/security/brig) "oOy" = ( -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/obj/landmark/spawnpoint/job/cargo_technician, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "oOG" = ( /obj/machinery/power/apc/west_mount, /obj/structure/cable/green{ @@ -20759,16 +22453,21 @@ /turf/simulated/floor/wood, /area/crew_quarters/game_room) "oOI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass/mining{ - req_one_access = null +/obj/effect/floor_decal/borderfloorblack{ + dir = 9 }, -/obj/map_helper/access_helper/airlock/station/head_office/quartermaster, -/turf/simulated/floor/plating, -/area/quartermaster/qm) +/obj/effect/floor_decal/corner/brown/border{ + dir = 9 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "oOV" = ( -/turf/simulated/wall/prepainted/cargo, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" + }, +/obj/structure/closet/crate/large, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "oPq" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 6 @@ -20817,6 +22516,7 @@ /obj/map_helper/electrochromatic_linker{ id = "vicDetOffice" }, +/obj/effect/paint/darkred, /turf/simulated/floor/lino, /area/security/detectives_office) "oSY" = ( @@ -20831,6 +22531,12 @@ /obj/structure/closet/wardrobe, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_4) +"oUd" = ( +/obj/structure/table/standard, +/obj/item/hand_labeler, +/obj/item/hand_labeler, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "oUr" = ( /obj/machinery/power/sensor{ name = "Powernet Sensor - Solar Farm Input"; @@ -20881,19 +22587,9 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "oWf" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/machinery/computer/security/mining, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "oWG" = ( /obj/machinery/door/airlock/multi_tile/glass{ name = "Crew Quarters" @@ -20908,20 +22604,17 @@ /turf/simulated/floor/tiled, /area/security/hanger) "oXi" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/obj/effect/floor_decal/borderfloorblack/corner2{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, -/obj/effect/floor_decal/corner/navblue/bordercorner2{ - dir = 8 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "oXu" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -20930,14 +22623,19 @@ /area/crew_quarters/sleep/bedrooms) "oXV" = ( /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/floor/wood, /area/quartermaster/office) "oYh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20951,15 +22649,29 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) "oYC" = ( -/obj/machinery/camera/network/cargo{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ dir = 4 }, -/obj/structure/closet/hydrant{ - pixel_x = -32 +/obj/structure/flora/ausbushes/ppflowers, +/obj/machinery/door/firedoor{ + dir = 1 }, -/obj/structure/closet/crate, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/grass, +/area/quartermaster/foyer) "oYK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -20981,9 +22693,6 @@ /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) "pab" = ( -/obj/structure/cable/green{ - icon_state = "1-4" - }, /obj/effect/floor_decal/borderfloorblack{ dir = 8 }, @@ -21070,58 +22779,18 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "pdF" = ( -/obj/structure/sign/department/mail{ - pixel_x = -32 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 10 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 10 - }, -/obj/structure/table/standard, -/obj/item/packageWrap, -/obj/item/packageWrap, -/obj/item/packageWrap, -/obj/item/destTagger, -/obj/machinery/air_alarm{ - dir = 1; - pixel_y = -24 - }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 8 - }, -/obj/effect/floor_decal/corner/brown/bordercorner2{ - dir = 8 - }, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/belterdock/gear) +"pdT" = ( +/obj/effect/floor_decal/corner/brown/diagonal, /obj/machinery/camera/network/cargo{ - dir = 4 - }, -/obj/machinery/light{ dir = 8 }, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) -"pdT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/item/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 26 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/fire_alarm/east_mount, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "ped" = ( /obj/landmark/observer_spawn, /obj/effect/floor_decal/spline/fancy/wood, @@ -21151,19 +22820,16 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "pfu" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/structure/table/steel_reinforced, +/obj/item/storage/firstaid/regular{ + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null +/obj/item/storage/firstaid/fire{ + pixel_y = 3 }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "pfH" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, @@ -21177,11 +22843,13 @@ /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) "pgJ" = ( +/obj/structure/flora/pottedplant/smalltree, +/obj/machinery/light/small{ + dir = 8 + }, /obj/machinery/air_alarm{ pixel_y = 22 }, -/obj/machinery/camera/network/civilian, -/obj/structure/flora/pottedplant/smalltree, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "phb" = ( @@ -21252,6 +22920,18 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"phB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "phI" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21311,15 +22991,11 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d3afthall) -"pjE" = ( -/obj/machinery/air_alarm{ - dir = 4; - pixel_x = -23 +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/endeavour/hallway/d3afthall) "pjF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -21392,24 +23068,25 @@ "pkT" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/security/detectives_office) -"pkW" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +"pkU" = ( +/obj/structure/sign/directions/evac{ + dir = 8 }, -/obj/structure/cable/green{ - icon_state = "4-8" +/turf/simulated/wall/prepainted/civilian, +/area/crew_quarters/kitchen) +"pkW" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light{ + dir = 1 }, -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "plt" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -21444,8 +23121,9 @@ /turf/simulated/floor/wood, /area/security/breakroom) "pmy" = ( -/turf/simulated/wall/prepainted, -/area/crew_quarters/kitchen) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "pmM" = ( /obj/item/bedsheet/bluedouble, /obj/structure/bed/double/padded, @@ -21505,10 +23183,13 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) "poa" = ( -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "poe" = ( /obj/effect/shuttle_landmark{ @@ -21552,17 +23233,6 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) -"pqk" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) "pqE" = ( /obj/machinery/vending/hydroseeds, /obj/effect/floor_decal/corner/green{ @@ -21571,12 +23241,9 @@ /turf/simulated/floor/tiled/dark, /area/security/brig) "pqO" = ( -/obj/structure/bed/chair/comfy/teal, -/obj/machinery/light/small{ - dir = 1 - }, +/obj/structure/undies_wardrobe, /turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) +/area/maintenance/cargo) "pqT" = ( /obj/effect/floor_decal/corner/red{ dir = 6 @@ -21638,6 +23305,27 @@ }, /turf/simulated/floor/tiled, /area/hydroponics) +"prv" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 4 + }, +/obj/structure/sign/department/cargo{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "prZ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -21651,24 +23339,37 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) "psK" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/dark, -/area/endeavour/hallway/d3afthall) -"ptR" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 }, -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/effect/floor_decal/corner/navblue/border{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/machinery/light{ + dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/endeavour/hallway/d3fwdhall) +"ptj" = ( +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) +"ptR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "puw" = ( /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 4 @@ -21683,12 +23384,10 @@ /turf/simulated/floor/carpet/tealcarpet, /area/crew_quarters/sleep/Dorm_8) "puP" = ( -/obj/structure/plasticflaps/mining, -/obj/machinery/conveyor{ - id = "mining_interior" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, +/turf/simulated/floor/tiled/dark, +/area/crew_quarters/kitchen) "puT" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/airlock/glass/security{ @@ -21707,6 +23406,27 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/soda, /turf/simulated/floor/tiled/monotile, /area/security/brig) +"pvB" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/bed/chair/sofa/black/left{ + dir = 4 + }, +/obj/machinery/power/apc/west_mount, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) +"pvI" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/briefcase/inflatable, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "pvX" = ( /obj/effect/floor_decal/corner/green{ dir = 6 @@ -21718,9 +23438,6 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/security/hallway) -"pwn" = ( -/turf/simulated/wall/prepainted/cargo, -/area/quartermaster/delivery) "pwo" = ( /turf/simulated/wall/r_wall/prepainted/civilian, /area/crew_quarters/game_room) @@ -21735,13 +23452,13 @@ dir = 8; icon_state = "pipe-c" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "pwE" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/monodark, /area/prison/cell_block) "pxt" = ( /obj/structure/table/rack/steel, @@ -21761,26 +23478,18 @@ "pxU" = ( /turf/simulated/floor/carpet/purcarpet, /area/crew_quarters/heads/hos) -"pyb" = ( +"pyh" = ( /obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/obj/machinery/door/airlock/mining{ - name = "Quartermaster"; - req_one_access = list() +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 }, -/obj/map_helper/access_helper/airlock/station/head_office/quartermaster, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "pyZ" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -21802,16 +23511,13 @@ /obj/map_helper/electrochromatic_linker{ id = "vicDetOffice" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/detectives_office) "pzs" = ( -/obj/machinery/hyperpad/centre{ - map_pad_id = "lavaland_station"; - map_pad_link_id = "lavaland_away"; - newcolor = "#fcba03" - }, -/turf/simulated/floor/tiled/techmaint, -/area/quartermaster/office) +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "pAC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -21842,25 +23548,20 @@ "pCQ" = ( /turf/simulated/wall/r_wall/prepainted, /area/maintenance/dormitory) -"pDb" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window{ - dir = 1; - req_one_access = list(31) - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) "pDe" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/security/riot_control) "pDn" = ( +/obj/machinery/vending/coffee, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/cargo_shelter_dock) +"pDx" = ( /obj/structure/cable/green{ - icon_state = "1-4" + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/endeavour/surfacebase/mining_main/break_room) "pDN" = ( @@ -21891,6 +23592,9 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, +/obj/machinery/computer/security/telescreen{ + pixel_x = 32 + }, /turf/simulated/floor/wood, /area/crew_quarters/bar) "pEk" = ( @@ -21993,9 +23697,6 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_6) "pHf" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -22005,23 +23706,12 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) "pHB" = ( -/obj/machinery/air_alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "pIT" = ( /obj/structure/cable{ icon_state = "4-8" @@ -22058,10 +23748,17 @@ /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "pJe" = ( -/obj/structure/table/bench/padded, -/obj/landmark/spawnpoint/job/shaft_miner, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "pJi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22076,13 +23773,30 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "pJR" = ( -/obj/machinery/computer/supplycomp/control{ +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/junction{ + dir = 2; + icon_state = "pipe-j2" + }, +/obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "pKe" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -22096,9 +23810,16 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "pMS" = ( -/obj/structure/closet/wardrobe, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +/obj/machinery/power/apc/west_mount{ + cell_type = /obj/item/cell/super + }, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/effect/floor_decal/spline/plain, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/carpet/turcarpet, +/area/crew_quarters/recreation_area) "pNn" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/light/small{ @@ -22168,6 +23889,10 @@ }, /turf/simulated/floor/grass, /area/security/brig) +"pOu" = ( +/obj/landmark/spawnpoint/job/shaft_miner, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "pOv" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -22175,10 +23900,14 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "pOK" = ( -/obj/machinery/mineral/input, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/item/skub, +/obj/item/material/twohanded/baseballbat{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/structure/table/fancyblack, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "pON" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, @@ -22208,14 +23937,15 @@ /obj/effect/floor_decal/corner/red/border{ dir = 1 }, -/obj/machinery/camera/network/security, /turf/simulated/floor/tiled/dark, /area/security/hallway) "pQh" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate/plastic, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "pQv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -22257,8 +23987,15 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) +"pRN" = ( +/obj/machinery/light/small, +/obj/item/faketvcamera, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "pRW" = ( /turf/space/basic, /area/space) @@ -22270,7 +24007,7 @@ dir = 4 }, /obj/machinery/fire_alarm/east_mount, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "pSx" = ( /obj/structure/closet/secure_closet/security, @@ -22332,6 +24069,14 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) +"pUj" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "pUu" = ( /obj/machinery/light{ dir = 4 @@ -22362,19 +24107,6 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/bar) -"pVz" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/structure/cable/green{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) "pWD" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, @@ -22392,6 +24124,11 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"pWS" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "pXn" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -22402,11 +24139,17 @@ /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "pXt" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, /obj/machinery/light/small{ dir = 1 }, /obj/structure/catwalk, -/obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/bar/lower) "pXE" = ( @@ -22455,19 +24198,36 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "pZg" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/borderfloorblack{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/effect/floor_decal/corner/navblue/border{ +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"pZR" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/tiled, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/foyer) "qaT" = ( /obj/structure/cable/green{ @@ -22496,6 +24256,13 @@ /obj/machinery/vending/cigarette, /turf/simulated/floor/wood, /area/security/lobby) +"qbG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "qbQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -22636,6 +24403,7 @@ icon_state = "0-2" }, /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) "qdR" = ( @@ -22650,17 +24418,30 @@ /turf/simulated/floor/plating, /area/maintenance/cargo) "qek" = ( +/obj/machinery/power/apc/north_mount, /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/quartermaster/cargo_shelter_dock) "qeD" = ( /obj/machinery/power/port_gen/pacman/mrs{ anchored = 1 @@ -22672,6 +24453,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/security) "qeX" = ( @@ -22720,6 +24502,22 @@ /obj/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) +"qia" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) +"qiz" = ( +/obj/structure/table/borosilicate, +/obj/machinery/floor_light/changing/prebuilt{ + on = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/storage) "qjv" = ( /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{ @@ -22742,7 +24540,7 @@ icon_state = "4-8" }, /obj/effect/floor_decal/spline/fancy/wood{ - dir = 8 + dir = 9 }, /turf/simulated/floor/wood, /area/security/lobby) @@ -22771,8 +24569,28 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "qlg" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/stamp/cargo{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/stamp/denied{ + pixel_x = -6; + pixel_y = -1 + }, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) +"qlx" = ( /turf/simulated/wall/prepainted/cargo, -/area/quartermaster/foyer) +/area/quartermaster/delivery) "qlP" = ( /obj/machinery/fitness/heavy/lifter, /obj/effect/floor_decal/corner_steel_grid{ @@ -22790,9 +24608,8 @@ /turf/simulated/floor/tiled/steel, /area/shuttle/belter) "qmi" = ( -/obj/machinery/light/small{ - dir = 1 - }, +/obj/structure/table/woodentable, +/obj/machinery/light/small, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar/lounge) "qmA" = ( @@ -22807,8 +24624,11 @@ /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) "qmQ" = ( -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/quartermaster/warehouse) "qmV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -22818,19 +24638,9 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) "qmY" = ( -/obj/machinery/status_display/supply_display{ - pixel_y = 32 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 - }, -/obj/machinery/camera/network/cargo, -/obj/machinery/suit_storage_unit/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "qmZ" = ( /obj/item/stool/padded, /obj/landmark/spawnpoint/job/entertainer, @@ -22840,7 +24650,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/fire_alarm/north_mount, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3fwdhall) @@ -22931,22 +24740,15 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/bedrooms) "qoU" = ( -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/structure/table/gamblingtable, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/catwalk, -/obj/machinery/door/airlock/maintenance, -/turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "qoW" = ( /obj/structure/table/woodentable, /obj/machinery/microwave, @@ -22970,24 +24772,13 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "qpd" = ( -/obj/machinery/camera/network/civilian{ - dir = 8 - }, -/obj/machinery/newscaster{ - pixel_x = 30 - }, -/obj/structure/flora/pottedplant/fern, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/obj/structure/disposalpipe/segment, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/endeavour/hallway/d3aftmaint) "qpi" = ( -/obj/structure/bed/chair/comfy/beige{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "qpE" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, @@ -23085,35 +24876,12 @@ }, /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) -"qup" = ( -/obj/machinery/door/airlock/maintenance, -/obj/item/barrier_tape_segment/engineering, -/obj/map_helper/network_builder/power_cable/green/auto, -/turf/simulated/floor/tiled/techmaint, -/area/maintenance/bar/catwalk) "quZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/holopad, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) -"qvo" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Airlock"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/office) "qvz" = ( /obj/item/stool/padded, /obj/effect/floor_decal/spline/fancy/wood{ @@ -23157,10 +24925,6 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "qwg" = ( -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-2" - }, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -23175,14 +24939,23 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) +"qwH" = ( +/obj/item/gun/energy/civtas, +/obj/item/clothing/gloves/white, +/obj/item/clothing/suit/chef, +/obj/item/clothing/shoes/dress/white, +/obj/item/clothing/under/pants/white, +/obj/structure/closet, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "qwK" = ( -/obj/machinery/holopad, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "qwY" = ( /obj/structure/table/woodentable, @@ -23237,7 +25010,7 @@ "qyf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "qyF" = ( /obj/structure/cable/green{ @@ -23250,45 +25023,22 @@ /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) "qzI" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 1 +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 - }, -/obj/machinery/camera/network/cargo, -/obj/item/clothing/accessory/permit/gun/planetside, -/obj/item/clothing/accessory/permit/gun/planetside, -/obj/item/clothing/accessory/permit/gun/planetside, -/obj/item/clothing/accessory/permit/gun/planetside, -/obj/structure/table/reinforced, -/obj/machinery/door/window/southright{ - req_one_access = list(48) - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/gun/energy/kinetic_accelerator, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/ore_box, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "qzO" = ( /obj/structure/table/woodentable, /obj/machinery/microwave, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_5) "qAh" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/structure/closet/firecloset/full/double, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "qAl" = ( /obj/machinery/conveyor{ dir = 4; @@ -23348,9 +25098,16 @@ /obj/structure/disposalpipe/junction{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"qBU" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/structure/bed/chair/sofa/black{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "qCe" = ( /obj/spawner/window/low_wall/full/firelocks, /turf/simulated/floor/plating, @@ -23368,18 +25125,8 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) "qCs" = ( -/obj/machinery/door/blast/regular/open{ - dir = 4; - id = "DRAMATIC"; - name = "Dramatic Blast Door" - }, -/obj/machinery/door/blast/shutters{ - id = "Druma"; - name = "Entertainment Shutters" - }, -/obj/spawner/window/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/tether/surfacebase/entertainment) +/turf/simulated/wall/prepainted/civilian, +/area/crew_quarters/barrestroom) "qCM" = ( /obj/structure/table/rack/shelf/steel, /obj/machinery/camera/network/security, @@ -23393,34 +25140,19 @@ /turf/simulated/floor/tiled, /area/security/lobby) "qDe" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 +/obj/machinery/door/airlock{ + id_tag = "dormx"; + name = "Maintenance Access" }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/plating, +/area/maintenance/cargo) "qDH" = ( /turf/simulated/wall/r_wall, /area/space) "qDS" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/lower/trash_pit) +/obj/item/banner/cargo, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/storage) "qEf" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/sleep/Dorm_2) @@ -23445,6 +25177,16 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) +"qGu" = ( +/obj/structure/closet/emcloset, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "qGy" = ( /obj/structure/cable{ icon_state = "4-8" @@ -23481,6 +25223,13 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/barrestroom) +"qHt" = ( +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "qHy" = ( /obj/structure/table/steel, /obj/item/storage/firstaid/regular, @@ -23508,18 +25257,11 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) -"qIo" = ( -/obj/machinery/vending/fitness, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) "qIr" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/light, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "qIx" = ( /obj/structure/cable/yellow{ @@ -23571,14 +25313,11 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "qJB" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/turf/simulated/wall/prepainted/cargo, +/area/endeavour/hallway/d3aftmaint) "qJM" = ( /turf/simulated/wall/r_wall/prepainted, /area/endeavour/hallway/d3fwdhall) @@ -23589,28 +25328,20 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "qKQ" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, -/area/endeavour/surfacebase/mining_main/refinery) -"qLx" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Storage"; - req_one_access = null +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ + id = "qm_office" }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/qm) "qLB" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/cable/green{ icon_state = "1-2" }, /obj/structure/cable/green, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "qLH" = ( @@ -23648,13 +25379,10 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "qMz" = ( -/obj/structure/closet/secure_closet/quartermaster, -/obj/item/clothing/accessory/poncho/roles/cloak/qm, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/machinery/suit_storage_unit/mining, +/obj/effect/floor_decal/corner/brown/diagonal, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "qMN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -23675,33 +25403,20 @@ /turf/simulated/floor/tiled/dark, /area/prison/cell_block) "qMP" = ( -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 - }, -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) -"qNE" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) -"qNM" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/camera/network/civilian{ dir = 8 }, +/obj/machinery/vending/cola, /turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/area/crew_quarters/recreation_area) +"qNM" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/belterdock/refinery) "qOp" = ( /obj/structure/table/reinforced, /obj/item/mass_spectrometer/adv, @@ -23726,11 +25441,12 @@ /turf/simulated/floor/tiled, /area/crew_quarters/recreation_area) "qPi" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/structure/lattice, +/obj/machinery/camera/network/outside{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/turf/simulated/floor/airless/ceiling, +/area/space) "qPw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -23739,13 +25455,6 @@ }, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) -"qPD" = ( -/obj/machinery/button/remote/blast_door{ - id = "cludge_hanger"; - pixel_y = 32 - }, -/turf/simulated/floor/reinforced/overhang, -/area/maintenance/bar/catwalk) "qQb" = ( /obj/structure/closet/firecloset, /obj/effect/floor_decal/industrial/outline/red, @@ -23758,6 +25467,9 @@ /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, /turf/simulated/floor/wood, /area/security/lobby) "qQz" = ( @@ -23778,13 +25490,10 @@ /area/security/brig) "qQD" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/multi_tile/glass{ - name = "Crew Quarters" - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Crew Quarters" }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) @@ -23809,12 +25518,8 @@ /area/security/nuke_storage) "qSv" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate/science, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "qSx" = ( /obj/structure/shuttle/engine/heater{ dir = 4 @@ -23859,8 +25564,15 @@ name = "Security"; req_one_access = null }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) +"qVI" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "qVJ" = ( /obj/machinery/door/airlock/glass_external{ frequency = 1379; @@ -23877,13 +25589,13 @@ /turf/simulated/wall/r_wall/prepainted/engineering, /area/security/hallway) "qWd" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "2-4" }, -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) +/turf/simulated/floor/plating, +/area/maintenance/cargo) "qXh" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/light/small{ dir = 8 }, @@ -24000,6 +25712,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) "rbG" = ( @@ -24039,10 +25752,29 @@ /turf/simulated/floor/tiled, /area/security/range) "rdb" = ( -/obj/structure/dogbed, -/mob/living/simple_mob/animal/sif/fluffy, -/turf/simulated/floor/wood, +/obj/structure/filingcabinet{ + pixel_x = 11 + }, +/obj/machinery/keycard_auth{ + pixel_y = -28 + }, +/turf/simulated/floor/carpet/bcarpet, /area/quartermaster/qm) +"rdv" = ( +/obj/machinery/status_display/supply_display{ + mode = 99; + pixel_y = 32 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "rdY" = ( /obj/structure/window/basic{ dir = 1 @@ -24065,6 +25797,7 @@ /obj/map_helper/electrochromatic_linker{ id = "vicDetOffice" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/detectives_office) "rfb" = ( @@ -24155,22 +25888,32 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/prison/cell_block) +"rhF" = ( +/obj/machinery/light/small, +/obj/fiftyspawner/steel, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "rhG" = ( /obj/structure/bed/chair/comfy/blue{ dir = 8 }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_7) +"rjO" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "rjY" = ( -/obj/machinery/status_display/supply_display{ - mode = 99; - pixel_y = -32 +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 8 }, -/obj/effect/floor_decal/industrial/outline/red, -/obj/structure/disposalpipe/segment{ +/obj/effect/floor_decal/corner/brown/bordercorner{ dir = 8 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "rks" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -24181,6 +25924,12 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) +"rku" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "rkz" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 9 @@ -24207,6 +25956,14 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) +"rlm" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad"; + pixel_x = 11; + pixel_y = 21 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "rlr" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ @@ -24223,26 +25980,16 @@ /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) "rmb" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 5 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 5 - }, -/obj/item/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 26 - }, -/obj/machinery/light{ - dir = 1 +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/machinery/suit_storage_unit/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "rme" = ( -/obj/structure/table/woodentable, -/obj/machinery/recharger, +/obj/structure/bed/chair/comfy/beige{ + dir = 4 + }, /turf/simulated/floor/carpet/turcarpet, /area/crew_quarters/recreation_area) "rmU" = ( @@ -24290,6 +26037,15 @@ }, /turf/simulated/floor/tiled/dark, /area/janitor) +"rpH" = ( +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "rpK" = ( /turf/simulated/floor/wood, /area/maintenance/dormitory) @@ -24332,26 +26088,22 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) -"rra" = ( -/obj/vehicle/sealed/mecha/combat/fighter/cludge{ - dir = 4 - }, -/turf/simulated/floor/reinforced/overhang, -/area/maintenance/bar/catwalk) "rrf" = ( /obj/machinery/power/apc/south_mount, /obj/structure/cable/green, /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) "rrZ" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -31 +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 }, -/turf/simulated/floor/tiled, +/obj/machinery/conveyor{ + id = "QMLoad2" + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "rsb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -24508,20 +26260,17 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardamidhall) "rvC" = ( -/obj/structure/table/standard, -/obj/item/coin/silver, -/obj/item/coin/silver, -/obj/item/cartridge/quartermaster{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/cartridge/quartermaster{ - pixel_x = -4; - pixel_y = 7 +/obj/structure/cable/green{ + icon_state = "2-8" }, -/obj/item/cartridge/quartermaster, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) +"rvL" = ( +/obj/fiftyspawner/hardwood, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "rvT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -24548,11 +26297,17 @@ /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "rwh" = ( -/obj/structure/bed/chair{ +/obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/foyer) +/obj/machinery/atmospheric_field_generator/perma, +/obj/machinery/shield_diffuser, +/obj/machinery/door/blast/regular{ + name = "Salvager Launch Blast Door"; + id = "salvage_launch" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "rwx" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 10 @@ -24591,13 +26346,20 @@ /turf/simulated/wall/r_wall/prepainted/cargo, /area/space) "rxO" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate/medical, -/obj/machinery/camera/network/cargo{ - dir = 4 +/obj/structure/table/steel_reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window{ + dir = 1; + req_one_access = list(31) }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/quartermaster/office) +"ryd" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "ryu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -24697,6 +26459,10 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) +"rAn" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/maintenance/dormitory) "rAq" = ( /obj/machinery/atmospherics/component/unary/engine{ dir = 8 @@ -24705,17 +26471,26 @@ /area/shuttle/mining_ship/general) "rAG" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/structure/curtain/open/bed{ - name = "curtain" - }, +/obj/structure/curtain/open/black, /turf/simulated/floor/plating, /area/crew_quarters/bar/lounge) "rBG" = ( /turf/simulated/wall/prepainted, /area/maintenance/cargo) "rBZ" = ( -/turf/simulated/wall/r_wall/prepainted, -/area/crew_quarters/sleep/Dorm_11) +/obj/structure/bed/chair/comfy/brown, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/bordercorner{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"rCg" = ( +/obj/random/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "rCI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24791,11 +26566,12 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "rDV" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/obj/structure/bed/chair/comfy/brown{ + dir = 4 }, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +/obj/machinery/air_alarm/west_mount, +/turf/simulated/floor/wood, +/area/maintenance/cargo) "rEa" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -24825,7 +26601,7 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "rEk" = ( -/turf/simulated/wall/r_wall, +/turf/simulated/wall/r_wall/prepainted, /area/maintenance/bar/catwalk) "rEv" = ( /obj/structure/cable/green{ @@ -24853,11 +26629,8 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "rER" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "rEX" = ( /obj/machinery/holopad, /turf/simulated/floor/wood, @@ -24880,12 +26653,15 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/hanger) "rGw" = ( -/obj/structure/table/marble, -/obj/item/material/knife/butch, -/obj/item/material/kitchen/rollingpin, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/corner_oldtile/white/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/table/marble, +/obj/item/hand_labeler, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 5 + }, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "rHk" = ( @@ -24898,6 +26674,18 @@ }, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) +"rHI" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "rIA" = ( /obj/structure/table/rack, /turf/simulated/floor/plating, @@ -24917,13 +26705,26 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/bedrooms) +"rJy" = ( +/turf/simulated/floor/reinforced, +/area/quartermaster/warehouse) "rJC" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) +"rJH" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/bed/chair/sofa/brown/left{ + dir = 8 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/crew_quarters/bar/lounge) "rKm" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/red/border, @@ -24932,6 +26733,25 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"rLo" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "rLt" = ( /obj/structure/closet/secure_closet/brig{ id = "Cell 2"; @@ -24987,17 +26807,26 @@ /obj/machinery/holopad, /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) +"rMY" = ( +/obj/structure/table/fancyblack, +/obj/item/kit/paint/ripley/arnold, +/obj/item/kit/paint/ripley/flames_red, +/obj/item/kit/paint/ripley/flames_blue, +/obj/item/kit/paint/ripley/dreadnought, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "rNH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "rOn" = ( +/obj/structure/catwalk, /obj/structure/cable/green{ - icon_state = "1-4" + icon_state = "2-8" }, -/turf/simulated/floor/reinforced, -/area/quartermaster/miningdock) +/turf/simulated/floor/plating, +/area/maintenance/cargo) "rOs" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -25046,6 +26875,24 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"rOM" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 8 + }, +/obj/structure/poster/preset/baystation/bay_58{ + pixel_x = -31 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "rOR" = ( /obj/machinery/power/apc/north_mount, /obj/structure/cable{ @@ -25057,12 +26904,11 @@ /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) "rOW" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/door/firedoor{ - dir = 8 +/obj/machinery/camera/network/civilian{ + dir = 4 }, -/turf/simulated/floor/plating, -/area/maintenance/bar/catwalk) +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) "rPa" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -25076,8 +26922,9 @@ /turf/simulated/floor/tiled/old_cargo/gray, /area/security/security_processing) "rPE" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, -/area/maintenance/bar/catwalk) +/obj/machinery/vending/sovietsoda, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "rPF" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -25103,14 +26950,15 @@ /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) "rQs" = ( -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/obj/machinery/fire_alarm/south_mount{ - pixel_y = -24 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "rQE" = ( /obj/structure/table/woodentable, /obj/item/tape_recorder{ @@ -25181,6 +27029,12 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_3) +"rSZ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/endeavour/hallway/d3aftmaint) "rTm" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -25202,14 +27056,10 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/barrestroom) "rTD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/item/stool/padded, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "rTM" = ( /obj/machinery/light/small, /turf/simulated/floor/tiled/white, @@ -25284,35 +27134,57 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "rXa" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/obj/machinery/status_display/supply_display{ + mode = 99; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "rXe" = ( /turf/simulated/wall/prepainted, /area/maintenance/substation/cargo) "rXl" = ( -/obj/machinery/power/breakerbox{ +/obj/machinery/power/breakerbox/activated{ RCon_tag = "MAIN - DECK 3 AFT" }, /turf/simulated/floor/plating, /area/maintenance/substation/cargo) +"rXr" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "rYo" = ( -/obj/structure/sign/directions/evac{ - dir = 8 +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 }, -/turf/simulated/wall/prepainted/civilian, -/area/crew_quarters/kitchen) +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/obj/item/paicard, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "rYq" = ( -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /obj/structure/cable/green{ - icon_state = "1-8" + icon_state = "4-8" }, /turf/simulated/floor/reinforced, /area/quartermaster/miningdock) @@ -25351,15 +27223,12 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "rZY" = ( -/obj/machinery/mineral/equipment_vendor, -/obj/effect/floor_decal/borderfloor{ - dir = 9 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 9 +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "sak" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/cable/green{ @@ -25368,12 +27237,13 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "saz" = ( -/obj/structure/table/marble, /obj/effect/floor_decal/corner_oldtile/white/diagonal, -/turf/simulated/floor/tiled, +/obj/machinery/appliance/mixer/cereal, +/turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "saB" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ @@ -25385,6 +27255,9 @@ /obj/effect/floor_decal/corner/red/border{ dir = 8 }, +/obj/machinery/camera/network/security{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/security/hallway) "saE" = ( @@ -25427,18 +27300,23 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "sbx" = ( -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/landmark/spawnpoint/job/shaft_miner, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "scb" = ( /obj/structure/table/woodentable, /turf/simulated/floor/wood, @@ -25477,8 +27355,12 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "scZ" = ( -/turf/simulated/wall/prepainted/cargo, -/area/endeavour/surfacebase/mining_main/storage) +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "see" = ( /obj/machinery/computer/timeclock/premade/south, /obj/structure/cable{ @@ -25497,9 +27379,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardamidhall) "seB" = ( -/obj/structure/bed/chair/comfy/beige{ - dir = 8 +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 }, +/obj/structure/bed/chair/sofa/brown/corner, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar/lounge) "seM" = ( @@ -25550,18 +27433,8 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/security/lobby) "shF" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 4 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = 25; - pixel_y = 7 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/storage) "shG" = ( /obj/machinery/holopad, /obj/structure/cable/green{ @@ -25579,8 +27452,18 @@ /turf/simulated/floor/carpet/sblucarpet, /area/crew_quarters/sleep/Dorm_12) "shT" = ( -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "shW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -25610,6 +27493,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) +"sij" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "sil" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 @@ -25664,6 +27551,18 @@ }, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) +"sjO" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "sky" = ( /obj/structure/table/woodentable, /obj/item/stamp/hos, @@ -25681,7 +27580,7 @@ /obj/machinery/air_alarm{ pixel_y = 22 }, -/obj/machinery/vending/loadout/costume, +/obj/machinery/vending/loadout/gadget, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "slv" = ( @@ -25748,10 +27647,6 @@ }, /turf/simulated/floor/tiled, /area/security/hanger) -"sms" = ( -/obj/structure/closet/wardrobe/black, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) "smC" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -25813,8 +27708,24 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/map_helper/access_helper/airlock/station/supply/maintenance, /turf/simulated/floor/plating, /area/crew_quarters/recreation_area) +"soE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "soV" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -25830,9 +27741,6 @@ /obj/machinery/air_alarm{ pixel_y = 22 }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 8 - }, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -25917,7 +27825,7 @@ /obj/effect/floor_decal/corner/navgold/border{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "ssY" = ( /obj/machinery/light/small{ @@ -25952,7 +27860,7 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/spawner/window/reinforced/full, +/obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/maintenance/substation/security) "suh" = ( @@ -25982,7 +27890,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "svs" = ( /obj/machinery/light/small{ @@ -26156,11 +28064,25 @@ /area/endeavour/hallway/d3starboardamidhall) "sxc" = ( /obj/machinery/conveyor{ - dir = 9; + dir = 6; id = "mining_interior" }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/plasticflaps/mining, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) +"sxo" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/dormitory) "sxq" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -26193,6 +28115,16 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) +"sxY" = ( +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" + }, +/obj/structure/closet/crate, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/tank/oxygen, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "syD" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/navblue/border, @@ -26220,20 +28152,11 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "szw" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/foyer) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "sAp" = ( -/obj/machinery/power/apc/north_mount, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/structure/catwalk, +/obj/machinery/air_alarm/north_mount, /turf/simulated/floor/plating, /area/maintenance/bar/catwalk) "sAz" = ( @@ -26275,57 +28198,44 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "sBr" = ( -/obj/machinery/air_alarm{ - dir = 4; - pixel_x = -22 +/obj/machinery/mech_recharger, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 }, -/obj/machinery/computer/roguezones{ - dir = 4 +/obj/machinery/air_alarm/west_mount, +/turf/simulated/floor/tiled/steel_grid, +/area/quartermaster/belterdock) +"sCn" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) -"sCx" = ( -/turf/space/basic, -/area/security/range) -"sDb" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/mob/living/bot/cleanbot/roomba{ + name = "Whirling Dervish" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) +"sDb" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "sDc" = ( -/obj/machinery/light_switch{ - pixel_x = 25; - pixel_y = 7 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 4 +/obj/structure/table/wooden_reinforced, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/obj/item/storage/box/lights/mixed{ + pixel_x = 2; + pixel_y = 3 }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 4 +/obj/item/storage/box/lights/mixed{ + pixel_x = -4; + pixel_y = 3 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/wood, /area/quartermaster/office) "sDq" = ( /obj/structure/stairs/spawner/east, /turf/simulated/floor/plating, /area/maintenance/bar/lower) -"sDX" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/air_alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) "sEi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -26333,14 +28243,11 @@ /turf/simulated/floor/tiled/dark, /area/security/interrogation) "sEz" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 4 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "2-8" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "sEE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -26350,6 +28257,21 @@ }, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/kitchen) +"sEO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3fwdhall) "sFb" = ( /obj/effect/floor_decal/corner/blue{ dir = 6 @@ -26367,29 +28289,57 @@ /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) "sFM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled/monotile, -/area/security/lobby) +/obj/map_helper/access_helper/airlock/station/security/general, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "security_lockdown"; + name = "Security Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + id_tag = "BrigFoyer"; + name = "Security"; + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/security/hallway) "sFQ" = ( /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/water/deep/indoors, /area/crew_quarters/sleep/bedrooms) -"sFX" = ( -/obj/structure/cable/green{ - icon_state = "2-8" +"sFW" = ( +/obj/structure/table/wooden_reinforced, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -1; + pixel_y = 2 }, +/turf/simulated/floor/wood, +/area/quartermaster/office) +"sFX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/monotile, +/area/endeavour/hallway/d3aftmaint) "sFZ" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/random/cutout, @@ -26419,6 +28369,12 @@ }, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) +"sGw" = ( +/obj/structure/table, +/obj/random/tetheraid, +/obj/random/maintenance/security, +/turf/simulated/floor/wood, +/area/endeavour/hallway/d3aftmaint) "sGz" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 @@ -26426,14 +28382,17 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "sGH" = ( -/obj/structure/ore_box, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/status_display/supply_display{ - mode = 99; - pixel_y = -32 +/obj/machinery/conveyor_switch/oneway{ + id = "mining_interior"; + name = "refining conveyor"; + pixel_y = 2; + pixel_x = -11 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "sHr" = ( /obj/machinery/light{ dir = 1 @@ -26458,6 +28417,16 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallwayaux) +"sIY" = ( +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" + }, +/obj/structure/closet/crate/large, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "sJu" = ( /obj/structure/lattice, /turf/space, @@ -26482,6 +28451,7 @@ /area/endeavour/hallway/d3starboardafthall) "sKL" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, /turf/simulated/floor/tiled/steel/airless, /area/shuttle/mining_ship/general) "sKV" = ( @@ -26528,12 +28498,9 @@ /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) "sMN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) +/obj/structure/salvageable/computer, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "sNh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -26553,26 +28520,31 @@ }, /obj/structure/railing, /obj/effect/floor_decal/rust, +/mob/living/bot/cleanbot/roomba{ + name = "Fabulous Frisbee" + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "sNC" = ( -/obj/machinery/computer/security/telescreen{ - pixel_x = 32 - }, /obj/machinery/chemical_dispenser/catering/bar_soft{ pixel_y = 8 }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "sNE" = ( -/obj/landmark/spawnpoint/job/chef, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) +"sOt" = ( +/obj/structure/window/reinforced, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "sOD" = ( /obj/item/stool/padded, /obj/effect/floor_decal/spline/fancy/wood{ @@ -26584,6 +28556,19 @@ /obj/machinery/door/airlock, /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) +"sPA" = ( +/obj/machinery/light{ + dir = 1; + pixel_y = 20 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "sQO" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -26611,31 +28596,16 @@ }, /turf/simulated/floor/tiled, /area/security/security_lockerroom) -"sRJ" = ( -/obj/structure/closet/secure_closet/freezer/meat{ - anchored = 1 - }, -/turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen) "sSl" = ( -/obj/machinery/status_display/supply_display{ - mode = 99; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 1 +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 1 +/obj/effect/floor_decal/corner/brown/border{ + dir = 6 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/fire_alarm/east_mount, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "sSx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26665,20 +28635,44 @@ /turf/space, /area/space) "sTs" = ( -/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/junction, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"sTR" = ( /obj/structure/cable/green{ icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "sUL" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad2" +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/effect/floor_decal/industrial/warning{ - dir = 6 +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "sUQ" = ( /obj/structure/cable/green{ @@ -26704,6 +28698,18 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"sVr" = ( +/obj/machinery/light{ + dir = 1; + pixel_y = 20 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/table/wooden_reinforced, +/obj/machinery/microwave, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "sVD" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -26716,6 +28722,9 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"sVH" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/crew_quarters/sleep/Dorm_13) "sWa" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -26737,25 +28746,17 @@ /turf/simulated/floor/tiled/old_tile/gray, /area/security/range) "sWe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/universal{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Prep Room"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/closet/crate/large, +/obj/structure/closet/crate/large, +/obj/item/pickaxe, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/pickaxe, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "sWg" = ( /obj/effect/floor_decal/corner_oldtile/white/diagonal, /obj/machinery/light_switch{ @@ -26787,33 +28788,31 @@ /turf/simulated/floor/tiled, /area/security/range) "sWJ" = ( -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/monodark, /area/prison/cell_block) -"sXC" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) -"sXK" = ( -/obj/machinery/light{ - dir = 1 - }, +"sWT" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/bordercorner2{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d3portforhall) +"sXC" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/south_mount, +/turf/simulated/floor/wood, +/area/quartermaster/office) +"sXK" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) "sYp" = ( @@ -26832,6 +28831,7 @@ icon_state = "1-4" }, /obj/structure/cable/green, +/obj/effect/paint/darkred, /turf/simulated/floor, /area/security/hallway) "sYK" = ( @@ -26874,17 +28874,23 @@ /obj/machinery/light{ dir = 4 }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "sZQ" = ( -/obj/effect/floor_decal/borderfloorblack/corner{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ dir = 1 }, -/obj/effect/floor_decal/corner/navblue/bordercorner{ +/obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 1 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) @@ -26933,37 +28939,38 @@ /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "tbF" = ( -/obj/structure/cable/green{ - icon_state = "1-4" +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) -"tbK" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 10 }, -/turf/simulated/floor/tiled, +/obj/machinery/fire_alarm/west_mount, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) -"tbT" = ( -/obj/machinery/holopad, -/turf/simulated/floor/tiled, +"tbK" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/warehouse) -"tcb" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +"tbT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"tcb" = ( +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "tcl" = ( /obj/structure/closet/wardrobe, /obj/item/toy/plushie/borgplushie/pupdozer, @@ -26971,29 +28978,37 @@ /obj/machinery/power/apc/south_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_10) -"tdf" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +"tdj" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "tdk" = ( -/obj/structure/closet/secure_closet/miner, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/brown/border, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "tdr" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate, -/obj/machinery/camera/network/cargo, -/turf/simulated/floor/tiled, +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/supply/department, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) +"tds" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining, +/obj/map_helper/access_helper/airlock/station/supply/mining, +/turf/simulated/floor/plating, /area/quartermaster/storage) "tdG" = ( /turf/simulated/wall/r_wall/prepainted/cargo, @@ -27004,6 +29019,22 @@ }, /turf/simulated/floor/tiled, /area/security/hanger) +"teD" = ( +/obj/effect/floor_decal/techfloor{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/hole{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) +"teG" = ( +/obj/structure/sign/directions/cryo{ + dir = 8; + pixel_y = 10 + }, +/turf/simulated/wall/prepainted, +/area/crew_quarters/sleep/cryo) "tfn" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/security/detectives_office) @@ -27037,9 +29068,16 @@ /turf/simulated/floor/tiled, /area/security/hanger) "tgP" = ( -/obj/structure/dispenser/oxygen, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/table/wooden_reinforced, +/obj/machinery/chemical_dispenser/catering/bar_coffee, +/obj/machinery/air_alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "thy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -27086,6 +29124,11 @@ }, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) +"til" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/suit_cycler/mining, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "tix" = ( /obj/structure/filingcabinet/security{ name = "Security Records" @@ -27158,24 +29201,25 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) "tkJ" = ( -/obj/structure/bed/chair/comfy/beige{ - dir = 8 - }, /obj/effect/floor_decal/spline/plain{ dir = 4 }, +/obj/structure/bed/chair/comfy/beige{ + dir = 8 + }, /turf/simulated/floor/carpet/turcarpet, /area/crew_quarters/recreation_area) "tkT" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 4 }, -/obj/structure/closet, -/obj/item/storage/backpack/dufflebag, -/obj/machinery/power/apc/south_mount, -/obj/structure/cable/green, -/turf/simulated/floor/wood, -/area/quartermaster/qm) +/obj/item/stack/cable_coil{ + pixel_y = -5 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "tle" = ( /obj/effect/floor_decal/spline/fancy/wood, /obj/structure/table/woodentable, @@ -27201,6 +29245,20 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) +"tmi" = ( +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = 4 + }, +/turf/simulated/floor/wood, +/area/maintenance/cargo) +"tmj" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "tne" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -27227,6 +29285,9 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/bar/lower) @@ -27263,6 +29324,12 @@ }, /turf/simulated/floor/airless, /area/space) +"toS" = ( +/obj/machinery/floor_light/changing/prebuilt{ + on = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/storage) "tpm" = ( /obj/machinery/camera/network/civilian, /obj/effect/floor_decal/borderfloorblack{ @@ -27324,16 +29391,33 @@ /turf/simulated/shuttle/plating/airless/carry, /area/shuttle/belter) "tqv" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, -/turf/simulated/floor/plating, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "tqX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/wood, /area/crew_quarters/bar) +"trd" = ( +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/brown/bordercorner, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "trg" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -27401,6 +29485,11 @@ }, /turf/simulated/floor/wood, /area/tether/surfacebase/entertainment) +"tvj" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/briefcase/inflatable, +/turf/simulated/floor/plating, +/area/maintenance/dormitory) "tvF" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -27414,63 +29503,43 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "tvT" = ( -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/closet/crate/science, +/obj/machinery/door/firedoor{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "twA" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 9 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 9 - }, -/obj/structure/table/standard, -/obj/item/paper_bin, -/obj/machinery/power/apc/north_mount, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 10 - }, -/obj/effect/floor_decal/corner/brown/bordercorner2{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/machinery/camera/network/cargo{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/cable/green{ - icon_state = "0-4" +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/machinery/light{ +/obj/machinery/door/firedoor{ dir = 8 }, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) +"twO" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "twR" = ( /turf/simulated/wall/r_wall/prepainted/cargo, /area/quartermaster/qm) "txc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Bay"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "txu" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -27506,6 +29575,26 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) +"tyl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/grass, +/area/quartermaster/foyer) "tzm" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -27540,24 +29629,40 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "tBn" = ( -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/foyer) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "tBs" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/structure/curtain/black, +/obj/structure/curtain/open/black, /turf/simulated/floor/plating, /area/crew_quarters/game_room) -"tBN" = ( -/obj/item/radio/beacon, -/obj/structure/cable/green{ - icon_state = "1-8" +"tBG" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/foyer) +/turf/simulated/floor/plating, +/area/maintenance/cargo) +"tBN" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/west_mount, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "tBY" = ( /obj/structure/sign/directions/cargo{ - dir = 1; + dir = 4; pixel_y = 32 }, /obj/structure/sign/directions/cryo{ @@ -27574,12 +29679,6 @@ /obj/effect/floor_decal/corner/navblue/border{ dir = 1 }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/bordercorner2{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -27643,16 +29742,26 @@ }, /turf/simulated/floor/tiled/old_cargo/white, /area/security/forensics) -"tES" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 1 +"tEQ" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "cargo_line_shutter"; + name = "Cargo Line shutter"; + opacity = 0 }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/plating, +/area/quartermaster/delivery) +"tES" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/machinery/suit_storage_unit/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/plating, +/area/maintenance/cargo) "tGi" = ( /obj/structure/table/woodentable, /obj/item/handcuffs/legcuffs/fuzzy, @@ -27666,9 +29775,10 @@ /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "tGp" = ( -/obj/structure/table/reinforced, -/turf/simulated/floor/wood, -/area/endeavour/surfacebase/mining_main/break_room) +/obj/structure/table/hardwoodtable, +/obj/item/flashlight/lamp/green, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "tGr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -27686,9 +29796,6 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "tGS" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3fwdhall) "tHm" = ( @@ -27697,12 +29804,6 @@ }, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) -"tHq" = ( -/obj/machinery/lathe/autolathe, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) "tHC" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -27714,7 +29815,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 4 }, -/obj/machinery/vending/fitness, +/obj/machinery/vending/snack, /turf/simulated/floor/tiled/dark, /area/crew_quarters/recreation_area) "tHM" = ( @@ -27742,29 +29843,20 @@ /obj/machinery/door/firedoor{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/catwalk, /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/map_helper/access_helper/airlock/station/maintenance, /turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/area/crew_quarters/barrestroom) "tIr" = ( /obj/machinery/light{ dir = 4 }, -/obj/machinery/power/apc/south_mount, /obj/structure/cable/green{ - icon_state = "0-8" + icon_state = "1-8" }, /turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_three) @@ -27835,6 +29927,21 @@ /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/airless, /area/shuttle/mining_ship/general) +"tMd" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/sign/directions/cryo{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "tMx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -27914,6 +30021,9 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) +"tOv" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/belterdock/gear) "tOB" = ( /turf/simulated/wall/r_wall/prepainted/civilian, /area/endeavour/surfacebase/bar_backroom) @@ -27936,12 +30046,9 @@ /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) -"tQn" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) "tRb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28107,15 +30214,26 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) -"tVX" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +"tVF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 8 + dir = 4 }, -/turf/simulated/floor/tiled, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) +"tVX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/brown/bordercorner, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "tWm" = ( /obj/structure/closet/l3closet/security, /obj/machinery/air_alarm{ @@ -28139,22 +30257,27 @@ /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "tXh" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 }, -/obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar/catwalk) +/area/endeavour/hallway/d3aftmaint) "tXo" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3afthall) "tXt" = ( /obj/machinery/fire_alarm/north_mount, -/obj/landmark{ - name = "blobstart" +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "tXY" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -28215,6 +30338,14 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) +"tZV" = ( +/obj/structure/table/steel, +/obj/random/cigarettes, +/obj/random/maintenance/security, +/obj/random/coin, +/obj/item/orion_ship, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "tZY" = ( /obj/machinery/computer/security{ dir = 4 @@ -28246,18 +30377,20 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "uaL" = ( -/obj/structure/table/marble, -/obj/machinery/reagentgrinder, /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 5 - }, -/obj/item/reagent_containers/dropper, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/machinery/appliance/mixer/candy, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) +"ubc" = ( +/obj/machinery/air_alarm/north_mount, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "ubg" = ( /obj/structure/closet/walllocker{ pixel_y = 32 @@ -28271,17 +30404,10 @@ /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) "ubA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/effect/floor_decal/industrial/outline/red{ + color = "#AF0000" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/monodark, /area/quartermaster/warehouse) "ubN" = ( /obj/effect/floor_decal/spline/fancy/wood{ @@ -28315,9 +30441,6 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "udJ" = ( -/obj/structure/railing{ - dir = 1 - }, /obj/structure/railing{ dir = 8 }, @@ -28358,6 +30481,21 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) +"ufF" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "ufL" = ( /obj/structure/bed/chair/shuttle, /turf/simulated/floor/tiled/steel, @@ -28378,7 +30516,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) "ugs" = ( -/obj/machinery/light/small, +/obj/structure/bed/chair/sofa/brown/right, +/obj/machinery/light/small{ + dir = 1 + }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar/lounge) "ugt" = ( @@ -28431,22 +30572,12 @@ }, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) -"uhj" = ( -/obj/effect/decal/mecha_wreckage/cludge{ - dir = 1 - }, -/turf/simulated/floor/reinforced/overhang, -/area/maintenance/bar/catwalk) "uhv" = ( -/obj/structure/closet/secure_closet/miner, -/obj/effect/floor_decal/borderfloor{ - dir = 6 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 6 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "uhA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28466,12 +30597,10 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "uhE" = ( -/obj/effect/floor_decal/steeldecal/steel_decals5{ - dir = 8 - }, -/obj/landmark/spawnpoint/job/cargo_technician, -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/ore_box, +/turf/simulated/floor/reinforced, +/area/quartermaster/belterdock/refinery) "uhW" = ( /obj/item/bedsheet/purpledouble, /obj/structure/bed/double/padded, @@ -28510,23 +30639,24 @@ dir = 8 }, /obj/structure/disposalpipe/segment, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "uiJ" = ( -/obj/machinery/door/firedoor, -/obj/item/folder/white, -/obj/structure/table/reinforced, -/obj/machinery/door/window{ - dir = 8; - req_one_access = list(31) +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) +"uiK" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" }, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 4 +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "2-8" }, -/obj/item/pen, -/turf/simulated/floor/tiled/monotile, -/area/quartermaster/delivery) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "uiN" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -28541,6 +30671,9 @@ name = "Powernet Sensor - Deck 3 Amidships Subgrid"; name_tag = "Deck 3 Aft Subgrid" }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, /turf/simulated/floor/plating, /area/maintenance/substation/security) "ujb" = ( @@ -28560,6 +30693,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/cargo) "ujB" = ( @@ -28593,14 +30727,18 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "ukf" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d3portforhall) +/area/quartermaster/cargo_shelter_dock) "ukT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -28627,6 +30765,13 @@ }, /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) +"ulx" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/item/stool/padded{ + pixel_y = 13 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "ulH" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -28645,6 +30790,13 @@ /obj/structure/table/rack, /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) +"umo" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "umw" = ( /obj/effect/floor_decal/corner_techfloor_grid{ dir = 5 @@ -28660,36 +30812,37 @@ /turf/simulated/floor/tiled/dark, /area/security/armoury) "umx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/obj/machinery/door/airlock/glass/mining{ - name = "Magmatic Rift Leap Pad"; - req_one_access = null +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/item/stack/flag/yellow{ + pixel_x = 42; + pixel_y = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) -"umX" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/item/stack/flag/yellow{ + pixel_x = 42; + pixel_y = 2 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/machinery/disposal, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) +"umX" = ( +/obj/machinery/fire_alarm/east_mount, +/turf/simulated/floor/tiled/dark, +/area/endeavour/station/stairs_three) +"unb" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/effect/floor_decal/corner/navgold/border{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 }, /turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/area/endeavour/hallway/d3starboardforhall) "uny" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -28720,6 +30873,11 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) +"uor" = ( +/obj/item/gps, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "uoG" = ( /obj/structure/table/steel, /obj/item/storage/box/evidence{ @@ -28730,14 +30888,20 @@ /obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/old_cargo/gray, /area/security/evidence_storage) +"upe" = ( +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/turf/simulated/floor/tiled/dark, +/area/endeavour/station/stairs_three) "upo" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-8" }, -/obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "upw" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -28774,11 +30938,10 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "uqr" = ( -/obj/structure/bed/chair/office/dark, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/closet/emcloset, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "url" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor{ @@ -28898,6 +31061,17 @@ }, /turf/simulated/floor/tiled/monotile, /area/security/hallway) +"uuE" = ( +/obj/random/trash_pile, +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "uvh" = ( /obj/machinery/fire_alarm/east_mount, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -28966,15 +31140,6 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardafthall) -"uwI" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/fire_alarm/west_mount{ - pixel_x = -24 - }, -/turf/simulated/floor/carpet/blue, -/area/crew_quarters/sleep/Dorm_11) "uwR" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -28990,13 +31155,10 @@ /turf/simulated/floor/plating, /area/security/hallway) "uxX" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/structure/sign/directions/roomnum{ - dir = 4; - pixel_y = 24 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/obj/structure/window/reinforced, +/obj/landmark/spawnpoint/job/cargo_technician, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "uxZ" = ( /obj/structure/table/bench/steel, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -29041,6 +31203,17 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) +"uzS" = ( +/obj/machinery/recharge_station, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "uAl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -29071,12 +31244,16 @@ /turf/simulated/floor/carpet, /area/security/detectives_office) "uAU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/random/junk, +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) +"uAV" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/structure/catwalk, +/obj/random/trash_pile, /turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/area/endeavour/hallway/d3aftmaint) "uBK" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -29093,6 +31270,13 @@ "uBN" = ( /turf/simulated/floor/carpet, /area/security/detectives_office) +"uDB" = ( +/obj/machinery/light_switch{ + pixel_x = -27; + pixel_y = 5 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "uEp" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -29140,15 +31324,6 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "uGC" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/navblue/border{ - dir = 1 - }, -/obj/machinery/air_alarm{ - pixel_y = 22 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -29178,6 +31353,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) "uHj" = ( @@ -29221,27 +31397,21 @@ /turf/simulated/floor/carpet/turcarpet, /area/crew_quarters/recreation_area) "uIA" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/vending/cola{ - dir = 8 +/obj/structure/cable/green{ + icon_state = "2-4" }, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "uIG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/air_alarm{ - pixel_y = 22 - }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3fwdhall) @@ -29274,15 +31444,18 @@ /turf/simulated/floor, /area/security/brig) "uJr" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/turf/simulated/floor/wood, +/area/maintenance/cargo) "uJv" = ( /obj/machinery/holopad, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) +"uJx" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "uJM" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -29312,29 +31485,40 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardforhall) "uKk" = ( -/obj/structure/table/reinforced, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 7 +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 12 +/obj/map_helper/access_helper/airlock/station/supply/department, +/obj/structure/cable/green{ + icon_state = "4-8" }, -/obj/item/stamp/cargo, -/obj/item/stamp/denied{ - pixel_x = 7 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/wood, /area/quartermaster/office) "uKF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, /obj/structure/cable/green{ - icon_state = "4-8" + icon_state = "2-4" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "uKP" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -29407,9 +31591,25 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "uMs" = ( -/obj/machinery/light, -/turf/simulated/wall/prepainted, -/area/endeavour/station/stairs_three) +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/table/reinforced, +/obj/structure/flora/pottedplant/small{ + pixel_y = 11 + }, +/turf/simulated/floor/tiled, +/area/quartermaster/belterdock) "uMD" = ( /obj/structure/table/bench/steel, /obj/effect/floor_decal/borderfloorblack{ @@ -29455,11 +31655,20 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) -"uOI" = ( -/obj/machinery/door/airlock/civilian{ - name = "Reading Room 2" +"uNM" = ( +/obj/machinery/camera/network/cargo, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 }, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) +"uOI" = ( /obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Bar Lounge 2" + }, /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) "uOQ" = ( @@ -29475,9 +31684,17 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portamidhall) "uOU" = ( -/obj/structure/lattice, -/turf/simulated/floor/airless/ceiling, -/area/maintenance/cargo) +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "uPx" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29494,13 +31711,22 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/spawner/window/reinforced/full, +/obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/maintenance/substation/civilian) "uPC" = ( /obj/machinery/computer/arcade/battle, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"uPG" = ( +/obj/item/tool/crowbar/red, +/obj/structure/table/reinforced, +/obj/item/tool/screwdriver, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "uPY" = ( /obj/item/material/ashtray/bronze, /obj/structure/cable/green{ @@ -29528,6 +31754,21 @@ /obj/map_helper/access_helper/airlock/station/engineering/department, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3aftmaint) +"uRz" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/quartermaster/storage) +"uRN" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/obj/vehicle/sealed/mecha/combat/fighter/pinnace{ + dir = 1; + desc = "A cramped ship's boat, capable of atmospheric and space flight. Not capable of mounting traditional weapons. Capable of fitting one pilot and one passenger. Hastily scrawled along the portside cockpit entrance using big, blocky script (in what appears to be crayon?) is the name 'NLS LEGAL SALVAGE'."; + name = "\improper NLS Legal Salvage" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "uSv" = ( /obj/structure/table/woodentable, /obj/machinery/microwave, @@ -29541,9 +31782,7 @@ /obj/effect/floor_decal/corner/navblue/border, /obj/effect/floor_decal/borderfloorblack/corner2, /obj/effect/floor_decal/corner/navblue/bordercorner2, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) "uSC" = ( @@ -29572,19 +31811,11 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "uUl" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/airlock/glass/mining{ - name = "Mining Stroage"; - req_one_access = null - }, -/obj/map_helper/access_helper/airlock/station/supply/mining, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/uxstorage) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "uUx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -29623,6 +31854,13 @@ /obj/machinery/air_alarm/east_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/bedrooms) +"uVS" = ( +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" + }, +/obj/structure/closet/crate/engineering, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "uVT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -29653,15 +31891,17 @@ /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) "uWL" = ( -/obj/machinery/light_switch{ - pixel_x = 25 +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null }, -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/sheet_silo_loader{ - dir = 8 +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/machinery/door/firedoor, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "uXI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29790,12 +32030,12 @@ /turf/simulated/floor/plating, /area/crew_quarters/recreation_area) "vaA" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Cargo Lobby" +/obj/machinery/air_alarm{ + pixel_y = 22 }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "vaR" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; @@ -29804,9 +32044,13 @@ name = "EXTERNAL AIRLOCK" }, /obj/spawner/window/low_wall/reinforced/full/firelocks, -/obj/effect/paint_stripe/beastybrown, +/obj/effect/paint/beastybrown, /turf/simulated/floor/plating, /area/quartermaster/warehouse) +"vbg" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "vbj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -29825,6 +32069,12 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"vdN" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/belterdock) "vdT" = ( /obj/structure/cable{ icon_state = "2-8" @@ -29836,7 +32086,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/dark, /area/security/lobby) "vew" = ( /obj/structure/table/steel, @@ -29850,15 +32100,9 @@ /turf/simulated/floor/tiled/dark, /area/security/warden) "veW" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/foyer) +/obj/machinery/vending/fitness, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/cargo_shelter_dock) "vfa" = ( /turf/simulated/floor/carpet/purcarpet, /area/crew_quarters/sleep/Dorm_13) @@ -29871,16 +32115,19 @@ /turf/simulated/floor/tiled/dark, /area/maintenance/starboardsolar) "vfr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "1-2" }, -/obj/structure/cable/green, -/obj/machinery/power/apc/south_mount, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/obj/machinery/door/firedoor, -/turf/simulated/floor/tiled/dark, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) "vfK" = ( /obj/effect/floor_decal/borderfloorblack, @@ -30030,11 +32277,10 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "vjg" = ( -/obj/structure/bed/chair/comfy/beige{ - dir = 8 - }, -/turf/simulated/floor/carpet/sblucarpet, -/area/quartermaster/qm) +/obj/structure/lattice, +/obj/structure/grille, +/turf/simulated/floor/plating, +/area/space) "vjD" = ( /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, @@ -30062,7 +32308,13 @@ /area/security/hallway) "vkn" = ( /turf/simulated/wall/r_wall/prepainted/cargo, -/area/endeavour/surfacebase/mining_main/break_room) +/area/quartermaster/cargo_shelter_dock) +"vkt" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 3, Port Side" + }, +/turf/space/basic, +/area/space) "vkR" = ( /obj/structure/catwalk, /obj/machinery/light/small{ @@ -30096,6 +32348,13 @@ }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/bar) +"vlq" = ( +/obj/structure/closet/crate/solar, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/bar/catwalk) "vlu" = ( /obj/structure/window/reinforced{ dir = 4 @@ -30114,24 +32373,14 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/brig) "vlO" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/window/reinforced, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "vmT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -30155,6 +32404,16 @@ /obj/structure/table/rack/shelf/steel, /turf/simulated/floor/tiled/dark, /area/security/tactical) +"vng" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "vnn" = ( /turf/simulated/wall/r_wall/prepainted/security, /area/crew_quarters/heads/hos) @@ -30252,6 +32511,16 @@ }, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"voE" = ( +/obj/effect/floor_decal/techfloor{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor/hole{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "voJ" = ( /obj/structure/table/woodentable, /obj/machinery/recharger, @@ -30288,9 +32557,6 @@ /turf/simulated/floor/tiled, /area/crew_quarters/fitness) "vpW" = ( -/obj/structure/cable/green{ - icon_state = "2-8" - }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d3fwdhall) @@ -30395,12 +32661,11 @@ /turf/simulated/open, /area/endeavour/hallway/d3aftmaint) "vsY" = ( -/obj/machinery/computer/roguezones, -/obj/effect/floor_decal/industrial/warning/cee{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "vtP" = ( /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, @@ -30415,6 +32680,20 @@ "vvH" = ( /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) +"vvO" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 5 + }, +/obj/structure/table/steel_reinforced, +/obj/structure/flora/pottedplant/flower{ + pixel_x = 1; + pixel_y = 9 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "vvP" = ( /obj/structure/railing, /obj/effect/floor_decal/rust, @@ -30445,6 +32724,21 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) +"vwh" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/rack/shelf/steel, +/obj/random/toolbox, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) +"vwA" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "vwK" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -30479,15 +32773,17 @@ /obj/machinery/air_alarm{ pixel_y = 22 }, -/obj/machinery/vending/nifsoft_shop, +/obj/machinery/vending/loadout, /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "vxE" = ( -/obj/structure/cable/green{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/light{ + dir = 4 }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/turf/simulated/floor/carpet/bcarpet, +/area/quartermaster/qm) "vxL" = ( /obj/structure/closet/crate/secure, /obj/effect/floor_decal/industrial/outline/yellow, @@ -30504,6 +32800,9 @@ /obj/map_helper/access_helper/airlock/station/security/armory, /turf/simulated/floor/tiled/dark, /area/security/warden) +"vyv" = ( +/turf/simulated/floor/plating, +/area/quartermaster/cargo_shelter_dock) "vyR" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -30619,14 +32918,12 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "vAk" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 +/obj/effect/floor_decal/industrial/outline{ + color = "#D6DBDB" }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/warehouse) "vAp" = ( /obj/structure/window/basic{ dir = 1 @@ -30743,13 +33040,18 @@ /turf/simulated/floor/water/deep/indoors, /area/crew_quarters/sleep/bedrooms) "vCC" = ( -/obj/machinery/mineral/output, -/obj/machinery/conveyor{ - dir = 4; - id = "mining_interior" +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/corner/brown/border{ + dir = 6 + }, +/obj/structure/bed/chair/sofa/black/corner{ + dir = 8 + }, +/obj/machinery/fire_alarm/east_mount, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "vCG" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -30757,6 +33059,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portforhall) "vDg" = ( @@ -30767,14 +33076,15 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d3aftmaint) "vDo" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) +"vDG" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 3, Port Side" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/turf/space, +/area/space) "vDN" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/cable/green{ @@ -30837,6 +33147,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/armoury) "vEC" = ( @@ -30952,11 +33263,9 @@ }, /turf/simulated/floor/tiled/old_cargo/white, /area/security/forensics) -"vIe" = ( -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) "vIs" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/prison/cell_block) "vIC" = ( @@ -31025,11 +33334,22 @@ /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "vKr" = ( -/obj/machinery/light/small{ - dir = 1 +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"vKG" = ( +/obj/spawner/window/low_wall/reinforced/electrochromic/full/firelocks, +/obj/map_helper/electrochromatic_linker{ + id = "vicDetOffice" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/security/detectives_office) "vKH" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 @@ -31099,25 +33419,21 @@ }, /turf/simulated/floor/tiled/dark, /area/security/tactical) -"vMr" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/brown/border, -/obj/item/binoculars, -/obj/item/stack/flag/red, -/obj/item/binoculars{ - pixel_y = 6 +"vMB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/item/binoculars{ - pixel_y = 6 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, -/obj/item/binoculars{ - pixel_y = 6 +/obj/structure/cable/green{ + icon_state = "2-4" }, -/obj/item/stack/flag/yellow, -/obj/item/stack/flag/green, -/obj/structure/table/reinforced, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "vNb" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -31178,7 +33494,6 @@ /turf/simulated/floor/plating, /area/security/breakroom) "vNN" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, @@ -31186,6 +33501,12 @@ dir = 10 }, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/structure/table/marble, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 5 + }, +/obj/machinery/reagentgrinder, +/obj/item/reagent_containers/dropper, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "vOz" = ( @@ -31266,11 +33587,24 @@ /turf/simulated/wall/r_wall/prepainted/command, /area/security/nuke_storage) "vRv" = ( -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 8 + }, +/obj/machinery/air_alarm{ + dir = 4; + pixel_x = -23 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "vRH" = ( /obj/machinery/door/airlock{ name = "Custodial Closet" @@ -31284,6 +33618,9 @@ sortType = "Trash"; dir = 8 }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/bar/lower) @@ -31391,8 +33728,11 @@ /turf/simulated/floor/wood, /area/security/lobby) "vVA" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, -/area/endeavour/surfacebase/mining_main/uxstorage) +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "vVH" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -31435,6 +33775,11 @@ }, /turf/simulated/floor/tiled, /area/security/brig) +"vWO" = ( +/obj/effect/floor_decal/rust, +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3fwdmaint) "vWW" = ( /obj/machinery/camera/network/civilian{ dir = 1 @@ -31483,6 +33828,18 @@ /obj/structure/undies_wardrobe, /turf/simulated/floor/carpet/sblucarpet, /area/crew_quarters/sleep/Dorm_12) +"vXN" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "vYG" = ( /obj/structure/table/woodentable, /obj/item/storage/box/donkpockets, @@ -31513,9 +33870,36 @@ /obj/machinery/power/apc/north_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_7) +"vZr" = ( +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/machinery/camera/network/cargo{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) +"vZG" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/computer/timeclock/premade/north, +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area_hallway) "vZR" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, -/area/quartermaster/storage) +/obj/effect/floor_decal/steeldecal/steel_decals_central6{ + dir = 4 + }, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/beastybrown, +/turf/simulated/floor/airless/ceiling, +/area/quartermaster/warehouse) "wau" = ( /turf/simulated/floor/tiled/dark, /area/security/armoury) @@ -31530,12 +33914,15 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "waA" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 8 +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 }, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/structure/bed/chair/comfy/brown, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "wbb" = ( /obj/machinery/air_alarm{ dir = 8; @@ -31602,11 +33989,14 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "wcT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable/green{ + icon_state = "1-8" }, -/turf/simulated/floor/tiled/dark, -/area/vacant/vacant_shop) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "wdk" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -31645,15 +34035,16 @@ /turf/simulated/floor/tiled/monotile, /area/security/security_lockerroom) "wfZ" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/structure/disposalpipe/junction{ - dir = 8 +/obj/machinery/door/firedoor/glass, +/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, +/obj/machinery/door/airlock/glass/mining{ + name = "Cargo Airlock"; + req_one_access = null }, -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "wgN" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/conveyor{ @@ -31664,7 +34055,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/endeavour/hallway/d3aftmaint) "wiJ" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -31715,25 +34106,43 @@ /obj/structure/cable/green, /turf/simulated/floor/tiled/dark, /area/janitor) +"wjW" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/obj/structure/bed/chair/comfy/black, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "wkh" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/maintenance/dormitory) "wki" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 4 }, -/turf/simulated/floor/tiled, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "wku" = ( -/obj/machinery/light/small{ - dir = 1 +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/landmark/spawnpoint/job/shaft_miner, +/obj/item/stool/padded{ + pixel_y = 13 }, -/turf/simulated/floor/plating, -/area/maintenance/bar/catwalk) +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "wkw" = ( /obj/structure/table/marble, /obj/machinery/cash_register/civilian{ @@ -31743,22 +34152,17 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "wkI" = ( -/obj/item/storage/box/nifsofts_mining, -/obj/effect/floor_decal/borderfloor{ - dir = 8 +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 }, /obj/effect/floor_decal/corner/brown/border{ - dir = 8 - }, -/obj/machinery/camera/network/cargo{ dir = 4 }, -/obj/item/suit_cooling_unit, -/obj/item/suit_cooling_unit, -/obj/item/duct_tape_roll, -/obj/structure/table/reinforced, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/bed/chair/sofa/black/right{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "wkY" = ( /obj/machinery/door/airlock/maintenance/sec{ req_one_access = null @@ -31800,8 +34204,22 @@ id = "bar"; name = "Bar Shutters" }, +/obj/effect/paint/palebottlegreen, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"wlM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "wma" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -31819,15 +34237,11 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "wmU" = ( -/obj/machinery/fire_alarm/north_mount, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/air_alarm{ - pixel_y = 27 - }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "wns" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 @@ -31836,8 +34250,7 @@ /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) "wnA" = ( -/obj/structure/table/reinforced, -/turf/simulated/floor/carpet/sblucarpet, +/turf/simulated/floor/tiled/dark, /area/quartermaster/foyer) "woj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -31863,13 +34276,24 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_3) "woK" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/navblue/bordercorner2{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portamidhall) "wpe" = ( @@ -31884,6 +34308,22 @@ }, /turf/simulated/floor/plating, /area/security/hanger) +"wqp" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/navblue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + pixel_y = 20 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d3portforhall) "wqs" = ( /obj/structure/table/rack/shelf/steel, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -31927,6 +34367,13 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardamidhall) +"wqT" = ( +/obj/structure/table/hardwoodtable, +/obj/machinery/photocopier/faxmachine{ + department = "Quartermaster-Office" + }, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "wri" = ( /obj/machinery/door/blast/regular{ dir = 4; @@ -31954,6 +34401,16 @@ }, /turf/simulated/floor/carpet/purcarpet, /area/maintenance/dormitory) +"wrG" = ( +/obj/machinery/vending/coffee, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "wrN" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -31967,6 +34424,16 @@ /obj/structure/flora/pottedplant/orientaltree, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"wss" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "wsz" = ( /turf/simulated/wall/prepainted/security, /area/security/interrogation) @@ -32098,6 +34565,7 @@ /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/warden) "wws" = ( @@ -32135,9 +34603,9 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "wxp" = ( -/obj/machinery/mineral/mint, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/space) "wxK" = ( /obj/structure/cable{ icon_state = "4-8" @@ -32166,35 +34634,39 @@ /turf/simulated/floor/tiled/dark, /area/security/tactical) "wzB" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, -/area/maintenance/cargo) -"wzV" = ( -/obj/machinery/keycard_auth{ - pixel_y = -28 - }, -/turf/simulated/floor/wood, -/area/quartermaster/qm) -"wAe" = ( -/obj/machinery/door/firedoor, /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Bay"; - req_one_access = null +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/office) -"wAQ" = ( -/obj/machinery/camera/network/civilian{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"wzV" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/quartermaster/belterdock) +"wAe" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/camera/network/cargo{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"wAQ" = ( +/obj/item/storage/box/monkeycubes, +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/quartermaster/storage) "wAR" = ( /obj/item/radio/intercom{ pixel_y = -24 @@ -32204,6 +34676,12 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/fitness) +"wAS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "wBG" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -32229,8 +34707,15 @@ /turf/simulated/floor/wood, /area/crew_quarters/recreation_area) "wCE" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/reinforced, /area/quartermaster/miningdock) "wCJ" = ( @@ -32267,18 +34752,43 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/security/hallway) +"wDp" = ( +/obj/structure/table/standard, +/obj/item/paper_bin, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 10 + }, +/obj/machinery/camera/network/cargo{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/delivery) "wEv" = ( /obj/machinery/gibber, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/kitchen) "wEw" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "mining_interior"; - name = "refining conveyor"; - pixel_y = 14 +/obj/structure/table/steel_reinforced, +/obj/item/hand_labeler{ + pixel_y = -1 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/item/hand_labeler{ + pixel_y = 2 + }, +/obj/item/hand_labeler{ + pixel_y = 5 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "wEW" = ( /obj/structure/bed/double, /obj/item/bedsheet/hosdouble, @@ -32360,6 +34870,29 @@ }, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) +"wHf" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 5 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 4 + }, +/obj/structure/flora/pottedplant/stoutbush, +/obj/machinery/fire_alarm/north_mount, +/turf/simulated/floor/tiled, +/area/quartermaster/cargo_shelter_dock) "wHm" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/item/reagent_containers/glass/cooler_bottle, @@ -32381,30 +34914,33 @@ /turf/simulated/floor/tiled/dark, /area/janitor) "wHG" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = -37 - }, -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 1 +/obj/machinery/mineral/output, +/obj/effect/floor_decal/industrial/loading{ + dir = 8 }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/window/reinforced, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "wIy" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "QMLoad2" - }, /obj/map_helper/airlock/door/simple, /obj/machinery/door/firedoor{ dir = 8 }, +/obj/map_helper/access_helper/airlock/station/external_airlock, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, /obj/machinery/door/airlock/glass_external{ req_one_access = null }, -/obj/map_helper/access_helper/airlock/station/external_airlock, /turf/simulated/floor/plating, /area/quartermaster/warehouse) "wIA" = ( @@ -32413,17 +34949,15 @@ /turf/simulated/floor/carpet/blue, /area/crew_quarters/sleep/Dorm_3) "wIT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable/green{ - icon_state = "2-4" +/obj/structure/railing{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/structure/railing{ + dir = 4 }, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "wJO" = ( /obj/structure/table/woodentable, /obj/item/storage/box/donkpockets, @@ -32432,6 +34966,26 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_3) +"wKr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/flora/ausbushes/grassybush, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/grass, +/area/quartermaster/foyer) "wKM" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -32468,9 +35022,8 @@ /turf/simulated/floor/tiled/dark, /area/security/nuke_storage) "wMW" = ( -/obj/structure/table/marble, -/obj/machinery/microwave, /obj/effect/floor_decal/corner_oldtile/white/diagonal, +/obj/machinery/holopad, /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "wNi" = ( @@ -32517,15 +35070,14 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3portamidhall) "wOA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/structure/cable/green{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/machinery/light/small, /turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) +/area/crew_quarters/recreation_area) "wQt" = ( /obj/structure/table/woodentable, /obj/item/clothing/accessory/permit/gun, @@ -32557,10 +35109,6 @@ /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) "wQu" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, /obj/map_helper/airlock/door/simple, /obj/machinery/door/firedoor{ dir = 8 @@ -32569,6 +35117,16 @@ req_one_access = null }, /obj/map_helper/access_helper/airlock/station/external_airlock, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad2" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, /turf/simulated/floor/plating, /area/quartermaster/warehouse) "wQI" = ( @@ -32621,9 +35179,18 @@ /turf/simulated/floor/tiled, /area/crew_quarters/fitness) "wRS" = ( -/obj/machinery/holopad, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Warehouse" + }, +/obj/map_helper/access_helper/airlock/station/supply/department, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) +"wTc" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "wTk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -32770,8 +35337,27 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "wYU" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 10 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/window/reinforced, +/obj/machinery/vending/nifsoft_shop, +/obj/machinery/status_display/supply_display{ + mode = 99; + pixel_x = -32 + }, +/turf/simulated/floor/tiled/techmaint, +/area/quartermaster/warehouse) "wYW" = ( /obj/structure/railing/grey{ dir = 1 @@ -32783,16 +35369,16 @@ /area/tether/surfacebase/entertainment) "wZh" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, /obj/machinery/shield_diffuser, /obj/map_helper/airlock/door/simple, +/obj/map_helper/access_helper/airlock/station/external_airlock, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad2" + }, /obj/machinery/door/airlock/glass_external{ req_one_access = null }, -/obj/map_helper/access_helper/airlock/station/external_airlock, /turf/simulated/floor/plating, /area/quartermaster/warehouse) "wZj" = ( @@ -32847,14 +35433,14 @@ /turf/simulated/floor/tiled/dark, /area/security/warden) "xai" = ( -/obj/effect/floor_decal/industrial/outline/red, -/obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = -37 +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 }, -/turf/simulated/floor/tiled, +/obj/machinery/air_alarm/south_mount, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "xao" = ( /obj/structure/cable/green, @@ -32887,6 +35473,18 @@ /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, /area/security/hallway) +"xcE" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "xdM" = ( /turf/simulated/wall/prepainted, /area/crew_quarters/sleep/Dorm_3) @@ -32910,12 +35508,9 @@ /turf/simulated/floor/tiled, /area/security/brig) "xeo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/blue/border, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/lattice, +/turf/space/basic, +/area/endeavour/command/turrets) "xet" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -33011,11 +35606,12 @@ /turf/simulated/floor/tiled/dark, /area/vacant/vacant_shop) "xgT" = ( -/obj/structure/bed/chair/comfy/teal{ - dir = 1 +/obj/effect/floor_decal/industrial/warning/cee{ + dir = 8 }, -/turf/simulated/floor/wood, -/area/crew_quarters/sleep/Dorm_11) +/obj/structure/dispenser/oxygen, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "xhD" = ( /obj/machinery/air_alarm{ dir = 4; @@ -33023,6 +35619,9 @@ }, /turf/simulated/floor/carpet/purcarpet, /area/crew_quarters/sleep/Dorm_13) +"xhN" = ( +/turf/simulated/wall/r_wall/prepainted, +/area/endeavour/hallway/d3aftmaint) "xiG" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -33054,14 +35653,18 @@ /turf/simulated/floor/tiled, /area/security/hanger) "xkg" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass/mining{ - name = "Cargo Storage"; - req_one_access = null +/obj/structure/cable/green{ + icon_state = "4-8" }, -/obj/map_helper/access_helper/airlock/station/supply/cargo_bay, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/quartermaster/cargo_shelter_dock) "xkB" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -33075,24 +35678,11 @@ /turf/simulated/floor/tiled, /area/security/lobby) "xlf" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled, -/area/endeavour/hallway/d3portforhall) +/turf/simulated/floor/plating, +/area/quartermaster/storage) "xlg" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/quartermaster/office) +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "xlq" = ( /obj/machinery/light_switch{ dir = 4; @@ -33120,15 +35710,23 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/kitchen) "xlC" = ( -/obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/endeavour/hallway/d3portforhall) "xlR" = ( /obj/machinery/power/apc/south_mount, /obj/structure/cable/green{ @@ -33155,6 +35753,12 @@ }, /turf/simulated/wall/prepainted/civilian, /area/tether/surfacebase/entertainment) +"xng" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/maintenance/cargo) "xnF" = ( /obj/structure/window/reinforced{ dir = 8 @@ -33231,7 +35835,8 @@ /area/tether/surfacebase/entertainment) "xtI" = ( /obj/machinery/light{ - dir = 1 + dir = 1; + pixel_y = 20 }, /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -33244,6 +35849,16 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3portforhall) +"xue" = ( +/obj/machinery/door/firedoor, +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/supply/mining, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock) "xus" = ( /obj/machinery/light/small{ dir = 8 @@ -33277,6 +35892,11 @@ /obj/effect/paint/darkred, /turf/simulated/floor/plating, /area/security/range) +"xuV" = ( +/obj/structure/lattice, +/obj/machinery/shield_diffuser, +/turf/simulated/floor/plating, +/area/space) "xvZ" = ( /obj/machinery/computer/ship/navigation/telescreen{ pixel_y = -37 @@ -33335,11 +35955,11 @@ /area/crew_quarters/heads/hos) "xxb" = ( /obj/structure/sign/directions/cargo{ - dir = 1; + dir = 8; pixel_y = 32 }, /obj/structure/sign/directions/cryo{ - dir = 4; + dir = 8; pixel_y = 25 }, /obj/structure/sign/directions/engineering{ @@ -33376,6 +35996,15 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardamidhall) +"xyh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "xyl" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 @@ -33425,9 +36054,6 @@ /obj/machinery/air_alarm{ pixel_y = 22 }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 8 - }, /obj/effect/floor_decal/borderfloorblack{ dir = 1 }, @@ -33437,17 +36063,20 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d3starboardafthall) "xyJ" = ( -/obj/structure/cable/green{ - icon_state = "2-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, /obj/structure/cable/green{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled, -/area/quartermaster/office) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "xyL" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/effect/floor_decal/borderfloorblack{ @@ -33459,23 +36088,15 @@ /turf/simulated/floor/tiled/dark, /area/security/hallway) "xzc" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 8 }, /obj/structure/cable/green{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/bar/lower) "xzh" = ( /obj/machinery/door/airlock/maintenance/engi{ req_one_access = null @@ -33529,26 +36150,25 @@ /turf/simulated/floor/tiled/monotile, /area/security/security_lockerroom) "xCO" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 8 +/obj/structure/catwalk, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, -/obj/structure/plasticflaps, +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green, /turf/simulated/floor/plating, -/area/maintenance/lower/trash_pit) +/area/maintenance/trash_pit) "xCV" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/storage) +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "xDe" = ( /obj/structure/closet/secure_closet/brig, /obj/machinery/fire_alarm/west_mount{ @@ -33577,18 +36197,6 @@ /obj/machinery/smartfridge, /turf/simulated/floor/tiled/monotile, /area/crew_quarters/kitchen) -"xDr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/quartermaster/foyer) -"xDs" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) "xDS" = ( /obj/machinery/newscaster{ pixel_y = 32 @@ -33604,11 +36212,11 @@ /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) "xEJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/effect/floor_decal/industrial/outline/red, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/foyer) "xEP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -33621,6 +36229,16 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"xEQ" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/structure/table/steel, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/cable_coil, +/obj/random/drinkbottle, +/turf/simulated/floor/tiled/techfloor, +/area/maintenance/bar/catwalk) "xFB" = ( /obj/effect/floor_decal/corner/red{ dir = 6 @@ -33630,6 +36248,12 @@ }, /turf/simulated/floor/tiled/dark, /area/security/warden) +"xGr" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "xGw" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -33649,6 +36273,10 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) +"xHO" = ( +/obj/structure/salvageable/bliss, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "xHY" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lime/border, @@ -33692,13 +36320,44 @@ "xIP" = ( /turf/simulated/floor/crystal, /area/endeavour/hallway/d3fwdhall) +"xJa" = ( +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/machinery/air_alarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/quartermaster/qm) "xJv" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/machinery/door/airlock/glass/mining{ + name = "Mining Prep Room"; + req_one_access = null }, -/turf/simulated/floor/plating, -/area/maintenance/bar/lower) +/obj/map_helper/access_helper/airlock/station/supply/mining, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/sign/department/miner_dock{ + pixel_y = 32; + pixel_x = -4 + }, +/turf/simulated/floor/reinforced, +/area/quartermaster/miningdock) "xJx" = ( /obj/structure/closet/hydrant{ pixel_y = 30 @@ -33733,8 +36392,13 @@ /area/security/brig) "xKi" = ( /obj/machinery/camera/network/cargo, -/obj/machinery/mech_recharger, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/quartermaster/warehouse) "xLd" = ( /obj/structure/closet/wardrobe/red, @@ -33751,32 +36415,46 @@ /turf/simulated/floor/tiled, /area/security/security_lockerroom) "xLm" = ( -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/maintenance/cargo/mining) +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/foyer) "xLD" = ( /obj/machinery/light/small{ dir = 1 }, +/obj/random/junk, /turf/simulated/floor/plating, -/area/maintenance/lower/trash_pit) +/area/maintenance/trash_pit) "xLN" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/wood, /area/crew_quarters/bar/lounge) "xMb" = ( -/obj/machinery/camera/network/cargo{ - dir = 8 +/obj/random/junk, +/obj/random/maintenance, +/obj/machinery/air_alarm/north_mount, +/turf/simulated/floor/plating, +/area/maintenance/trash_pit) +"xMc" = ( +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/structure/closet/secure_closet/miner, +/obj/machinery/light{ + dir = 1; + pixel_y = 20 }, -/obj/structure/cable/green{ - icon_state = "1-2" +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) +"xMm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, /turf/simulated/floor/reinforced, /area/quartermaster/miningdock) -"xMc" = ( -/obj/machinery/mineral/processing_unit, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/surfacebase/mining_main/refinery) "xMu" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -33800,7 +36478,7 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/turf/simulated/floor/tiled/monotile, +/turf/simulated/floor/tiled, /area/endeavour/hallway/d3afthall) "xMC" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ @@ -33852,11 +36530,18 @@ }, /turf/simulated/floor/tiled/dark, /area/security/brig) +"xNI" = ( +/turf/simulated/floor/tiled/white, +/area/crew_quarters/barrestroom) "xPj" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate/freezer, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/quartermaster/warehouse) "xPq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -33870,24 +36555,12 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) "xPu" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24 - }, -/obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-j2" +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 }, -/turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/obj/structure/flora/pottedplant/minitree, +/turf/simulated/floor/wood, +/area/endeavour/surfacebase/mining_main/break_room) "xPB" = ( /obj/spawner/window/low_wall/full/firelocks, /turf/simulated/floor/plating, @@ -33899,17 +36572,20 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) "xPU" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/vending/fitness, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/obj/structure/closet/toolcloset, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/obj/item/stack/cable_coil/random, +/obj/item/stack/cable_coil/random, +/obj/item/stack/cable_coil/random, +/obj/item/stack/cable_coil/random, +/obj/random/coin, +/turf/simulated/floor, +/area/maintenance/bar/catwalk) "xQu" = ( /obj/machinery/recharger/wallcharger{ pixel_x = 32; @@ -33962,15 +36638,6 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/bar) -"xSu" = ( -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area_hallway) "xSF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -33989,12 +36656,13 @@ /area/security/brig) "xTf" = ( /obj/structure/cable/green{ - icon_state = "1-8" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, -/area/quartermaster/storage) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/wood, +/area/quartermaster/office) "xTl" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -34002,6 +36670,10 @@ /obj/machinery/power/apc/east_mount, /turf/simulated/floor/wood, /area/crew_quarters/sleep/Dorm_1) +"xTv" = ( +/obj/machinery/mineral/processing_unit, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "xTD" = ( /obj/machinery/camera/network/security, /turf/simulated/floor/tiled, @@ -34046,6 +36718,12 @@ }, /turf/simulated/floor/carpet/purcarpet, /area/crew_quarters/sleep/Dorm_5) +"xWj" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "xWx" = ( /obj/machinery/fire_alarm/west_mount{ pixel_x = -24 @@ -34083,19 +36761,14 @@ /turf/simulated/floor/tiled/old_cargo/red, /area/security/security_processing) "xXa" = ( -/obj/machinery/camera/network/civilian{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/navblue/border, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/endeavour/hallway/d3portamidhall) +/area/endeavour/hallway/d3portforhall) "xXg" = ( -/turf/simulated/wall/r_wall/prepainted/cargo, +/turf/simulated/wall/r_wall/prepainted, /area/crew_quarters/game_room) "xXk" = ( /obj/structure/cable/green{ @@ -34179,8 +36852,25 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d3fwdhall) "xYM" = ( -/turf/simulated/floor/tiled/steel, -/area/quartermaster/delivery) +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/paint/beastybrown, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/quartermaster/belterdock) "xZp" = ( /obj/structure/bed/chair/wood{ dir = 8 @@ -34191,16 +36881,13 @@ /area/tether/surfacebase/entertainment) "xZs" = ( /obj/effect/floor_decal/borderfloorblack{ - dir = 1 + dir = 8 }, /obj/effect/floor_decal/corner/red/border{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 +/obj/machinery/camera/network/security{ + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/security/hallway) @@ -34230,6 +36917,14 @@ }, /turf/simulated/floor/tiled, /area/security/lobby) +"yaj" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d3aftmaint) "yaO" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -34305,6 +37000,20 @@ "yeY" = ( /turf/simulated/wall/prepainted/security, /area/crew_quarters/heads/hos) +"yfx" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "yfy" = ( /obj/structure/bed/chair/comfy/purp{ dir = 8 @@ -34315,6 +37024,10 @@ /obj/structure/fitness/weightlifter, /turf/simulated/floor/tiled/dark, /area/security/brig) +"yfX" = ( +/obj/machinery/vending/nifsoft_shop, +/turf/simulated/floor/tiled/dark, +/area/vacant/vacant_shop) "ygd" = ( /obj/effect/floor_decal/corner_steel_grid{ dir = 1 @@ -34362,12 +37075,14 @@ /turf/simulated/floor/tiled/steel, /area/shuttle/mining_ship/general) "yhp" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 +/obj/machinery/sheet_silo{ + obj_persist_static_id = "sheet-silo-mining" }, -/obj/item/stool, -/turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/delivery) +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 + }, +/turf/simulated/floor/tiled/monodark, +/area/quartermaster/belterdock/refinery) "yhH" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -34380,6 +37095,14 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d3starboardamidhall) +"yhJ" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 32 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/plating, +/area/crew_quarters/recreation_area_hallway) "yil" = ( /obj/effect/floor_decal/corner_techfloor_grid{ dir = 6 @@ -34413,6 +37136,10 @@ }, /turf/simulated/floor/wood, /area/endeavour/hallway/d3fwdhall) +"yiZ" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "yjd" = ( /obj/machinery/light{ dir = 1 @@ -34435,9 +37162,21 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/security/lobby) "ykp" = ( -/obj/structure/closet/wardrobe/green, -/turf/simulated/floor/carpet/turcarpet, -/area/crew_quarters/recreation_area) +/obj/effect/floor_decal/corner/brown/diagonal, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/quartermaster/belterdock/gear) "ykx" = ( /obj/structure/table/rack/shelf/steel, /obj/effect/floor_decal/industrial/outline/blue, @@ -34494,14 +37233,6 @@ }, /turf/simulated/floor/tiled/dark, /area/security/armoury) -"ykN" = ( -/obj/machinery/door/blast/regular{ - dir = 2; - id = "cludge_hanger" - }, -/obj/machinery/atmospheric_field_generator/perma, -/turf/simulated/floor/reinforced, -/area/maintenance/bar/catwalk) "yls" = ( /obj/structure/table/steel, /obj/item/tape_recorder, @@ -34528,15 +37259,14 @@ }, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) -"ymc" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +"ymb" = ( +/obj/machinery/power/apc/north_mount, +/obj/structure/cable/green{ + icon_state = "0-2" }, -/turf/simulated/floor/tiled, -/area/endeavour/surfacebase/mining_main/refinery) +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/maintenance/cargo) "ymh" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -38505,7 +41235,7 @@ bzE bzE rAG rAG -jAH +bzE rAG rAG bzE @@ -38697,10 +41427,10 @@ mDp bzE bzE bzE -cnc -kKF -jAH kKF +qmi +lEK +ugs cnc bzE bzE @@ -38892,12 +41622,12 @@ bzE bzE bzE seB -ugs -jAH -qmi +rJH +lEK seB -jAH -jAH +rJH +lEK +lEK bzE pRW pRW @@ -39085,13 +41815,13 @@ mDp nNX bzE bzE +lUK uzm +lEK uzm jAH -uzm -uzm -jAH -jAH +lEK +lEK bzE pRW pRW @@ -39281,7 +42011,7 @@ bzE bzE bzE dBF -jAH +lEK uOI cHy cHy @@ -39668,9 +42398,9 @@ jGe jYr bzE bzE -kbt uzm uzm +rlf cHy aOy hnK @@ -39713,7 +42443,7 @@ udU rJC tjK knW -uGl +xZs vzu flS dPF @@ -39862,9 +42592,9 @@ jYr aKn bzE bzE +kbt uzm -uzm -jAH +lEK cHy lNU ecM @@ -40058,7 +42788,7 @@ bzE bzE cUe uzm -jAH +lEK cHy mCZ iAO @@ -40252,7 +42982,7 @@ bzE bzE bwN uzm -jAH +lEK cHy bfd uvh @@ -40279,7 +43009,7 @@ vzX xBR szl vAp -qCl +nLJ uyN uGk rcG @@ -40446,7 +43176,7 @@ tUu bzE bwN rnj -jAH +lEK cHy cHy cHy @@ -40644,7 +43374,7 @@ xEe hKd xEe xEe -hkN +xEe eWz xEe fxn @@ -40838,13 +43568,13 @@ uzm tab uzm rlf -bwN uzm uzm uzm uzm uzm uzm +rlf uzm uzm xLN @@ -41047,7 +43777,7 @@ kEf szl vAZ dJX -dJX +lul vSO iYC jfm @@ -41219,22 +43949,22 @@ pRW pRW tUu rxD -bzE +gNV kbt uzm iaP +rku qLS qLS -qLS -tXh +eZz gDZ -aMQ -aMQ -aMQ +qCs +qCs +qCs dFB eLv eLv -aMQ +xNI uGk uPC fgL @@ -41413,16 +44143,16 @@ pRW pRW pRW rxD -rxD +gNV ddU piG iaP -sAp -dmA -dmA -dGV +amR +qLS +qLS +eZz gDZ -aMQ +qCs nUf kjU qHr @@ -41609,16 +44339,16 @@ jYr rEk rEk rEk -jLr +rEk rEk rEk rEk rEk aTX iaP -aMQ -aMQ -aMQ +qCs +qCs +qCs lTT lTY aUp @@ -41758,7 +44488,7 @@ pRW pRW pRW pRW -pRW +vkt pRW pRW pRW @@ -41801,16 +44531,16 @@ pRW jYr aKn rEk -bta -kNT -bta -rra -bta -bta +xEQ +anU +esB +jVx rEk -qLS -qLS -aMQ +cWd +bsN +eZz +uiJ +qCs bje rTq rkO @@ -41836,9 +44566,9 @@ uGk bUP vFB kSn -kSn -kSn -kSn +mun +xWj +acO lDc fIm pTu @@ -41995,21 +44725,21 @@ pRW jGe jYr rEk -bta -bta -bta -bta -bta -bta +njM +eVb +eVb +mJQ rEk -qLS -qLS -aMQ -aMQ -aMQ -aMQ -xbH -xbH +uiJ +bsN +eZz +eZz +qCs +qCs +qCs +qCs +qCs +qCs tIj pir sNC @@ -42025,13 +44755,13 @@ pYf cMK vcz hkY -kSn -kSn +lMK kSn cZa cZa cZa cZa +cZa kSn kSn fIm @@ -42189,20 +44919,20 @@ pRW pRW pRW rEk -qPD -bta -bta -bta -bta -bta -qup +voE +kkx +teD +fzr +rEk qLS qLS -mVn +qLS +eZz +nxz xLD -lif -lif -kgM +uAU +uAU +nxz xZH leL pir @@ -42221,13 +44951,13 @@ gCd fIm kSn kSn -kSn cZa +jeV udJ sNp dSc vFB -kSn +kow fIm pTu lPF @@ -42297,7 +45027,7 @@ pRW pRW pRW pRW -pRW +bBF pRW pRW pRW @@ -42382,21 +45112,21 @@ pRW pRW pRW pRW -ykN -bta -bta -bta -bta -bta -bta rEk +rEk +rEk +vbg +rEk +rEk +sAp qLS qLS -mVn -lif +eZz +nxz lif +uAU lif -kgM +nxz xZH leL pir @@ -42416,8 +45146,8 @@ oRw cZa dSc cZa -cZa mnn +kSn vvP cZa cZa @@ -42576,21 +45306,21 @@ pRW pRW pRW pRW -ykN -bta -bta -bta -bta -bta -bta rEk +xPU qLS +eZz +hpG qLS -mVn -lif -lif -lif -kgM +bug +kCu +rmb +jKP +nxz +xMb +uAU +uAU +nxz xZH leL pir @@ -42599,9 +45329,9 @@ dIR fcJ rGw fPF -wMW +mup dia -hCa +mmZ lgT iSj gWa @@ -42609,11 +45339,11 @@ jZc fIm vFB vFB -kSn -kSn -gCh +mun +mnn +vFB cEH -kSn +mun cZa vFB pTu @@ -42770,42 +45500,42 @@ pRW pRW pRW pRW -ykN -bta -bta -bta -bta -bta -uhj rEk +eXx +joO +rmb +rmb +rmb +upo qLS qLS -mVn -xLD -lif -lif -kgM +dqn +nxz +naI +iJR +kDx +nxz fSt leL pir ksT eCE -oHM +mup uaL vNN nTj -mup +oHM hCa lgT iSj ozn etj fIm +acO kSn kSn -kSn -kSn -mnn +sCn +cto cEH kSn cZa @@ -42830,7 +45560,7 @@ fJN fJN lPz lPz -sCx +pRW pRW pRW pRW @@ -42964,31 +45694,31 @@ pRW pRW pRW pRW -ykN -bta -bta -bta -bta -bta -bta rEk -rOW -mVn +vlq +qLS +qLS +qLS +uiJ +qLS +qLS +qLS mVn -lif +jLH +iIq xCO -lif -kgM +fsa +nxz xZH leL pir igX pYC -mmZ +mup saz sNE dSJ -mup +oHM hCa lgT iyq @@ -43144,9 +45874,9 @@ pRW pRW pRW pRW -pRW -pRW -rxD +fDw +fDw +wuh ilf ilf ilf @@ -43158,31 +45888,31 @@ ilf ilf ilf ilf -qDH -qDH -qDH -qDH -rEk -rEk -rEk -rEk -qLS -qLS -kgM -lif -qDS -aDU -kgM +wuh +wuh +wuh +wuh +shF +shF +shF +shF +shF +gqQ +xhN +xhN +xhN +xhN +xhN xZH leL pir opV lmD -jBD +nTj oLu -mup +puP wMW -mup +dia hCa lgT bhQ @@ -43198,7 +45928,7 @@ fET lTX glG cZa -kSn +lMK pTu vvV oOf @@ -43338,7 +46068,7 @@ pRW pRW pRW pRW -pRW +vjg pRW wuh iXY @@ -43352,22 +46082,22 @@ iXY iXY iXY iXY +rjO iXY iXY -iXY -rxD +wuh +rMY +pOK +xlf rPE -qLS -qLS -qLS -qLS -qLS -kgM -kgM -kgM -lgM -kgM -xZH +hkm +jPs +xhN +sGw +kSn +jwr +xhN +gwe leL pir nhj @@ -43532,36 +46262,36 @@ pRW pRW pRW pRW -pRW -pRW +iUL +fDw wuh iXY +vSl +lYO +lYO +lYO +vSl +iXY +iXY tdG sKL sKL sKL tdG -iXY -iXY -iXY -iXY -iXY -iXY -iXY ehr -rxD -rPE -qLS -qLS -qLS -qLS -qLS -kgM -xZH -xZH -uAU -kgM -xZH +wuh +jEN +xlf +xlf +uRz +hkm +wlM +xhN +rSZ +iTk +tZV +xhN +bbL leL uvj mup @@ -43590,7 +46320,7 @@ cZa cZa cZa kSn -kSn +acO evH aqn voq @@ -43726,37 +46456,37 @@ pRW pRW pRW pRW -pRW +vjg tUu wuh gmZ +vSl +oaN +ctb +wGx +vSl +iXY +iXY tdG jAa qAH uWE tdG iXY -iXY -iXY -iXY -iXY -iXY -iXY -iXY -rxD -rPE -qLS -qLS -qLS -qLS -qLS -kgM -xZH -xZH -uAU +wuh +blB +mrn +qiz +fRP +hkm +jPs +xhN +xhN +jgF +xhN +xhN kgM -xZH -leL +fPG pir pir tMP @@ -43920,46 +46650,46 @@ pRW pRW pRW pRW -pRW +vjg pRW wuh iXY +vSl +tYv +dym +qmc +vSl +rXr +xMm tdG ubg lwX gpG tdG iXY -iXY -iXY -iXY -iXY -iXY -iXY -iXY -rxD -rPE -qLS -qLS -qLS -qLS -mVn -kgM -xZH +wuh +wAQ +toS +qiz +kRu +hkm +jPs +bWR +fLp +cZa +nay +xhN xZH -uAU -kgM -fSt leL +xZH pir -cUi apJ bKL dgB hOP aVW aVW -aVW +jBD pir fbH uhA @@ -44114,39 +46844,39 @@ pRW pRW pRW pRW -pRW +fDw pRW wuh +ptj +vSl +aKj +qIH +qIH +vSl iXY +wAS tdG ygR muW jhZ tdG -iXY -iXY -iXY -iXY -iXY -iXY -iXY mcn -rxD -rPE -qLS -qLS -qLS -qLS -mVn -fSt -xZH -xZH -buX +wuh +bWp +toS +fRP +fRP +hkm +uiK +bpu +rQs +rQs +rQs hDH iIN vRK +xZH pir -goX sEE raR iNY @@ -44308,44 +47038,44 @@ pRW pRW pRW pRW -pRW +fDw pRW wuh -mLl +iXY +vSl +hRx +qIH +hpq +vSl +sij +uKF mne ceU tpp kxI tdG iXY -iXY -iXY -iXY -iXY -iXY -iXY -iXY -rxD -rPE -wku -qLS -qLS -qLS -lNT -xZH -xZH -xZH -xZH -kgM +wuh +mEb +mFc +xlf +xlf +tds +cZa +twO +kSn +cZa +kSn +xhN +fSt +xzc xZH -leL pir -sRJ xMC kyF jfy aVW -aVW +goX aVW lxd pir @@ -44502,44 +47232,44 @@ pRW pRW pRW pRW -jGe +xeo jYr wuh -ufN +iXY +xXl +fTI +qIH +iVL +vSl +iXY +eFf tdG gOb iRB jeT tdG -iXY -iXY -iXY -iXY -iXY -iXY -iXY ehr -rxD -rPE -qLS -qLS -qLS -qLS -mVn -xZH -xZH -xZH -xZH -kgM +wuh +qDS +jAA +nWc +mwk +hkm +nin +umo +kSn +cZa +acO +xhN xZH tol +xZH pir -sRJ aHs kyF jfy aHs -aHs +goX aHs dhd pir @@ -44699,34 +47429,35 @@ pRW jYr aKn wuh -ufN +iXY +vSl +aKK +qIH +agW +vSl +iXY +eFf tdG sHr ifT eIe tdG iXY -iXY -iXY -iXY -iXY -iXY -iXY -iXY -rxD -rPE -qLS -qLS -qLS -qLS -mVn -xZH -xZH -xZH -xZH -kgM +wuh +dPs +osx +dPs +dPs +dPs +qJB +vaA +rCg +cZa +kow +xhN sDq tol +xZH pir pir pir @@ -44735,8 +47466,7 @@ pir pir pir pir -pir -rYo +pkU iSj rfb kGS @@ -44751,7 +47481,7 @@ kSm qOr etV glG -kSn +acO heG uMp kSn @@ -44890,47 +47620,47 @@ pRW pRW pRW pRW -jGe +xeo jYr wuh -ufN +iXY +vSl +ufL +qIH +agW +vSl +iXY +eFf tdG cmR ifT eIe tdG -iXY -iXY -vSl -lYO -lYO -lYO -vSl -iXY -rxD -mVn -qLS -qLS -qLS -qLS -mVn -kgM +oDU +wuh +aBc +cEd +pvB +jtk +mti +qJB +tXh +wTc +cZa +kSn +xhN kgM +xzc xZH xZH -kgM xbH -buX -oOy -oOy qXh -xJv xZH xZH -pmy -pmy -pmy -pmy +bWK +bWK +bWK +bWK ooh jVt buM @@ -45081,44 +47811,44 @@ pRW pRW pRW pRW -mDp pRW pRW pRW +dlE pRW wuh -ufN +iXY +vSl +vSl +vSl +vSl +vSl +iXY +eFf tdG tdG eum ofW tdG iXY -iXY -vSl -oaN -ctb -wGx -vSl -iXY -rxD -mVn -mVn -qLS -qLS -mVn -mVn -mLm -kgM +wuh +dVA +qcx qoU +dqA +dTQ +bQe +cZa +cZa +cZa +rCg +acO kgM -kgM -xbH pXt fTU fTU -fTU -buX +cUi +fYy lIR hXA bWK @@ -45275,39 +48005,39 @@ pRW pRW pRW pRW -mDp pRW pRW pRW +dlE pRW wuh -dJV +gmZ +iXY +tqt +kLg +tqt +iXY +iXY +eFf tdG kRn bgM tMa tdG iXY -iXY -vSl -tYv -dym -qmc -vSl -iXY -rxD -hwP -hwP +wuh +tgP +qcx hwP gQF -hwP -mLm -mLm -nYH -mLm -mLm -xbH -xbH +pDx +sFX +cZa +cEH +kSn +kSn +aCg +kgM pYt pYt vRH @@ -45329,7 +48059,7 @@ bWK hLo syH bUP -kSn +acO kSn kSn kSn @@ -45416,92 +48146,92 @@ pRW pRW pRW mDp -"} -(57,1,1) = {" -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp +"} +(57,1,1) = {" +mDp +mDp +mDp +mDp pRW pRW pRW -tUu -wuh -ufN +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +xuV +nKd +akl +iXY +iXY +iXY +iXY +iXY +iXY +iXY +eFf tdG tdG xJx cRB tdG iXY -iXY -vSl -aKj -eBl -qIH -vSl -iXY -rxD -hwP -mLm -mLm -mLm -hwP -mLm -mLm -mLm -mLm -mLm -mLm -mLm +wuh +sVr +qcx +tBn +qcx +dTQ +dPs +cZa +cEH +kSn +mIG +mjy +kgM pYt wHF muK @@ -45663,38 +48393,38 @@ pRW pRW pRW pRW -mDp pRW pRW pRW pRW -wuh -ufN +pRW +rwh +iWE +uRN +iXY +iXY +iXY +iXY +rXr +bxW gCW buL qSx drT tdG iXY -iXY -vSl -hRx -qIH -hpq -vSl -iXY -rxD -aGE -mLm -mLm -mLm -hwP -hwP -mLm -mLm -lMH -lMH -lMH +wuh +uNM +nDz +rLo +ePx +xPu +dPs +cZa +kSn +cJJ +cJJ +cJJ lMH pYt sKV @@ -45857,36 +48587,36 @@ pRW pRW pRW pRW -mDp pRW pRW pRW pRW -wuh -ufN +pRW +dGV +fsN +iTn +iXY +iXY +iXY +iXY +iXY +eFf iXY rAq rAq rAq iXY -iXY -iXY -xXl -fTI -qIH -iVL -vSl mcn -rxD +wuh aGE -mLm -mLm -mLm -mLm -hwP -mLm -mLm -lMH +vyv +otl +fgA +fgA +fgA +oRw +xhN +cJJ gic qBI lMH @@ -45900,11 +48630,11 @@ aUT bWK mmq mmq -aec +umX tXo tXY hjP -aec +umX mmq mmq bWK @@ -46051,35 +48781,35 @@ pRW pRW pRW pRW +pRW mDp mDp -mDp -mDp -mDp +xuV +aDe wuh -fip -nmv -nmv -nmv -nmv -xMb -nmv -rOn -vSl -aKK -qIH -agW -vSl iXY -rxD -aGE -mLm -mLm -mLm -mLm -hwP -hWB -mLm +iXY +iXY +iXY +iXY +iXY +iXY +eFf +iXY +iXY +iXY +iXY +iXY +iXY +wuh +qek +hwN +ukf +mlk +veW +fgA +cZa +cZa lMH hMP evn @@ -46091,13 +48821,13 @@ pYt pYt pYt kEi -uMs +iJC xPB xPB bWK -ewr +gyJ byU -psK +gyJ bWK xPB xPB @@ -46245,35 +48975,35 @@ pRW pRW pRW pRW +pRW mDp mDp +vjg mDp -mDp -mDp -rxD wuh -wuh -wuh -wuh -wuh -wuh -gmZ -ufN -vSl -ufL -qIH -agW -vSl iXY -rxD -aGE -mLm -mLm -mLm -mLm -hwP -mLm -mLm +iXY +iXY +nYH +ejk +nWj +iXY +eFf +iXY +iXY +iXY +iXY +iXY +mLl +uWL +rpH +dZs +jCu +aFS +bol +fgA +uuE +cZa lMH lMH lCU @@ -46288,11 +49018,11 @@ boM mLk mLk mLk -jGq +moE wTk prg cua -ayc +ewr ayc ayc qJx @@ -46437,37 +49167,37 @@ pRW pRW mDp mDp +pRW +pRW +pRW mDp mDp +vjg mDp -mDp -mDp -mDp -mDp -rxD -bOW -cyG -qcx -jrK -ePB -oWf -nmv +twR +twR +twR +twR +twR +twR +twR +hkN rYq -vSl -vSl -vSl -vSl -vSl iXY -rxD -hwP -hWB -mLm -mLm -mLm -hwP -mLm -mLm +iXY +mLl +nmv +nmv +wcT +wuh +wHf +eHs +xkg +aZK +pDn +fgA +cZa +cZa lMH vIC vmT @@ -46631,38 +49361,38 @@ mDp mDp mDp mDp +pRW +pRW +pRW mDp mDp +lIp mDp -mDp -mDp -mDp -mDp -rxD -qcx -qcx -qcx -ejk -qcx -vkn -wuh -fSr -iXY -tqt -kLg -tqt +twR +bOW +cyG +fvb +jrK +ePB +twR +feE +eFf iXY iXY -rxD -hwP -mLm -mLm -mLm -mLm -hwP -mLm -mLm -nAS +ufN +gDV +uhE +haN +aDU +vkn +uJx +aHA +vkn +vkn +vkn +nms +buX +lMH cgt fCZ qVm @@ -46687,7 +49417,7 @@ bfD uPx gFf kGS -keU +vKG ajk oux pdl @@ -46830,34 +49560,34 @@ pRW pRW pRW pRW -jGe +xeo jYr -rxD -oMq -oMq +twR +nJF oMq -ejk -qcx -kZu -wuh -wuh -iXY -iXY -iXY -iXY -iXY +uDB +hUh +lIA +twR +xgT +phB +uOU iXY -rxD -hwP -mLm -mLm -mLm -mLm -hwP -mLm +ufN +yhp +eHQ +sxc +aDU +sBr mLm +cZe +tBN +fNj +wzV +cZa +cZa lMH -ukb +yfX ukb vOS pYt @@ -47026,30 +49756,30 @@ pRW pRW jYr aKn -rxD -tGp -tGp -tGp -jAe -bhw -pDn -apt -wuh -iXY -iXY -iXY -iXY +twR +oWf +oMq +oMq +qia +rdb +twR +hSq iXY -mcn -rxD -hwP -mLm -mLm -mLm -mLm -hwP -mLm -mLm +vMB +gqj +gUu +sGH +qNM +avQ +aDU +bBM +gDP +cQm +vdN +ipL +wzV +cDY +cZa lMH vxy ukb @@ -47066,9 +49796,9 @@ bVC nqs lDc gqN +syH kSn -kSn -kSn +lMK kSn kSn syH @@ -47218,32 +49948,32 @@ pRW pRW pRW pRW -jGe +xeo jYr -rxD -tGp -tGp +twR +wqT +oMq tGp -qcx -qcx -ejk -jtn -wuh +jAe +bhw +twR +twR +ptj fko iXY iXY -iXY -iXY -iXY -rxD -hwP -mLm -mLm -mLm -mLm -hwP -mLm -mLm +cDv +aDU +xTv +aDU +jwQ +mJK +eBy +bTA +mmw +wzV +cEH +cZa lMH iON ukb @@ -47252,7 +49982,7 @@ oms ukb lUi lMH -eww +sPA rqN cpz syH @@ -47260,15 +49990,15 @@ eGj vFB kSn kSn +mZk kSn kSn kSn -kSn -kSn +kuK syH pXE vPs -dmh +qmV oSF uqf qMv @@ -47412,32 +50142,32 @@ pRW pRW pRW pRW +fDw pRW -pRW -rxD -djB -djB -djB -qcx -qcx -ejk -qIo -wuh -wCE -iXY -ehr -wuh -twR twR +jcl +heJ +heJ +lCC +heJ +xJa twR -gNj -gNj -gNj -mLm -mLm -hwP -mLm -mLm +iXY +wCE +pmy +cLq +lRx +qNM +lag +aDU +kNT +fTB +fRJ +heO +oNw +wzV +adi +cZa lMH new ukb @@ -47447,23 +50177,23 @@ mlz xgS lMH cVy -rqN +xlC cpz syH nKI kuK xUN pON -kSn -kSn +syH +acO kSn kSn kSn syH awA wuH -pAC -cce +dmh +oSF uBN mEG jAj @@ -47606,32 +50336,32 @@ pRW pRW pRW pRW -pRW +jON tUu -rxD -qcx -jCu -qcx -qcx -qcx -ejk -leF -wuh -iXY -iXY -iXY -wuh -rvC -nWj -iIq -sBr +twR +fjp +djB +szw +qbG +vxE +xyJ +twR +qpi +sTR +biZ +lRw +fSr +nVC +evc +aDU +dVh npS -gNj -mLm -mLm -hwP -hwP -hwP +fLU +aBU +uMs +wzV +kSn +cZa lMH evB ukb @@ -47656,8 +50386,8 @@ kSn syH awA wuH -aWe -keU +pAC +cce bnZ bnZ bnZ @@ -47800,32 +50530,32 @@ pRW pRW pRW pRW -pRW -pRW -qKQ -qKQ +kYu +fDw +twR +twR qKQ qKQ qKQ -pqk +twR mYS -qKQ -qKQ -qKQ -egp +twR wuh +xJv wuh -cmE -qmQ -vjg -qmQ +wuh +aDU +aDU +aDU +aDU +xue wzV -gNj -mLm -mLm -mLm -mLm -mLm +mIP +kad +xYM +wzV +acO +cZa lMH skT ukb @@ -47845,13 +50575,13 @@ aQM syH kSn kSn -kSn -kSn +cZa +cZa fiy kEF wuH -qmV -keU +aWe +vKG dfI bnZ voJ @@ -47994,52 +50724,52 @@ pRW pRW pRW pRW +jON pRW -pRW -qKQ +mSw eBs -pOK inw -ldo +inw +inw wYU onr vRv tbF -oYC -ldo -gLK +pJe +rOM +tOv etR -nNn -uJr -juy -feq -nNn -oOI -xLm -xLm -xLm +kDo +kDo +qMz +hlc +tOv +ekJ xLm -mLm +gXm +hdh +bUP +cZa lMH -nqP -ukb -wcT -ukb +cBD ukb -iwp -lMH +ghV +jYY +kff +fUR +hkE qwg gLQ aAA syH kSn cZa -kSn +cZa nTi fiy -kSn -kSn -kSn +cZa +cZa +cZa kSn syH awA @@ -48188,40 +50918,40 @@ pRW pRW pRW pRW +jON pRW -pRW -qKQ -bgH -tqv -dgn -bPg -ldo -ldo -ldo -hkm -ldo -ldo +mSw +wrG +rER +pOu +rER +sOt ldo -bvE -nNn -tcb -mIP +uhv +uhv +atT +itn +vXN hlc -rdb +kBv +cNA +hlc +hlc +pdF gNj -hWB -mLm -mLm -xLm -mLm -lMH -cBD -ukb -ghV -jYY -kff -fUR -hkE +wnA +tqv +hdh +cZa +cZa +cJJ +cJJ +cJJ +cJJ +cJJ +cJJ +cJJ +cJJ cnt lRP tlS @@ -48233,7 +50963,7 @@ tzm syH kSn kSn -kSn +cZa kSn syH awA @@ -48244,7 +50974,7 @@ fWX pwE pwE pwE -vjb +qqF urn uxf vjb @@ -48382,41 +51112,41 @@ pRW pRW pRW pRW +fDw pRW -pRW -qKQ +mSw moz -tqv -ldo -ldo -ldo -vsY -lCC -hkm -ldo -lQq -hOq -gNj -gdU -jSX rER -qMz -tkT -gNj +rER +jSX +gdU +soE +lEM +lEM +fYP +lQq +tOv +xMc +wku +mff +rTD +dAP +pdF +aHh atw nfA -mLm -xLm -hwP -lMH -lMH -lMH -lMH -lMH -lMH -lMH -lMH -hEO +hdh +mNI +kSn +xhN +xHO +jtW +oNa +tkT +jBe +uPG +xhN +xtI rZg swv syH @@ -48425,9 +51155,9 @@ kZH aMa jpX syH +acO kSn -kSn -kSn +cZa kSn syH tpm @@ -48576,41 +51306,41 @@ pRW pRW pRW pRW +jON pRW -pRW -tqv -bHV -tqv -dHW +jon +pkW +vDo +pfu kDM -dPs -scZ -scZ +ibL +vsY +sxY sWe -mEb -mEb -scZ -ffW -ffW -pyb +pJe +itn +tOv +dAP +ulx +nnu gtZ -ffW -ffW -ffW -ffW -ffW -ffW -hmk -cmi -nCY -che -dOT -hvh -dOT -jag -wgN -eyn -mXi +dAP +pdF +wjW +wnA +pZR +hdh +cZa +kSn +xhN +hzu +kSn +kSn +kSn +rvL +rvL +xhN +ufF ndp sid syH @@ -48621,8 +51351,8 @@ syH syH syH syH -kSn -kSn +yaj +syH syH awA deJ @@ -48770,52 +51500,52 @@ pRW pRW pRW pRW -pRW -pRW -tqv +kYu +fDw +jon lKH -tqv +rER wEw -kur -sGH -scZ -rZY -moE -wkI -eHs -jBe -ffW -fJl +ptR vlO -blB -ffW -eFf -noW +vsY +uUl +uUl +pJe +itn +tOv +til +fJl +dmA +hlc +pHB +tOv +oGT xlg -noW -ffW -hmk -heO -pwn -pwn -lRx -yhp -aaY -aaY -pwn -pwn +dIt +hdh +cZa +mnn +jgF +kSn +kSn +kSn +kSn +gym +ays +xhN rcz -kXK +xiG avK syH kSn irx kSn -kSn -kSn -kSn +ayR +acO +kuK syH -kSn +cZa kSn syH jRB @@ -48964,40 +51694,40 @@ pRW pRW pRW pRW +jON pRW -pRW -qKQ -xMc -tqv +mSw +lKH +rER hDl -kur -ccA -scZ +ptR +izr +vsY qzI -xzc -lnj -lnj -kWu -pfu -qDe +qzI +pJe +itn +tOv +mXi +hlc sbx -xeo +bqs umx -xlC +tOv noW pzs -noW -ffW -hmk +bLd hdh -pwn -twA -xYM -uhE -xYM -xYM -pdF -pwn +nms +uAV +xhN +bUP +lkP +kSn +sMN +aIZ +oNa +xhN uZv esx qBG @@ -49009,8 +51739,8 @@ kSn kSn kSn syH -kSn -kSn +cZa +kuK syH wQS lCJ @@ -49158,62 +51888,62 @@ pRW pRW pRW pRW +jON pRW -pRW -tqv -vCC -fLU +jon +lKH +nVg bhP ifE -uKF -scZ +jag +vsY lKt -umX +uUl pJe -shT -vMr -ffW +itn +tOv +hXO pdT -nrZ +ykp etZ ffW -sDX -noW -noW -daE -ffW -ffW +pdF +waA +xlg +dIt hdh -eNB -jPe -gGm -qWd -gGm -gGm -ays -iDE +cZa +xhN +xhN +xhN +xhN +xhN +xhN +xhN +xhN +xhN tBY -xiG +kXK jbI syH kSn cZa kSn kSn -kSn +acO kSn syH -kSn +cZa kSn syH ojU jqq aVb suB -sFM -sFM -sFM -sFM +inp +inp +inp +inp inp pwu kps @@ -49352,52 +52082,52 @@ pRW pRW pRW pRW +fDw pRW -pRW -tqv +jon bHV -fLU +rER wmU -ymc -atT -gqQ -xCV +rER +uxX +xyh +sIY tvT -pJe -wRS -evc -ffW -pHB +wzB +hfw +tOv +tOv +tOv kOw -iJR -gtZ -bxW +tOv +tOv +tOv rXa +lye mii -mii -kKO -qvo -wfZ -mlk -lkP -gGm -nsH -sMN -sMN -gLZ -jLP +hdh +fvQ +qpd +nCY +che +dOT +hvh +dOT +che +wgN +hOq eja vCG swv syH -kSn +lMK cZa kSn kSn kSn kSn syH -kSn +cZa kSn syH dwE @@ -49546,41 +52276,41 @@ pRW pRW pRW pRW -jGe +xeo jYr -qKQ -moz -tqv -agT -dcu +mSw +uzS +rER +rER +rER wHG -scZ -tES -tdf +vsY +txc +txc pJe -shT -tdk -ffW -fjp -ptR -tHq -gtZ -nDz -waA -jON -nxz -bqs -ffW -hrS +rjY +sUL +sUL +sUL +nqP +sUL +sUL +jon +rBZ +xlg +dIt +hdh +aAy eNB -aIZ -aIZ -dZb -aIZ -aIZ -aIZ -iDE -ujU +qlx +qlx +cna +gFc +ryd +qlx +qlx +eNB +gKi xiG hLN syH @@ -49742,39 +52472,39 @@ pRW pRW jYr aKn -qKQ -sxc -puP -uWL +mSw +nme +rER +rER +juy +aaY +vsY +txc +txc +pJe +txc +txc +txc +txc +pZg +txc +txc +wRS +xlg +wnA +lXM +hdh boI -vDo -scZ -fvb -jAA -jLH -shT -tdk -cmw -nVC -nrZ -qMP -ffW -ffW -gtZ -lmr -gtZ -ffW -ffW -iSP -pwn -eNB -ekD -kwo -uiJ eNB +qHt +wDp +lDd +oOy +lDd +lDd +cPz eNB -pwn -jiN +qxm xiG avK syH @@ -49934,40 +52664,40 @@ pRW pRW pRW pRW -jGe +xeo jYr -vVA -fYy -fYy -oOV -txc -mff -scZ -qmY -sDb -shT +mSw +sjO +ili +jst +ili +ili +rZY +mBo +mBo shT +xCV tdk -cmw -nVC +tdk +tVX sTs pJR -cmw +mbv hrc izO -gal -gal +kQS +cmi dyR -gal -tVX -vaA -gal -gal -gal -gal -gal -gal -oXi +hWB +hrS +dZb +lDd +lDd +hzi +lDd +lDd +oUd +tEQ sZQ xiG vzm @@ -49991,7 +52721,7 @@ eem wpe wpe eYt -lul +rNH qyf qQq uPY @@ -50128,42 +52858,42 @@ pRW pRW pRW pRW +fDw pRW -pRW -vVA -gSF -eWe -uUl -oNw -vxE -scZ -rmb -jzp -sEz -shF -uhv -cmw -nVC -qPi -uqr -pDb -qAh -qAh -gal +mSw +mJv +txc +txc +txc +txc +txc +txc +txc +dJc +aTk +txc +aec +sSl +ldm +uKk +ldm +ldm +mjB +hUF dLj aDs -jhH -pVz -jwQ -fva -fva -fva -fva -fva -fva -fva -ukf -emK +nNn +wfZ +rvC +pUj +pUj +pyh +vng +vng +ieQ +bJh +lAL +atS bAI syH kSn @@ -50173,7 +52903,7 @@ syH syH syH syH -kSn +ayR guu syH xyI @@ -50322,43 +53052,43 @@ pRW pRW pRW pRW +vjg pRW -tUu -vVA -cJJ -aFS -oOV -fil -fil -scZ -scZ -jwr -gnO -scZ -scZ -ffW -sSl -qPi -uKk +mSw +lea +uUl +uUl +uUl +txc +txc +txc +cBK +kIg +aTk +cBK +wAe +ldm +ldm +oXV +hJm +ldm cmw -gal -mjB -hUF -qwK +cmw +hUc wki -bTA -xDr mhO -lAm -lAm -pZg -lAm -lAm -pZg -pZg +eNB +lDd +lDd +lDd +iZj +lDd +lDd +lDd +eNB dns -xlf -swv +xiG +cQG syH kSn syH @@ -50380,7 +53110,7 @@ chh wWx qHe kUz -qHe +sFM hsu qqU qqU @@ -50516,40 +53246,40 @@ pRW pRW pRW pRW +vjg pRW -pRW -vVA -lwA -rQs -oOV -fil -fil -feE -pjE -ubA -mbv -hXO -xPu -wAe -fDt -xyJ -oXV -hJm -jEc -kYu -eZz -tBN -veW -kPT -jtk -rBG -rBG -rBG -rBG -qdW -rBG -rBG -rBG +mSw +mJv +uUl +uUl +uUl +txc +txc +txc +cBK +kIg +aTk +cBK +des +ldm +sDc +orm +nFa +nzA +omy +rxO +bJS +fip +lAm +eNB +eNB +eNB +hrS +bvE +hrS +iSL +hrS +eNB nJu nQm wtj @@ -50573,7 +53303,7 @@ chh chh chh jet -xZs +dAT jWI iFW qqU @@ -50640,57 +53370,40 @@ mDp mDp mDp mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -"} -(84,1,1) = {" -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp -mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +"} +(84,1,1) = {" +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW pRW pRW pRW @@ -50700,6 +53413,12 @@ pRW pRW pRW pRW +pRW +pRW +pRW +pRW +mDp +mDp mDp mDp pRW @@ -50711,40 +53430,51 @@ pRW pRW pRW pRW +mDp +mDp pRW -vVA -esB -tgP -oOV -cNA -gXm -poa -poa -gqw -poa -poa -kxv -des -hcH -sDc -orm -jEN -jYU -lfJ +pRW +pRW +pRW +pRW +pRW +pRW +pRW +nHC +pRW +mSw +gSF +txc +txc +txc +txc +scZ +txc +cBK +kIg +aTk +cBK +laQ +ldm +eDd +eKq +nzA +qlg +ffP +cmw +bJS +kFu +dcu +iwp +vKr +vKr +apt +vKr +vKr +apt gal -tBn -wnA -wnA -jtk -rBG -fju -kXD -fju -mIk -fju -fju -rBG -qxm +atU +sZQ kMk kYx syH @@ -50904,41 +53634,41 @@ pRW pRW pRW pRW -pRW -pRW -vVA -oOV -oOV -oOV -qNE -czr -czr -czr -lEM -ldK -ldK -kTN -laQ -mKJ -nyi -nyi -nyi -qlg -ffP -eIB +vjg +jRe +mSw +bgH +eWe +uUl +uUl +txc +scZ +txc +txc +sEz +oXi +uhv +mpt +ldm +sFW +eKq +nzA +ate +iSP +cmw bJS -rwh -szw -nkT -rBG -vKr -fju -fju -mIk -fju -fju -rBG -txu +gLK +wnA +egp +wnA +wnA +wnA +wnA +wnA +wnA +wnA +bTd +kGf kSN prZ azB @@ -51098,42 +53828,42 @@ pRW pRW pRW pRW -pRW +vjg pRW mSw -ncP -heJ -wxp -fil -tbT -fil -xDs -hzi -qJB -fil -kTN -mpt +lwA +uUl +uUl +uVS +vVA +scZ +txc +ubA +ubA +poa +ubA +qIr ldm -nyi -eKq +gnO +xTf +nFa nzA -nyi -nyi -nyi -nyi -nyi -rBG -rBG -rBG -fju -fju -fju -mIk -fju -fju -rBG -xtI -bBc +omy +rxO +rHI +cmE +cPy +jdF +wKr +mFW +kQS +kQS +oYC +tyl +kQS +flt +fTy +imI uSz syH vPk @@ -51221,57 +53951,40 @@ pRW mDp mDp mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -"} -(87,1,1) = {" -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +"} +(87,1,1) = {" +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW pRW pRW pRW @@ -51282,7 +53995,14 @@ pRW pRW pRW pRW +pRW +pRW +pRW +pRW +mDp mDp +mDp +pRW pRW pRW pRW @@ -51292,40 +54012,50 @@ pRW pRW pRW pRW +mDp +pRW pRW pRW +pRW +pRW +pRW +pRW +pRW +pRW +nHC +pRW jon mJv -fil -aDw -fil -czr -czr -czr -tbK -xEJ +txc +txc +txc +ccA +scZ +txc +kxv +kxv +poa +kxv +elJ +ldm +ldm +lqE +sXC +ldm +cmw +cmw +feq +dTZ +wnA +egp +wnA +tdj +wnA +wnA xEJ -sFX -qIr -qek -qLx -xTf -nFa -lXM -omy -rxO -oyU -nyi -fju -fju -mIk -mIk -mIk -mIk -mIk -fju -fju -rBG +wnA +wnA +dkO uGC viu ras @@ -51486,41 +54216,41 @@ pRW pRW pRW pRW -pRW +nHC pRW jon -edk -fil -fil -fil -fil -fil -lye -aOG -dTQ -fil -fil -fil -mwk -xkg -lqE -sXC +bgH +vAk +tcb +uUl kpn -fmj -oyU -nKd -nyi +dgn +czr +lEM +lEM +ldK +kTN +rjY +xai +ldm +tdr +ldm +ldm +oOI vKr -fju -mIk -fju -rBG -rBG -rBG -rBG -rBG -rBG -sTd +amY +tVF +trd +cdn +hUF +xcE +fDt +vZr +fhx +rYo +gGm +hdh +prv bBc fgj cGV @@ -51542,7 +54272,7 @@ alB pGi vpi xkB -aiW +uxk xyL rkC vBk @@ -51680,41 +54410,41 @@ pRW pRW pRW pRW -pRW -pRW +kYu +lIp jon -xKi -fil -fil -mzJ -mKJ -kRu -fil -fil -fil -ouS -fil -ldK -xai -nyi -tdr -lag -lqE -lqE -lqE -osx -nyi -fju -fju -mIk -rBG -rBG -fju -fju -fju -fju -rBG -sTd +ncP +oOV +uUl +uUl +tbT +scZ +txc +tbK +tbK +ccA +tbK +txc +rjY +cyr +sUL +sUL +aqN +oyU +wnA +nkT +jPe +jYU +fva +fva +mIN +sVH +sVH +sVH +sVH +sVH +sVH +hVB bBc bxI cGV @@ -51803,57 +54533,44 @@ pRW mDp mDp mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -"} -(90,1,1) = {" -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -mDp -mDp -mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +mDp +"} +(90,1,1) = {" +mDp +mDp +mDp +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW pRW pRW pRW @@ -51865,6 +54582,8 @@ pRW pRW pRW mDp +mDp +mDp pRW pRW pRW @@ -51875,40 +54594,51 @@ pRW pRW pRW pRW +mDp +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +pRW +jON pRW mSw -tXt -gNV -fil -fil -fil -hus -fil -gNV -fil -ouS -fil -ldK -rjY -nyi -pQh -xPj -lqE -oyU -oyU +mJv +txc +txc +txc +tbT +scZ +txc +tbK +tbK +ccA +tbK +txc +txc +ogP +ogP +txc +txc +wnA +wnA pQh nyi +kPT +fva fju -fju -mIk -rBG -rMi -rMi -rMi -rMi +lUu rMi +ovN +qVv +xhD +xvZ rMi -txu +wqp eTr ras cGV @@ -51928,7 +54658,7 @@ uwo qHe qHe oit -aiW +uxk qHe qHe dAT @@ -52068,39 +54798,39 @@ pRW pRW pRW pRW -pRW +jON tUu mSw -neg -nbW -nbW -nbW -sUL -hus -kad -kcR -itn -ouS -dSm -fil -rrZ -nyi -oyU -xPj -lqE -oyU +edk +lKt +oOV +uUl +tbT +scZ +txc +aOG +aOG +ccA +aOG +txc +txc +ogP +ogP +txc +qmQ +qwK qSv -oyU -nyi -fju -fju -mIk -rBG +jbh +nAS +qBU +fva +qmY +lUu rMi -ovN -qVv -xhD -xvZ +nBf +vfa +vfa +vfa rMi jMM oxG @@ -52262,39 +54992,39 @@ pRW pRW pRW pRW +jON pRW -pRW -mSw -mSw mSw -jon -jon -jon -wIy -nRo -jon -nRo -wQu -jon -jon +xKi +uUl +uUl +lKt +mKJ +scZ +txc +txc +txc +aUM +xGr +txc +txc +fml +fml +txc mSw -vZR -vZR -vZR -vZR -nyi -nyi -nyi -nyi -fju -fju -mIk -rBG +rdv +pWS +jhH +kWu +dld +xng +jbC +lUu rMi -nBf -vfa -vfa -vfa +edb +adB +bno +kaW rMi bCv aCi @@ -52302,7 +55032,7 @@ mdJ cGV cGV cGV -cGV +teG ilD tMF kKQ @@ -52456,39 +55186,39 @@ pRW pRW pRW pRW -pRW +jON mDp -csb -aaK -csb -aaK -csb -jon -jpo +mSw +tXt +txc +txc +aec fil +jzp +rlm +txc +txc +ouS +txc +txc +txc +txc +txc +txc jon -fil -qAl -oFO -csb -flt -flt -csb -csb -wzB -fju -mIk -mIk -mIk -mIk -mIk -mIk -rBG +vvO +ciU +agT +wkI +vCC +fva +qWd +dJV rMi -edb -adB -bno -kaW +kke +qsL +crj +qwY rMi nEQ bBc @@ -52650,41 +55380,41 @@ pRW pRW pRW pRW -pRW -pRW -aaK -aaK -aaK -aaK -aaK -vaR -bMN -epe -vaR -epe -wZh -vaR -aaK -uOU -uOU -aaK -aaK -wzB -agX -yab -fju -fju -mIk -fju +fDw +fDw +mSw +neg +nbW +qGu +buN +mSw +hus +xPj +kcR +xPj +rrZ +dSm +rrZ +rrZ +rrZ +xPj +xPj +mSw +hdh +hdh +hdh +hdh +hdh +fva +lUu fju -rBG +iID +iID rMi -kke -qsL -crj -qwY +gTq rMi -sTd +rMi +tMd bBc trg wXO @@ -52702,21 +55432,21 @@ wBG kRc vUA orP -tOV -tOV -tOV -tOV +uSC +rAn +eIO +aIH tOV oKo orP +uSC tOV +aIH tOV +eIO tOV tOV -tOV -tOV -tOV -tOV +rAn pCQ pCQ pRW @@ -52846,38 +55576,38 @@ pRW pRW pRW pRW -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -cih -eAp -fju +mSw +mSw +mSw +jon +jon +mSw +wIy +nRo +jon +hcH +wQu +oFO +oFO +oFO +oFO +vZR +oFO +kKO fju +tBG mIk +sDb +qWd +wss +dJV fju -yab -yab -iID -iID -rMi -gTq -rMi -rMi +hFO +kZu +pMS +kur +rOW +vaf sTd bBc sid @@ -52885,7 +55615,7 @@ eZW xPB xPB bWK -owv +dFI dFI nKD bWK @@ -52908,7 +55638,7 @@ tOV tOV tOV tOV -tOV +oKo pCQ pCQ pCQ @@ -53040,41 +55770,41 @@ pRW pRW pRW pRW -qDH -mDp -mDp -aDe -csb -csb -csb -csb -csb -csb -csb -csb -csb csb +aaK csb +aaK csb +jon +qAl +rJy +jon +rJy +jpo +oFO csb +aaK csb +aaK csb -eAp +kKO +fju +fju +fju +yab +lUu fju fju -mIk fju ewu -ykp -eHQ -qpi -aqN -pkW -wAQ +rme +oyF +jvb +rks vaf sTd bBc -cQG +sid eqa bDG qHq @@ -53234,37 +55964,37 @@ pRW pRW pRW pRW -lIp -mDp -mDp -aDe -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -csb -eAp +aaK +aaK +aaK +aaK +aaK +vaR +bMN +epe +vaR +epe +wZh +vaR +aaK +aaK +aaK +aaK +qPi +kKO fju fju -mIk fju +yab +izs +fju +fju +qmY ewu -sms -fUB uIh oyF -jvb -rks +mkn +jHr vaf sTd oxG @@ -53295,7 +56025,7 @@ svs tOV tOV hLd -tOV +uSC pCQ pCQ pRW @@ -53428,10 +56158,6 @@ pRW pRW pRW pRW -lIp -mDp -mDp -aDe csb csb csb @@ -53442,32 +56168,36 @@ csb csb csb csb -poe csb csb csb csb -eAp -fju +csb +csb +csb +fva +kdG fju -mIk +lgM +yab +lUu fju ewu -ibL -fUB -rme -oyF +ewu +ewu +tkJ +cBe mkn jHr vaf txu eTr -sid +jNW eZW xPB xPB eCk -lfS +qHq qHq rQK eCk @@ -53486,7 +56216,7 @@ vpv wRM orP pCQ -tOV +adP tOV hLd tOV @@ -53607,7 +56337,7 @@ mDp mDp mDp mDp -bBF +mDp mDp mDp mDp @@ -53623,8 +56353,8 @@ pRW pRW pRW qDH -lIp -lIp +mDp +mDp aDe csb csb @@ -53639,22 +56369,22 @@ csb csb csb csb -csb -csb -eAp -fju -fju -mIk -mIk -soz -lfy -lfy -tkJ -cBe +fva +nJE +fGh +acY +yab +rOn +dMH +ewu +pgJ +syZ +syZ +rEX mkn jHr -vaf -sTd +pwq +eUA bBc sid eqa @@ -53681,7 +56411,7 @@ tAt orP pCQ pCQ -tOV +uSC hLd tOV pCQ @@ -53819,9 +56549,7 @@ pRW lIp mDp mDp -lIp -csb -csb +aDe csb csb csb @@ -53835,22 +56563,24 @@ csb csb csb csb -eAp -fju -fju -fju -fju -ewu -pgJ +fva +fva +yab +yab +yab +jbC +lUu +soz syZ syZ syZ -mkn -jHr -pwq +eGx +eTv +cLn +qQD sXK -bBc -sid +xXa +swv eqa mmq mmq @@ -53873,7 +56603,7 @@ mhH hIR bsF orP -tOV +djf pCQ pCQ hLd @@ -54013,8 +56743,7 @@ pRW lIp mDp mDp -lIp -csb +aDe csb csb csb @@ -54025,31 +56754,32 @@ csb csb csb csb +poe csb csb csb csb eAp -eAp -eAp -eAp -eAp +lmr +fju +fju +lUu ewu -tQn -syZ -eGx -rEX -eTv -cLn -qQD +lGM +qMP +hmk +jLP +nvp +mwA +sQO oBe qBQ -xXa +iIc mMr bWK bWK bWK -qHq +upe iuv tIr bWK @@ -54205,19 +56935,6 @@ mDp pRW pRW qDH -mDp -mDp -lIp -aDe -aDe -aDe -lIp -aDe -aDe -aDe -aDe -aDe -aDe lIp lIp aDe @@ -54227,21 +56944,34 @@ csb csb csb csb -cih +csb +csb +csb +csb +csb +csb +csb +csb +csb +eAp +jtn +fju +fju +lUu ewu -ili -upo -xPU -lin -nvp -mwA -sQO +eVN +eVN +eVN +eVN +wOA +twA +eVN woK nTO thA mMr -gKQ -lTw +oxY +kdb mhY mhY mhY @@ -54266,7 +56996,7 @@ tOV tOV hLd pCQ -tOV +uSC pCQ dsX pRW @@ -54402,19 +57132,6 @@ lIp mDp mDp lIp -mDp -mDp -lIp -mDp -mDp -mDp -mDp -mDp -lIp -mDp -mDp -mDp -aDe csb csb csb @@ -54422,20 +57139,33 @@ csb csb csb csb +csb +csb +csb +csb +csb +csb +csb +cih +eAp +yfx +fju +fju +lUu mfy +viP +miE +lpl qbT -qbT -qbT -qbT -xSu -nJE +bzu +iPO jiy -eUA +fqc pAU rPF mMr -lTw -lTw +dgK +fbW mhY iFb qfY @@ -54593,22 +57323,9 @@ mDp pRW pRW lIp +mDp +mDp lIp -lIp -qDH -lIp -lIp -qDH -lIp -lIp -qDH -lIp -lIp -qDH -lIp -lIp -qDH -aDe csb csb csb @@ -54616,13 +57333,26 @@ csb csb csb csb +csb +csb +csb +csb +csb +csb +csb +csb +eAp +ymb +qVI +tES +dJV mfy -viP -miE -lpl +shN +shN +wZP qbT -bzu -iPO +vZG +pPi jiy fpw nkY @@ -54654,7 +57384,7 @@ tOV tOV hLd pCQ -tOV +uSC pCQ aDe aDe @@ -54786,47 +57516,47 @@ pRW mDp mDp mDp +qDH mDp mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -pRW -pRW -pRW -pRW -pRW -pRW -csb -csb -csb -csb -csb +lIp +aDe +aDe +aDe +lIp +aDe +aDe +aDe +aDe +aDe +aDe +lIp +lIp +aDe csb csb +eAp +lgM +fju +mIk +eyn mfy -shN -shN -wZP +cjp +agG +edp qbT -mti +jUs pPi jiy -tMK +obX nTO pNH mMr lTw -lTw +cjw mhY nfG -lSK +dkR mhY jkU nuP @@ -54980,44 +57710,44 @@ pRW mDp mDp mDp +lIp mDp mDp +lIp mDp mDp +lIp mDp -gtM mDp mDp mDp mDp +lIp mDp -pRW -pRW -pRW -pRW -pRW -pRW -csb -csb -csb -csb -csb +mDp +mDp +aDe csb csb +eAp +fju +fju +mIk +qAh mfy -cjp -agG -edp -qbT -jUs -pPi +vXB +uAl +rEa +stc +xut +emK jiy xxb nTO iIc mMr -lTw -lTw +tmj +vWO mhY liu ufX @@ -55026,7 +57756,7 @@ bCC stW mhY mhY -osL +lzC gVA fWt qRW @@ -55037,10 +57767,10 @@ kio jVc gos orP -tOV +tvj hLd tOV -tOV +aIH pCQ hLd pCQ @@ -55174,36 +57904,36 @@ pRW mDp mDp mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -mDp -pRW -pRW -csb -csb -csb -csb -csb +lIp +lIp +lIp +qDH +lIp +lIp +qDH +lIp +lIp +qDH +lIp +lIp +qDH +lIp +lIp +qDH +aDe csb csb +eAp +qmY +fju +mIk +uqr mfy -vXB -uAl -rEa -stc -xut +dKV +hHX +qaZ +qbT +hoH hgm jiy tMK @@ -55211,7 +57941,7 @@ nTO oNu mMr lTw -lTw +pvI mhY liu mhY @@ -55339,7 +58069,7 @@ mDp mDp mDp mDp -mDp +vDG mDp mDp mDp @@ -55387,18 +58117,18 @@ pRW pRW csb csb -csb -csb -csb -csb -csb +eAp +fju +fju +mIk +wIT mfy -dKV -hHX -qaZ qbT -hoH -iPO +qbT +qbT +qbT +yhJ +jiy jiy luz nTO @@ -55424,11 +58154,11 @@ tft owH kvG hqP -tOV -tOV +oKo +eIO hLd pCQ -svs +sxo tOV hLd wkh @@ -55581,19 +58311,19 @@ pRW pRW csb csb -csb -csb -csb -csb -csb -rBZ -fOe -fOe -fOe -fOe -vAk +eAp +jbC +fju +mIk +mIk +mIk +mIk +tBG +mIk +mIk +fju dky -jiy +rBG sBa oxV rCX @@ -55622,7 +58352,7 @@ tOV tOV hLd pCQ -tOV +aIH tOV hLd pCQ @@ -55773,21 +58503,21 @@ mDp mDp pRW pRW -pRW -pRW -pRW jGe jYr -csb -cPI -fOe -pMS -uwI -miH -fOe -mti -qNM -jiy +eAp +qmY +fju +fju +fju +fju +fju +fju +fju +mIk +mIk +fju +rBG tMK nTO nRf @@ -55816,7 +58546,7 @@ tOV tOV hLd pCQ -tOV +rAn tOV hLd pCQ @@ -55967,21 +58697,21 @@ pRW pRW pRW pRW -pRW -pRW -pRW jYr aKn -cPI -jDP -fOe -elQ -rTD -wIT -htn -hFO -mGq -jiy +eAp +rBG +rBG +rBG +qDe +rBG +rBG +rBG +rBG +fju +mIk +fju +rBG spd nTO eNl @@ -56010,9 +58740,9 @@ tOV hLd hLd pCQ +rAn tOV -tOV -hLd +gCh pCQ pRW pRW @@ -56163,19 +58893,19 @@ pRW pRW pRW pRW -pRW -pRW -cPI -cPI -jDP -fOe +wxp +hLw +fju +iDE +fju +tmi fBG rDV -gKi -fOe -uxX -wOA -jiy +rBG +kdG +mIk +qmY +rBG saE bLl vEs @@ -56357,19 +59087,19 @@ pRW pRW pRW pRW -pRW -cPI -cPI -jDP -jDP -fOe +wxp +fju +uJr +fju +fju +uJr crM kdZ -ebz -fOe -vIe -dld -jiy +rBG +qmY +mIk +fju +rBG dfD nkY xIv @@ -56551,19 +59281,19 @@ pRW pRW pRW pRW -cPI -cPI -jDP -jDP +wxp +nsH jDP +fju +bPg fOe pqO dPi -xgT -fOe -vIe -qpd -jiy +rBG +jbC +mIk +fju +rBG fqc pAU iIc @@ -56591,7 +59321,7 @@ vnQ uzl hLd tOV -tOV +rAn pCQ oxm ujb @@ -56750,13 +59480,13 @@ vRl vRl vRl vRl -cPI -cPI -cPI -cPI -rBG -qdW +vRl +vRl +vRl +vRl rBG +mIk +qmY rBG uOQ nTO @@ -56979,7 +59709,7 @@ vnQ svs hLd tOV -tOV +uSC pCQ eEa sSx @@ -57170,7 +59900,7 @@ nSL dVM ebL vnQ -tOV +aIH hLd tOV tOV @@ -57367,7 +60097,7 @@ vnQ tOV hLd tOV -tOV +aIH pCQ tsS rUz @@ -57532,7 +60262,7 @@ wLe vRl vRl mIk -fju +qmY rBG lDx nTO @@ -57726,7 +60456,7 @@ gYF vRl vRl mIk -fju +yiZ rBG fqc pAU @@ -57742,7 +60472,7 @@ efB nif oTx daO -eTx +jXm okL pIT vnQ @@ -58004,7 +60734,7 @@ pRW pRW pRW pRW -pRW +bBF pRW pRW pRW @@ -58310,7 +61040,7 @@ ncY fju mIk rBG -xxb +dJG nTO szv sJA @@ -58501,7 +61231,7 @@ vRl vRl vRl vRl -fju +ubc mIk rBG tMK @@ -58698,7 +61428,7 @@ vRl rBG qdW rBG -tMK +obX nTO goK xID @@ -60047,7 +62777,7 @@ pRW pRW pRW pRW -qCs +fdp eQM hPt hPt @@ -60070,7 +62800,7 @@ qxb xIo uhW qEf -sih +mfz adZ vWW gSN @@ -60241,7 +62971,7 @@ pRW pRW pRW pRW -qCs +fdp qmZ hPt hPt @@ -60435,7 +63165,7 @@ pRW pRW pRW pRW -qCs +fdp hPt hPt hPt @@ -60629,7 +63359,7 @@ pRW pRW pRW pRW -qCs +fdp lNv hPt hPt @@ -60642,7 +63372,7 @@ rub kXK syD mMr -lTw +jbL lTw xwr uPB @@ -61213,7 +63943,7 @@ pRW pRW pRW imb -bcw +aiW hEc hEc hEc @@ -61419,7 +64149,7 @@ kXK jFV mMr lTw -lTw +neK xwr xwr xwr @@ -61989,12 +64719,12 @@ pRW jGe jYr alQ +qwH lTw lTw lTw lTw -lTw -lTw +neK wYu pjJ sWa @@ -62184,7 +64914,7 @@ pRW pRW alQ alQ -lUd +vwA lTw lTw fSP @@ -62573,10 +65303,10 @@ pRW pRW tUu alQ -lTw +jbL lTw fSP -lTw +aaH mMr qxm kXK @@ -62592,7 +65322,7 @@ rpK esO tOV orP -gFU +unb adZ poW eVN @@ -62796,8 +65526,8 @@ fSP lTw lTw lTw -lTw -lTw +jbL +alQ alQ fkV mDp @@ -62966,7 +65696,7 @@ alQ fSP lTw mMr -qxm +sWT tAU uIa qcn @@ -62988,8 +65718,8 @@ fSP fSP fSP lTw -lTw -nEe +uor +pRN alQ alQ alQ @@ -63182,7 +65912,7 @@ fSP enJ wbb lTw -lTw +fLE alQ alQ pRW @@ -63359,7 +66089,7 @@ kXK fPA pku fSP -lTw +neK wtC dNB ikk @@ -63372,7 +66102,7 @@ wGd adZ hJb bDg -fSP +cnO alQ alQ alQ @@ -63545,14 +66275,14 @@ pRW jYr aKn alQ -lTw +neK lTw mMr ujU kXK scV mMr -fSP +mqp lTw wtC dNB @@ -63568,7 +66298,7 @@ hJb mMr fSP gKQ -lTw +jbL alQ alQ pRW @@ -63940,7 +66670,7 @@ rub kXK syD mMr -lTw +jbL fSP wtC dNB @@ -64322,18 +67052,18 @@ pRW pRW tUu alQ -lTw +jbL mMr fXd sxq nTl mMr -lTw +lUd fSP -lTw -lTw -lTw -lTw +mMr +mMr +mMr +mMr mMr mMr mMr @@ -64342,8 +67072,8 @@ hcm esA jbc mMr -lTw -lTw +jUw +bqR alQ alQ mDp @@ -64522,7 +67252,7 @@ nue gEz dtc mMr -mqp +lTw fSP lTw lTw @@ -64530,14 +67260,14 @@ lTw lTw gKQ lTw -lTw +jbL mMr stl kDu xYu alQ lTw -nEe +rhF alQ jYr jGe @@ -64716,14 +67446,14 @@ hyQ uMR rPa mMr -lTw +jbL fSP fSP fSP fSP lTw lTw -lTw +neK lTw mMr piH @@ -64731,7 +67461,7 @@ lro nQv alQ lTw -lTw +fxO alQ aKn jYr @@ -64924,8 +67654,8 @@ wiJ ugo ezM alQ -lTw -lTw +gRf +alQ alQ jYr jGe @@ -65103,10 +67833,10 @@ mMr nue dHX dSg -fop +vfr fop mxC -fop +owv xMQ pab vQB @@ -65119,7 +67849,7 @@ pEO aGu alQ lTw -lTw +jbL alQ alQ mDp @@ -65297,14 +68027,14 @@ alQ bjQ kBD aMk +lfS bUW bUW -bUW -bUW +psK kQn pHf pjF -hsr +sEO hsr hsr hsr @@ -65313,7 +68043,7 @@ jNw hGm alQ lTw -lTw +aoO alQ alQ mDp @@ -65496,7 +68226,7 @@ iXB iXB bWK uIG -jNW +vpW caA bWK iXB @@ -65507,7 +68237,7 @@ kuM fiP alQ lTw -enJ +vwh alQ alQ mDp @@ -66661,7 +69391,7 @@ bWK bWK qna vpW -vfr +caA bWK bWK bWK diff --git a/maps/endeavour/levels/deck4.dmm b/maps/endeavour/levels/deck4.dmm index 0e69f753e8d3..a3ea58fdf64a 100644 --- a/maps/endeavour/levels/deck4.dmm +++ b/maps/endeavour/levels/deck4.dmm @@ -6,15 +6,13 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) "abb" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 +/obj/effect/floor_decal/industrial/hatch{ + color = "#00B8B2" }, -/obj/machinery/atmospherics/portables_connector{ +/obj/machinery/atmospherics/component/unary/freezer{ dir = 4 }, -/obj/machinery/portable_atmospherics/canister/empty, -/obj/machinery/door/window/westright, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) "abn" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ @@ -22,6 +20,12 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/workshop) +"abT" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "aca" = ( /obj/structure/cable{ icon_state = "1-2" @@ -81,6 +85,13 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4porthall) +"afe" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "agu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 10 @@ -97,6 +108,9 @@ /obj/structure/cable/green{ icon_state = "2-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "agJ" = ( @@ -120,6 +134,12 @@ /obj/machinery/light{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "ahp" = ( @@ -211,6 +231,13 @@ }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portforhall) +"alT" = ( +/obj/structure/closet/emcloset, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "amv" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -314,6 +341,13 @@ }, /turf/simulated/floor/tiled/techmaint, /area/rnd/robotics/smallcraft) +"arX" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "asr" = ( /obj/machinery/portable_atmospherics/canister/phoron/engine_setup, /obj/effect/floor_decal/industrial/outline{ @@ -331,6 +365,10 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/engine_monitoring) +"asH" = ( +/obj/random/trash_pile, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "atb" = ( /obj/structure/table/rack{ dir = 8; @@ -398,6 +436,16 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/workshop) +"avj" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/brigdoor/eastright{ + dir = 2; + req_access = null; + req_one_access = list(1,38) + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "avq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -463,6 +511,13 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack/corner{ + alpha = 255; + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 8 + }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4fwdhall) "axj" = ( @@ -598,6 +653,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/workshop) +"aDl" = ( +/obj/machinery/conveyor_switch/oneway{ + tag = "mailroom"; + id = "port_battery" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "aDm" = ( /turf/simulated/floor/tiled/monowhite, /area/engineering/engine_airlock) @@ -630,7 +692,8 @@ dir = 1 }, /obj/structure/sign/department/eng{ - pixel_y = 32 + pixel_y = 32; + pixel_x = -4 }, /obj/structure/disposalpipe/segment{ dir = 8 @@ -725,9 +788,21 @@ initial_gas_mix = "n2=100;TEMP=80" }, /area/tcommsat/chamber) +"aKR" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/suit_cycler/engineering, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "aLa" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner, /area/engineering/hallway/lower) +"aLp" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/portable_atmospherics/powered/pump/filled, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "aLx" = ( /obj/effect/floor_decal/corner/lightorange/border{ dir = 1 @@ -744,6 +819,11 @@ }, /turf/simulated/wall/r_wall/prepainted/engineering, /area/engineering/portnacelle) +"aMS" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/structure/salvageable/console_broken_os, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "aMT" = ( /obj/machinery/atmospherics/component/quaternary/atmos_filter{ tag_south = 1; @@ -829,6 +909,9 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "aQR" = ( @@ -851,12 +934,16 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/eva) "aSY" = ( -/obj/machinery/power/apc/north_mount, /obj/structure/cable/green{ - icon_state = "0-8" + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 }, /turf/simulated/floor/plating, -/area/endeavour/hallway/d4aftmaint) +/area/endeavour/hallway/d4fwdmaint) "aUR" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -930,12 +1017,7 @@ /turf/simulated/floor/tiled/monowhite, /area/engineering/drone_fabrication) "aXZ" = ( -/obj/structure/cable/orange{ - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, +/obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "aYc" = ( @@ -987,6 +1069,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardamidhall) +"bdf" = ( +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4aftmaint) "bdx" = ( /obj/machinery/light{ dir = 1 @@ -1123,6 +1208,7 @@ /obj/structure/cable/green{ icon_state = "0-8" }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "bkM" = ( @@ -1132,6 +1218,13 @@ /obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"bkY" = ( +/obj/machinery/porta_turret/crescent{ + density = 1; + faction = "neutral" + }, +/turf/simulated/floor/plating, +/area/endeavour/command/turrets) "bmK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1155,6 +1248,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "bne" = ( @@ -1321,6 +1416,12 @@ "bAs" = ( /turf/simulated/wall/prepainted/engineering, /area/engineering/shield_gen) +"bAF" = ( +/obj/effect/floor_decal/rust, +/obj/structure/table/steel, +/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "bBd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -1341,12 +1442,33 @@ }, /turf/simulated/floor/tiled/steel_dirty, /area/engineering/atmos/workshop) +"bBy" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "bBE" = ( /obj/machinery/atmospherics/pipe/simple/visible/blue{ dir = 4 }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"bBM" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4starboardforhall) "bCk" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/engineering/engine_airlock) @@ -1364,19 +1486,16 @@ /turf/simulated/wall/r_wall/prepainted/command, /area/ai_upload_foyer) "bDY" = ( -/obj/machinery/door/firedoor/glass, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/airlock/glass/atmos, /obj/machinery/atmospherics/pipe/simple/hidden/green, /obj/machinery/atmospherics/pipe/simple/hidden/fuel, /obj/structure/cable/orange{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/map_helper/access_helper/airlock/station/engineering/department, -/turf/simulated/floor/tiled/techmaint, -/area/engineering/atmos) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardhall) "bEa" = ( /obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, /obj/machinery/atmospherics/pipe/manifold/visible/red{ @@ -1515,6 +1634,12 @@ /obj/effect/paint/sun, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) +"bKa" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "For Spacena Class Vessels" + }, +/turf/space/basic, +/area/space) "bKR" = ( /obj/structure/cable{ icon_state = "0-8" @@ -1614,6 +1739,24 @@ }, /turf/simulated/floor/tiled/techfloor, /area/endeavour/command/turrets) +"bPS" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/camera/network/engineering, +/obj/machinery/air_alarm/north_mount, +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4portafthall) "bQm" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -1765,13 +1908,20 @@ /turf/simulated/floor/tiled/monowhite, /area/engineering/shield_gen) "bWc" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/lightorange/border, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 }, /turf/simulated/floor/tiled/steel_ridged, -/area/endeavour/hallway/d4portafthall) +/area/endeavour/hallway/d4starboardforhall) "bXA" = ( /obj/machinery/camera/network/outside{ dir = 8 @@ -1785,8 +1935,34 @@ /obj/effect/floor_decal/corner/lightorange/border{ dir = 9 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) +"bYC" = ( +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) +"bYM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "bYQ" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, @@ -1823,6 +1999,10 @@ }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4starboardamidhall) +"can" = ( +/obj/structure/loot_pile/maint/boxfort, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "caF" = ( /obj/structure/sign/department/eng{ pixel_y = -32 @@ -1883,6 +2063,18 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/workshop) +"chW" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4portafthall) "cin" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -1918,8 +2110,13 @@ /obj/structure/railing{ dir = 1 }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) +"cjh" = ( +/obj/structure/closet/crate/mimic/closet/safe, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "cjq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1935,6 +2132,23 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) +"cjJ" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) +"cjZ" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4portafthall) "ckg" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -1945,8 +2159,7 @@ /area/endeavour/hallway/d4starboardamidhall) "ckl" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/airlock/glass/research{ @@ -1973,6 +2186,14 @@ }, /turf/simulated/wall/r_wall/prepainted/engineering, /area/engineering/starboardnacelle) +"cnc" = ( +/obj/structure/table/steel, +/obj/random/drinkbottle, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) "cnf" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/floor_decal/spline/fancy{ @@ -2039,6 +2260,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/railing, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "cqk" = ( @@ -2081,13 +2303,21 @@ /obj/effect/floor_decal/industrial/outline, /turf/simulated/floor/tiled/dark, /area/engineering/engine_gas) +"crR" = ( +/obj/structure/catwalk, +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "crZ" = ( /obj/machinery/computer/power_monitor, /obj/effect/floor_decal/corner/yellow{ dir = 5 }, /obj/machinery/computer/ship/navigation/telescreen{ - pixel_y = 27 + pixel_y = 28 }, /turf/simulated/floor/tiled/techfloor, /area/endeavour/command/turrets) @@ -2133,6 +2363,12 @@ /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, /area/engineering/break_room) +"cuI" = ( +/obj/machinery/camera/network/outside{ + dir = 1 + }, +/turf/space/basic, +/area/space) "cvQ" = ( /obj/effect/floor_decal/corner/lightorange/border{ dir = 1 @@ -2207,22 +2443,21 @@ /area/engineering/atmos/workshop) "cyd" = ( /obj/machinery/door/firedoor, -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/corner/orange/border{ - dir = 4 +/obj/machinery/door/airlock/glass_external{ + req_one_access = null }, -/obj/structure/cable/green{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monofloor{ + dir = 8 }, -/turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4aftmaint) "cyR" = ( /obj/machinery/door/airlock/maintenance{ name = "Port Mass Driver Access" }, /obj/machinery/door/firedoor, +/obj/structure/catwalk, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "cAc" = ( @@ -2274,6 +2509,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "cCk" = ( @@ -2310,6 +2549,27 @@ /obj/item/circuitboard/machine/lathe/autolathe, /turf/simulated/floor, /area/storage/tech) +"cFb" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/glass/security{ + id_tag = "Checkpoint"; + layer = 2.8; + name = "Security"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/security/general, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) +"cFY" = ( +/obj/effect/paint/sun, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4portafthall) "cGj" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -2318,8 +2578,7 @@ /area/rnd/robotics/smallcraft) "cGm" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/machinery/computer/atmos_alert{ dir = 8 @@ -2344,14 +2603,30 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/wall/r_wall/prepainted, /area/rnd/robotics/smallcraft) -"cGP" = ( -/obj/structure/cable/green{ +"cGL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/structure/cable/orange{ icon_state = "1-2" }, -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/structure/disposalpipe/segment, +/obj/machinery/air_alarm{ + dir = 4; + pixel_x = -23 + }, +/turf/simulated/floor/tiled/techmaint, +/area/engineering/atmos) +"cGP" = ( +/obj/item/radio/intercom/west_mount{ + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monofloor{ + dir = 8 }, -/turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "cGQ" = ( /obj/effect/floor_decal/corner/blue/diagonal, @@ -2377,6 +2652,15 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) +"cIi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass_external{ + req_one_access = null + }, +/turf/simulated/floor/tiled/monofloor{ + dir = 4 + }, +/area/endeavour/hallway/d4aftmaint) "cIU" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -2387,17 +2671,13 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portamidhall) "cJh" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border{ - dir = 1 +/obj/machinery/light{ + dir = 8 }, -/obj/structure/cable/orange{ - icon_state = "4-8" +/turf/simulated/floor/tiled/monofloor{ + dir = 4 }, -/turf/simulated/floor/tiled/steel_ridged, -/area/endeavour/hallway/d4portafthall) +/area/endeavour/hallway/d4aftmaint) "cJz" = ( /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) @@ -2430,12 +2710,6 @@ /obj/effect/floor_decal/corner/lightorange/bordercorner2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) "cLO" = ( @@ -2502,7 +2776,7 @@ /turf/simulated/floor/carpet/oracarpet, /area/engineering/engineering_monitoring) "cQd" = ( -/obj/machinery/portable_atmospherics/canister/empty, +/obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "cQn" = ( @@ -2517,6 +2791,14 @@ /obj/machinery/blackbox_recorder, /turf/simulated/floor/tiled/techfloor, /area/ai_upload_foyer) +"cQM" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = -32 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4starboardhall) "cQR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2558,7 +2840,7 @@ "cRV" = ( /obj/machinery/conveyor{ dir = 4; - id = "courser_battery" + id = "starboard_battery" }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) @@ -2607,6 +2889,10 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portafthall) +"dah" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "dbo" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled, @@ -2674,6 +2960,10 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardhall) +"dhb" = ( +/obj/structure/salvageable/machine, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "dhh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -2704,11 +2994,16 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "djL" = ( /obj/effect/floor_decal/borderfloorblack{ - dir = 1 + dir = 9 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 9 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) @@ -2755,7 +3050,8 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, /obj/structure/sign/department/eng{ - pixel_y = -32 + pixel_y = -32; + pixel_x = -4 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -2806,6 +3102,13 @@ }, /turf/simulated/floor/plating, /area/engineering/portnacelle) +"dnD" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "doA" = ( /obj/machinery/telecomms/server/presets/common, /turf/simulated/floor/tiled/dark{ @@ -2813,8 +3116,18 @@ }, /area/tcommsat/chamber) "dpt" = ( -/obj/structure/cable/orange{ - icon_state = "1-4" +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 1 }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) @@ -2893,6 +3206,7 @@ /area/engineering/atmos) "dtj" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/sun, /turf/simulated/floor/wood, /area/engineering/hallway/lower) "dtD" = ( @@ -2950,6 +3264,25 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/maintenance/substation) +"dzG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) +"dAg" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + alpha = 255; + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "dAy" = ( /obj/effect/floor_decal/corner/lightorange/border{ dir = 6 @@ -2963,16 +3296,8 @@ }, /area/tcommsat/chamber) "dBH" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/network/engineering, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) "dBT" = ( @@ -3070,6 +3395,10 @@ /obj/machinery/atmospherics/pipe/simple/visible/black, /turf/simulated/floor/plating, /area/engineering/atmos) +"dHp" = ( +/obj/structure/salvageable/machine_os, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "dHM" = ( /turf/simulated/floor/plating, /area/engineering/hallway/lower) @@ -3141,6 +3470,15 @@ }, /turf/simulated/floor/plating, /area/engineering/atmos) +"dOe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4fwdhall) "dOL" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/engineering/engine_smes) @@ -3224,6 +3562,13 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/effect/floor_decal/borderfloorblack/corner{ + alpha = 255; + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "dTA" = ( @@ -3245,8 +3590,8 @@ /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) "dWT" = ( -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/machinery/door/firedoor{ + dir = 8 }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) @@ -3254,6 +3599,14 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) +"dYd" = ( +/obj/machinery/door/blast/regular{ + name = "Pod Bay Outer Blast Door"; + id = "podbayouterhanger" + }, +/obj/machinery/atmospheric_field_generator/perma, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "dYW" = ( /turf/simulated/wall/r_wall/prepainted, /area/engineering/hallway/lower) @@ -3280,16 +3633,12 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) "dZL" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/corner/lightorange/border, -/obj/effect/floor_decal/borderfloorblack/corner2{ - alpha = 255 - }, -/obj/effect/floor_decal/corner/lightorange/bordercorner2, /obj/structure/disposalpipe/segment{ dir = 8; icon_state = "pipe-c" }, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/lightorange/bordercorner, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardhall) "eaq" = ( @@ -3315,6 +3664,19 @@ /obj/structure/closet/toolcloset, /turf/simulated/floor/tiled/techmaint, /area/engineering/locker_room) +"ebQ" = ( +/obj/machinery/suit_storage_unit/engineering, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) +"ebZ" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "ecY" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -3348,8 +3710,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -3400,8 +3761,26 @@ "egF" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 5 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) +"ehq" = ( +/obj/machinery/air_alarm/north_mount, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "ehr" = ( /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) @@ -3539,6 +3918,10 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) +"eme" = ( +/obj/machinery/portable_atmospherics/powered/pump/filled, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "eox" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -3637,6 +4020,7 @@ /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/paint/sun, /turf/simulated/floor/wood, /area/engineering/hallway/lower) "euv" = ( @@ -3657,6 +4041,7 @@ dir = 1; icon_state = "pipe-c" }, +/obj/structure/railing, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "evL" = ( @@ -3668,6 +4053,9 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portamidhall) +"evT" = ( +/turf/simulated/wall/r_wall/prepainted/engineering/atmos, +/area/endeavour/hallway/d4aftmaint) "exs" = ( /obj/item/stack/cable_coil/green{ pixel_y = 4 @@ -3729,6 +4117,15 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, /area/engineering/locker_room) +"ezJ" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "eBr" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -3766,10 +4163,10 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/atmos/eva) "eDe" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/reinforced, /area/endeavour/hallway/d4aftmaint) "eDC" = ( /obj/effect/floor_decal/borderfloorblack{ @@ -3794,19 +4191,11 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "eFC" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty, /obj/effect/floor_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/window/reinforced{ - dir = 1 + dir = 8 }, -/obj/machinery/door/window/westright, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/endeavour/hallway/d4aftmaint) "eGc" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/outline/red, @@ -3978,19 +4367,6 @@ /turf/simulated/floor/plating, /area/engineering/atmos) "eNP" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - alpha = 255; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/bordercorner2{ - dir = 1 - }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portafthall) @@ -4070,6 +4446,16 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/workshop) +"eSP" = ( +/obj/map_helper/access_helper/airlock/station/engineering/department, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "eTy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4161,6 +4547,18 @@ }, /turf/simulated/floor/plating, /area/endeavour/command/turrets) +"eZL" = ( +/obj/structure/table/rack, +/obj/item/clothing/mask/gas, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/extinguisher, +/obj/item/extinguisher/mini, +/obj/item/tank/oxygen, +/obj/random/maintenance/engineering, +/obj/random/maintenance/clean, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "eZW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 @@ -4391,6 +4789,17 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portforhall) +"flc" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) +"flu" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "fmu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4398,6 +4807,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "fmQ" = ( @@ -4450,6 +4865,9 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "fow" = ( @@ -4457,6 +4875,13 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack/corner{ + alpha = 255; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 1 + }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4fwdhall) "fqb" = ( @@ -4479,6 +4904,7 @@ dir = 4 }, /obj/structure/catwalk, +/obj/structure/railing, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "ftJ" = ( @@ -4523,8 +4949,7 @@ /area/endeavour/hallway/d4fwdmaint) "fwT" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/glass/research{ @@ -4541,6 +4966,12 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"fxl" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/engineering/starboardnacelle) "fxM" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -4575,6 +5006,18 @@ initial_gas_mix = "n2=100;TEMP=80" }, /area/tcommsat/chamber) +"fyX" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4portafthall) "fzb" = ( /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) @@ -4657,6 +5100,9 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/railing{ + dir = 8 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "fEN" = ( @@ -4708,6 +5154,12 @@ }, /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) +"fHL" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4aftmaint) "fHR" = ( /obj/structure/closet/secure_closet/engineering_electrical, /obj/item/clothing/gloves/yellow, @@ -4768,6 +5220,10 @@ }, /turf/simulated/floor/reinforced/airless, /area/engineering/portnacelle) +"fJK" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor/grid, +/area/engineering/portnacelle) "fJV" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -4781,6 +5237,13 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardamidhall) +"fKB" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "fLx" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -4810,6 +5273,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "fMI" = ( @@ -4864,6 +5329,19 @@ /obj/effect/paint/sun, /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) +"fSH" = ( +/obj/machinery/door/airlock/maintenance/engi{ + name = "Secondary PSU room" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/map_helper/access_helper/airlock/station/engineering/department, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "fSI" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -4896,6 +5374,9 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"fUW" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4aftmaint) "fVo" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 1 @@ -4961,6 +5442,12 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portamidhall) +"fZH" = ( +/obj/structure/table/rack, +/obj/random/maintenance/engineering, +/obj/random/maintenance/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "fZX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -4989,6 +5476,11 @@ }, /turf/simulated/floor/tiled/dark, /area/engineering/engine_gas) +"gbL" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/structure/salvageable/machine, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "gbN" = ( /obj/machinery/fire_alarm/east_mount, /turf/simulated/floor/wood, @@ -5019,6 +5511,10 @@ }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4starboardafthall) +"gcr" = ( +/obj/item/strangerock, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "gcI" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/borderfloorblack{ @@ -5033,6 +5529,15 @@ }, /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) +"gdC" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "ggr" = ( /obj/structure/bed/chair/comfy/beige{ dir = 8 @@ -5087,9 +5592,7 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardhall) "glt" = ( -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/visible/yellow, /turf/simulated/wall/r_wall/prepainted/engineering/atmos, /area/engineering/atmos) "glO" = ( @@ -5119,6 +5622,12 @@ }, /turf/simulated/floor/tiled/dark, /area/engineering/engine_gas) +"goj" = ( +/obj/structure/table/rack, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "goM" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5155,6 +5664,10 @@ "gqP" = ( /turf/simulated/wall/durasteel, /area/ai) +"gqV" = ( +/obj/structure/bed/padded, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "grk" = ( /obj/effect/floor_decal/techfloor/orange/corner{ dir = 1 @@ -5197,6 +5710,7 @@ /area/endeavour/command/turrets) "gtb" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/sun, /turf/simulated/floor/wood, /area/endeavour/station/stairs_four) "gtA" = ( @@ -5454,6 +5968,10 @@ /obj/structure/bed/chair/sofa/brown/right{ dir = 8 }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, /turf/simulated/floor/wood, /area/engineering/break_room) "gFL" = ( @@ -5552,6 +6070,10 @@ /area/engineering/engine_airlock) "gMP" = ( /obj/machinery/air_alarm/north_mount, +/obj/machinery/light{ + dir = 8; + light_range = 12 + }, /turf/simulated/floor/plating, /area/maintenance/substation/engineering) "gMW" = ( @@ -5645,6 +6167,7 @@ /area/endeavour/hallway/d4starboardhall) "gRl" = ( /obj/structure/railing, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "gRy" = ( @@ -5786,6 +6309,8 @@ "gXG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "gXP" = ( @@ -5829,6 +6354,10 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/locker_room) +"haV" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) "hbw" = ( /obj/machinery/computer/power_monitor{ dir = 1 @@ -5883,6 +6412,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "hfY" = ( @@ -5925,6 +6456,8 @@ /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "hiG" = ( @@ -5938,6 +6471,23 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portamidhall) +"hjB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 8 + }, +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "hjF" = ( /obj/structure/table/hardwoodtable, /obj/item/stamp/ce{ @@ -6029,6 +6579,7 @@ /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "hne" = ( @@ -6058,6 +6609,13 @@ }, /turf/simulated/floor/bluegrid, /area/ai) +"hoN" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/tank/emergency/oxygen/double, +/obj/item/tank/emergency/oxygen/engi, +/obj/item/tank/emergency/oxygen/engi, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "hqa" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -6176,6 +6734,17 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/engineering/engine_smes) +"hwk" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/item/paper{ + name = "Notice to NSV Endeavour Engineering"; + info = "This area has been cordoned off for prototyping purposes. A new engine installation is being considered, and will be installed here as development continues, up to and including a fully functional prototype to run in parallel to the normal ship's power plant." + }, +/obj/structure/table/steel, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "hxx" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 @@ -6183,6 +6752,15 @@ /obj/machinery/atmospherics/pipe/simple/visible/blue, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"hxJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "hxV" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -6236,6 +6814,11 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4porthall) +"hBu" = ( +/turf/simulated/floor/tiled/monofloor{ + dir = 4 + }, +/area/endeavour/hallway/d4aftmaint) "hBH" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -6420,6 +7003,10 @@ }, /turf/simulated/floor/reinforced/airmix, /area/engineering/atmos) +"hIF" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "hIM" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber{ dir = 8 @@ -6485,6 +7072,12 @@ }, /turf/simulated/wall/r_wall/prepainted/engineering/atmos, /area/engineering/atmos) +"hMC" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 4, Starboard Side" + }, +/turf/space, +/area/space) "hMK" = ( /turf/simulated/floor/wood, /area/crew_quarters/heads/chief) @@ -6519,8 +7112,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /obj/machinery/door/firedoor{ dir = 8 @@ -6654,8 +7246,7 @@ dir = 4 }, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4starboardamidhall) @@ -6700,6 +7291,12 @@ /obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/engineering/atmos) +"hXO" = ( +/obj/machinery/light/small/flicker{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/maintenance/substation/engineering) "hYi" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -6745,6 +7342,13 @@ /obj/machinery/light, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardamidhall) +"iaB" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/salvageable/personal, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "ici" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6790,6 +7394,12 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portforhall) "ieH" = ( @@ -6886,11 +7496,22 @@ /area/endeavour/hallway/d4aftmaint) "ikC" = ( /obj/machinery/light{ - dir = 1; - pixel_y = 20 + dir = 1 }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) +"imm" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4portamidhall) "imx" = ( /obj/structure/cable/cyan{ icon_state = "0-8" @@ -6951,6 +7572,11 @@ }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) +"ios" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/briefcase/inflatable, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "ipB" = ( /obj/structure/window/reinforced{ dir = 8 @@ -7004,6 +7630,8 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "irh" = ( @@ -7061,6 +7689,7 @@ /area/ai_upload_foyer) "ixU" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint/sun, /turf/simulated/floor/wood, /area/engineering/break_room) "iyC" = ( @@ -7105,11 +7734,9 @@ /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portafthall) "iCe" = ( -/obj/machinery/power/breakerbox{ - RCon_tag = "CROSSOVER - AUX" - }, +/obj/structure/loot_pile/maint/technical, /turf/simulated/floor/plating, -/area/endeavour/hallway/d4aftmaint) +/area/endeavour/hallway/d4fwdmaint) "iCO" = ( /obj/machinery/camera/network/engineering, /obj/machinery/atmospherics/valve/digital{ @@ -7231,6 +7858,15 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/engineering/engine_room) +"iKm" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "iLg" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -7368,10 +8004,22 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) +"iSQ" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "iTa" = ( /obj/structure/closet/firecloset, /turf/simulated/floor/tiled/steel, /area/tcommsat/computer) +"iTc" = ( +/obj/structure/closet, +/obj/random/maintenance/engineering, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "iTI" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -7462,6 +8110,10 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/portnacelle) +"iYY" = ( +/obj/structure/dispenser, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "jao" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -7489,6 +8141,29 @@ initial_gas_mix = "n2=100;TEMP=80" }, /area/tcommsat/chamber) +"jdF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/hatch{ + name = "Starboard Nacelle"; + req_one_access = null + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "jdS" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 6 @@ -7520,6 +8195,11 @@ /obj/machinery/camera/network/engineering, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) +"jgy" = ( +/obj/machinery/portable_atmospherics/canister/empty, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "jgJ" = ( /obj/machinery/computer/ship/sensors{ dir = 8 @@ -7562,9 +8242,11 @@ /turf/simulated/floor/tiled/techfloor, /area/ai_upload) "jhP" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) +"jhZ" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/salvageable/personal, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "jio" = ( @@ -7645,6 +8327,8 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "jlo" = ( @@ -7672,10 +8356,11 @@ /turf/simulated/floor/plating, /area/engineering/atmos) "jmD" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/door/blast/regular{ + name = "Pod Bay Inner Blast Door"; + id = "podbayinnerhanger" }, -/turf/simulated/floor/plating, +/turf/simulated/floor/reinforced, /area/endeavour/hallway/d4aftmaint) "jnl" = ( /obj/effect/floor_decal/techfloor/orange, @@ -7715,14 +8400,14 @@ /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "jpi" = ( -/obj/machinery/atmospherics/component/unary/heater{ +/obj/effect/floor_decal/borderfloorblack{ dir = 4 }, -/obj/effect/floor_decal/industrial/hatch{ - color = "#FF0000" +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 4 }, -/turf/simulated/floor/tiled/techmaint, -/area/engineering/atmos) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardhall) "jpt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7805,6 +8490,7 @@ dir = 8 }, /obj/machinery/door/airlock/maintenance, +/obj/structure/catwalk, /turf/simulated/floor/airless/ceiling, /area/endeavour/hallway/d4fwdmaint) "jsW" = ( @@ -7818,19 +8504,10 @@ /area/endeavour/hallway/d4starboardamidhall) "jsX" = ( /obj/effect/floor_decal/borderfloorblack{ - dir = 10 + dir = 8 }, /obj/effect/floor_decal/corner/lightorange/border{ - dir = 10 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 9 - }, -/obj/effect/floor_decal/corner/lightorange/bordercorner2{ - dir = 9 - }, -/obj/structure/cable/orange{ - icon_state = "1-4" + dir = 8 }, /obj/effect/floor_decal/borderfloorblack/corner2{ alpha = 255; @@ -7839,7 +8516,10 @@ /obj/effect/floor_decal/corner/lightorange/bordercorner2{ dir = 8 }, -/turf/simulated/floor/tiled/steel, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardhall) "jtO" = ( /obj/structure/table/reinforced, @@ -7865,6 +8545,11 @@ /obj/structure/cable/green{ icon_state = "1-4" }, +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) +"jwt" = ( +/obj/structure/salvageable/computer, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "jwG" = ( @@ -7930,9 +8615,8 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardhall) "jyr" = ( -/obj/effect/shuttle_landmark/endeavour/deck1/starboard, -/turf/space, -/area/space) +/turf/simulated/wall/r_wall/prepainted/security, +/area/engineering/portnacelle) "jyT" = ( /obj/machinery/lathe/autolathe, /turf/simulated/floor/tiled/techmaint, @@ -7998,6 +8682,24 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) +"jBs" = ( +/obj/structure/noticeboard{ + dir = 1 + }, +/turf/simulated/wall/prepainted/engineering, +/area/endeavour/hallway/d4fwdmaint) +"jBK" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4portafthall) "jBO" = ( /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) @@ -8018,6 +8720,13 @@ /obj/machinery/light, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"jDu" = ( +/obj/structure/bed/padded, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "jDI" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -8041,6 +8750,12 @@ dir = 5 }, /obj/machinery/air_alarm/west_mount, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "jFB" = ( @@ -8084,6 +8799,7 @@ frequency = 1441; pixel_y = 22 }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "jIm" = ( @@ -8135,7 +8851,7 @@ /obj/machinery/door/firedoor{ dir = 8 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_four) "jLs" = ( /obj/landmark/spawnpoint/job/ai, @@ -8511,6 +9227,10 @@ /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/atmos/workshop) +"kkE" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "kkK" = ( /obj/machinery/atmospherics/pipe/simple/visible/black{ dir = 4 @@ -8542,12 +9262,12 @@ /obj/structure/window/reinforced, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) -"klQ" = ( -/obj/machinery/shield_diffuser{ - icon_state = "fdiffuser_off" +"klx" = ( +/obj/effect/floor_decal/steeldecal/steel_decals2{ + dir = 8 }, -/turf/space/basic, -/area/space) +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4aftmaint) "kmv" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -8634,6 +9354,10 @@ }, /turf/simulated/floor/reinforced/airless, /area/engineering/starboardnacelle) +"krA" = ( +/obj/structure/salvageable/autolathe, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "krH" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -8680,6 +9404,12 @@ dir = 8; icon_state = "pipe-c" }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 6 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "kwb" = ( @@ -8796,6 +9526,13 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/starboardnacelle) +"kAz" = ( +/obj/structure/curtain/open/bed, +/obj/structure/bed/padded, +/obj/item/bedsheet/blue, +/obj/random/plushie, +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) "kAL" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -8910,6 +9647,10 @@ }, /turf/simulated/floor/reinforced/airless, /area/engineering/starboardnacelle) +"kGP" = ( +/obj/item/barrier_tape_segment/engineering, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "kGS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -8959,12 +9700,8 @@ /turf/simulated/floor, /area/storage/tech) "kLQ" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "kMd" = ( @@ -9085,6 +9822,11 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portamidhall) +"kTE" = ( +/obj/structure/closet/crate, +/obj/random/tool, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "kTN" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -9133,6 +9875,15 @@ }, /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) +"kWc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "kXh" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -9243,6 +9994,10 @@ "lcM" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/tcommsat/computer) +"ldJ" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) "leS" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -9376,6 +10131,12 @@ /obj/machinery/light{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portforhall) "lnb" = ( @@ -9486,6 +10247,18 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/starboardnacelle) +"luB" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4portafthall) "luJ" = ( /obj/machinery/atmospherics/pipe/simple/visible/black{ dir = 4 @@ -9572,6 +10345,10 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8; + light_range = 12 + }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) "lDl" = ( @@ -9656,6 +10433,11 @@ /obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) +"lHm" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "lHH" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/plating, @@ -9784,6 +10566,12 @@ /turf/simulated/floor/wood, /area/engineering/break_room) "lSQ" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "lSS" = ( @@ -9984,18 +10772,12 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, /obj/map_helper/access_helper/airlock/station/engineering/department, -/obj/machinery/door/airlock/multi_tile/glass{ - dir = 4 - }, /obj/machinery/door/firedoor{ dir = 8 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/airlock/multi_tile/glass{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "maG" = ( @@ -10040,6 +10822,10 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/locker_room) +"mcc" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "mdk" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -10081,8 +10867,13 @@ /area/endeavour/hallway/d4porthall) "mel" = ( /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 8 }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) @@ -10219,14 +11010,18 @@ }, /area/tcommsat/chamber) "mnQ" = ( -/obj/machinery/atmospherics/component/unary/freezer{ - dir = 4 +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 }, -/obj/effect/floor_decal/industrial/hatch{ - color = "#00B8B2" +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 6 }, -/turf/simulated/floor/tiled/techmaint, -/area/engineering/atmos) +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardhall) "mol" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 8 @@ -10360,6 +11155,15 @@ /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techfloor/grid, /area/endeavour/hallway/d4fwdmaint) +"mvW" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "mwb" = ( /obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{ dir = 8 @@ -10381,6 +11185,12 @@ /obj/machinery/atmospherics/pipe/simple/visible/black, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"mxW" = ( +/obj/machinery/drone_fabricator/matriarch{ + fabricator_tag = "Engineering Matriarch" + }, +/turf/simulated/floor/tiled/monodark, +/area/engineering/drone_fabrication) "myq" = ( /obj/structure/bed/double/padded, /obj/item/bedsheet/cedouble, @@ -10477,8 +11287,7 @@ dir = 8 }, /obj/machinery/light{ - dir = 8; - pixel_x = -10 + dir = 8 }, /obj/machinery/camera/network/engineering{ dir = 4 @@ -10564,9 +11373,6 @@ /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "mFn" = ( @@ -10621,6 +11427,13 @@ /obj/machinery/camera/network/outside, /turf/space, /area/space) +"mKB" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "mKQ" = ( /obj/map_helper/access_helper/airlock/station/engineering/department, /obj/machinery/door/firedoor, @@ -10650,6 +11463,9 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/ai) +"mLs" = ( +/turf/simulated/floor/tiled/dark, +/area/endeavour/hallway/d4fwdhall) "mLw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10742,6 +11558,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardforhall) "mOt" = ( @@ -10829,6 +11647,18 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) +"mTb" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "mTl" = ( /obj/effect/floor_decal/corner/lightorange/border{ dir = 4 @@ -10855,21 +11685,20 @@ /turf/simulated/floor/tiled/techfloor, /area/endeavour/command/turrets) "mTY" = ( -/obj/structure/catwalk, -/obj/machinery/fire_alarm/north_mount, +/obj/machinery/conveyor_switch/oneway{ + tag = "mailroom"; + id = "starboard_battery" + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "mVv" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 +/obj/effect/floor_decal/industrial/hatch{ + color = "#FF0000" }, -/obj/machinery/atmospherics/portables_connector{ +/obj/machinery/atmospherics/component/unary/heater{ dir = 4 }, -/obj/machinery/portable_atmospherics/canister/empty, -/obj/machinery/door/window/westleft, -/obj/structure/window/reinforced, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) "mVD" = ( /obj/machinery/door/firedoor, @@ -10904,14 +11733,10 @@ /turf/simulated/wall/r_wall/prepainted, /area/endeavour/hallway/d4portforhall) "nat" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, +/obj/structure/table/rack, +/obj/random/maintenance/engineering, /turf/simulated/floor/plating, -/area/endeavour/hallway/d4aftmaint) +/area/endeavour/hallway/d4fwdmaint) "naO" = ( /obj/effect/floor_decal/corner/navgold/full, /turf/simulated/floor/tiled/techfloor, @@ -10938,6 +11763,14 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"ncJ" = ( +/obj/structure/table/steel, +/obj/item/storage/fancy/cigar/havana, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) +"ncV" = ( +/turf/simulated/wall/r_wall/prepainted/engineering/atmos, +/area/maintenance/substation/engineering) "ndp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -11003,6 +11836,14 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"niS" = ( +/obj/effect/paint/sun, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "niT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -11017,6 +11858,12 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"njB" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "nlb" = ( /obj/machinery/computer/telecomms/server, /turf/simulated/floor/tiled/steel, @@ -11218,7 +12065,7 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) "nsO" = ( -/obj/map_helper/access_helper/airlock/station/engineering/atmospherics, +/obj/map_helper/access_helper/airlock/station/engineering/department, /obj/machinery/door/firedoor/glass{ dir = 8 }, @@ -11256,6 +12103,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/lightorange/bordercorner, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardforhall) "ntt" = ( @@ -11399,10 +12248,23 @@ /obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) +"nBb" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/briefcase/inflatable, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "nBz" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/simulated/floor/reinforced/airless, /area/engineering/starboardnacelle) +"nBG" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/floor_decal/rust, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "nBI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11522,15 +12384,20 @@ /obj/effect/floor_decal/corner/lightorange/bordercorner2{ dir = 9 }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portafthall) +"nGv" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4portforhall) "nHk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 5 @@ -11710,6 +12577,12 @@ /area/space) "nQw" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "nRc" = ( @@ -11739,6 +12612,15 @@ dir = 2; icon_state = "pipe-c" }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 5 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "nRY" = ( @@ -11757,6 +12639,12 @@ /area/endeavour/hallway/d4portforhall) "nTJ" = ( /obj/machinery/fire_alarm/north_mount, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "nTQ" = ( @@ -11786,18 +12674,13 @@ /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) "nUo" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border{ - dir = 1 - }, -/obj/machinery/air_alarm/north_mount, -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/effect/paint/sun, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/structure/cable/green{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled/steel_grid, -/area/endeavour/hallway/d4portafthall) +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "nUM" = ( /obj/structure/sink{ pixel_y = 22 @@ -12057,9 +12940,6 @@ /obj/machinery/light{ dir = 1 }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) "oma" = ( @@ -12102,6 +12982,14 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"onY" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "oqA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -12137,6 +13025,10 @@ /obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) +"oso" = ( +/obj/machinery/fitness/punching_bag/clown, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "otK" = ( /obj/machinery/power/apc/west_mount, /obj/structure/cable/green{ @@ -12260,6 +13152,12 @@ }, /turf/simulated/floor/tiled/techfloor, /area/ai_upload_foyer) +"oDq" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/effect/floor_decal/industrial/warning, +/obj/structure/salvageable/data_os, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "oEU" = ( /obj/machinery/shield_diffuser, /obj/machinery/atmospherics/pipe/manifold/visible/fuel{ @@ -12291,6 +13189,10 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"oGs" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "oIg" = ( /obj/structure/cable{ icon_state = "0-4" @@ -12336,19 +13238,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) -"oLT" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/corner/lightorange/border{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4; - use_power = 0 - }, -/turf/simulated/floor/tiled/steel_ridged, -/area/endeavour/hallway/d4portamidhall) "oNF" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 9 @@ -12396,6 +13285,11 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"oQf" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/bioscan_antenna/permanent, +/turf/simulated/floor/plating, +/area/maintenance/substation) "oQh" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -12478,6 +13372,12 @@ /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, /area/engineering/break_room) +"oTA" = ( +/obj/random/trash_pile, +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "oTS" = ( /obj/effect/floor_decal/spline/fancy, /turf/simulated/floor/carpet/oracarpet, @@ -12588,12 +13488,22 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) +"pbv" = ( +/obj/item/pickaxe/tyrmalin, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "pbx" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4fwdhall) +"pbP" = ( +/obj/machinery/light/small/flicker{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "pcf" = ( /obj/machinery/light/small{ dir = 4 @@ -12639,6 +13549,12 @@ }, /turf/simulated/wall/prepainted/engineering/atmos, /area/engineering/atmos/workshop) +"peM" = ( +/obj/machinery/camera/network/outside{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "pfb" = ( /obj/effect/floor_decal/corner/blue/diagonal, /obj/machinery/door/airlock/command{ @@ -12671,6 +13587,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "pgh" = ( @@ -12688,6 +13607,9 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = -32 + }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4porthall) "pjV" = ( @@ -12699,6 +13621,13 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardhall) +"pku" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "pkM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -12729,6 +13658,10 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel, /area/endeavour/station/stairs_four) +"pmj" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "pmA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -12977,6 +13910,7 @@ icon_state = "4-8" }, /obj/machinery/light/small, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "pFx" = ( @@ -13036,11 +13970,26 @@ }, /turf/simulated/floor/plating, /area/engineering/atmos) +"pJi" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/engineering/portnacelle) "pJw" = ( /obj/structure/table/hardwoodtable, /obj/item/storage/box/snakesnackbox, /turf/simulated/floor/wood, /area/crew_quarters/heads/chief) +"pJW" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) +"pLL" = ( +/obj/machinery/space_heater, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "pLM" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -13058,6 +14007,12 @@ /obj/machinery/power/apc/south_mount, /turf/simulated/floor/plating, /area/tcommsat/powercontrol) +"pMo" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "pMX" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -13086,6 +14041,9 @@ }, /turf/simulated/floor/tiled/techfloor, /area/engineering/engine_airlock) +"pNT" = ( +/turf/simulated/wall/r_wall/prepainted/security, +/area/endeavour/hallway/d4aftmaint) "pOI" = ( /obj/machinery/atmospherics/pipe/simple/visible/black, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -13150,6 +14108,15 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portamidhall) +"pSY" = ( +/obj/machinery/light/small/emergency/flicker, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) +"pTp" = ( +/obj/machinery/light/small, +/obj/structure/fitness/punchingbag, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "pTs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/fuel, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13187,18 +14154,11 @@ /turf/simulated/floor/tiled/monowhite, /area/engineering/drone_fabrication) "pTX" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border{ - dir = 1 - }, -/obj/machinery/camera/network/engineering, -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/effect/shuttle_landmark/automatic{ + name = "For Tug class vessels " }, -/turf/simulated/floor/tiled/steel_ridged, -/area/endeavour/hallway/d4portafthall) +/turf/space, +/area/space) "pUe" = ( /obj/structure/catwalk, /obj/machinery/light/small/emergency{ @@ -13224,6 +14184,12 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "pVu" = ( @@ -13235,6 +14201,12 @@ /area/endeavour/hallway/d4aftmaint) "pVN" = ( /obj/machinery/camera/network/engineering, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "pWy" = ( @@ -13260,6 +14232,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "pXB" = ( @@ -13271,6 +14245,20 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"pYs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4portafthall) "pZs" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -13282,6 +14270,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) +"qbg" = ( +/obj/machinery/air_alarm/east_mount, +/obj/machinery/suit_storage_unit/engineering, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "qbS" = ( /obj/structure/table/standard, /obj/item/aiModule/asimov, @@ -13398,20 +14391,42 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/red, /turf/simulated/wall/r_wall/prepainted/engineering/atmos, /area/engineering/atmos/workshop) +"qmd" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4portafthall) "qmW" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /turf/simulated/floor/tiled/techmaint, /area/rnd/robotics/smallcraft) "qoE" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, /obj/machinery/atmospherics/portables_connector{ dir = 4 }, /obj/machinery/portable_atmospherics/canister/empty, -/obj/effect/floor_decal/industrial/warning{ - dir = 10 +/obj/machinery/door/window/westright, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/structure/window/reinforced, -/obj/machinery/door/window/westleft, /turf/simulated/floor/plating, /area/engineering/atmos) "qpe" = ( @@ -13666,6 +14681,12 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"qAW" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "qBz" = ( /turf/simulated/wall/r_wall/prepainted, /area/endeavour/hallway/d4fwdmaint) @@ -13785,6 +14806,25 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) +"qNE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) +"qOR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardforhall) "qPd" = ( /obj/effect/floor_decal/corner_techfloor_grid{ dir = 10 @@ -13885,7 +14925,7 @@ dir = 8 }, /obj/machinery/fire_alarm/east_mount, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/endeavour/station/stairs_four) "qSr" = ( /obj/machinery/air_alarm/north_mount, @@ -13903,6 +14943,21 @@ }, /turf/simulated/floor/wood, /area/engineering/break_room) +"qSR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/fire_alarm/east_mount{ + dir = 4; + pixel_x = -21 + }, +/turf/simulated/floor/tiled/techmaint, +/area/engineering/atmos) "qTD" = ( /obj/machinery/power/apc/west_mount, /obj/effect/floor_decal/corner_techfloor_grid{ @@ -14037,6 +15092,20 @@ /obj/machinery/light, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardforhall) +"rcy" = ( +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/lightorange/bordercorner, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) +"rcZ" = ( +/obj/effect/floor_decal/rust, +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/random/maintenance/medical, +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) "ren" = ( /obj/structure/cable/orange{ icon_state = "2-4" @@ -14081,7 +15150,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 8 }, -/obj/machinery/light/small, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/portnacelle) "rgn" = ( @@ -14121,6 +15189,12 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) +"rkP" = ( +/obj/structure/bed/chair/bay/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "rlQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -14174,6 +15248,19 @@ }, /turf/simulated/floor/plating, /area/tcommsat/powercontrol) +"rpU" = ( +/obj/machinery/button/remote/blast_door{ + id = "podbayouterhanger"; + name = "Pod Bay Outer Hanger Door"; + pixel_y = 32; + req_access = list(19,10,2); + req_one_access = list(19,10,2) + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "rqK" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -14248,6 +15335,13 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/door/airlock/hatch{ + name = "Starboard Nacelle"; + req_one_access = null + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "rwJ" = ( @@ -14322,16 +15416,10 @@ "rAt" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/corner/lightorange/bordercorner, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) "rAC" = ( @@ -14377,6 +15465,10 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) +"rDB" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "rEl" = ( /obj/map_helper/airlock/door/int_door, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -14423,12 +15515,15 @@ /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4starboardafthall) "rHl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/machinery/light{ dir = 8; light_range = 12 }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/endeavour/hallway/d4aftmaint) "rHY" = ( /obj/machinery/computer/security/engineering, /obj/effect/floor_decal/borderfloorblack{ @@ -14470,6 +15565,9 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/engine_monitoring) +"rMc" = ( +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4aftmaint) "rME" = ( /obj/machinery/camera/network/outside{ dir = 1 @@ -14581,6 +15679,14 @@ /obj/machinery/fire_alarm/north_mount, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portamidhall) +"rTw" = ( +/obj/structure/salvageable/server_os, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) +"rTQ" = ( +/obj/machinery/camera/network/outside, +/turf/space/basic, +/area/space) "rVe" = ( /obj/machinery/atmospherics/pipe/simple/visible/black, /obj/machinery/atmospherics/pipe/simple/visible/blue{ @@ -14626,6 +15732,10 @@ }, /turf/simulated/floor/tiled/steel, /area/tcommsat/computer) +"rZs" = ( +/obj/structure/noticeboard, +/turf/simulated/wall/prepainted/engineering, +/area/endeavour/hallway/d4fwdmaint) "rZu" = ( /obj/effect/floor_decal/corner/lightorange/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -14659,6 +15769,28 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/heads/chief) +"rZL" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardhall) "sap" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -14685,6 +15817,12 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "saT" = ( @@ -14700,6 +15838,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4starboardamidhall) +"sbv" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4aftmaint) "sdP" = ( /obj/machinery/atmospherics/portables_connector, /obj/effect/floor_decal/industrial/outline/red, @@ -14747,10 +15889,14 @@ /turf/simulated/floor/tiled/techfloor, /area/ai_upload) "sgN" = ( -/obj/structure/cable/green{ - icon_state = "2-4" +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monofloor{ + dir = 8 }, -/turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "sgO" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -14776,6 +15922,15 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) +"shX" = ( +/obj/machinery/camera/network/outside{ + dir = 1 + }, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "sjY" = ( /obj/spawner/window/reinforced/full/firelocks, /obj/structure/cable/green{ @@ -14783,6 +15938,21 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/engineering) +"skk" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/glass/security{ + id_tag = "Checkpoint"; + layer = 2.8; + name = "Security"; + req_one_access = null + }, +/obj/map_helper/access_helper/airlock/station/security/general, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4aftmaint) "sky" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -14836,30 +16006,15 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardafthall) "sox" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/steel, -/area/endeavour/hallway/d4portafthall) +/obj/structure/sign/nanotrasen, +/turf/simulated/wall/r_wall/prepainted/security, +/area/endeavour/hallway/d4aftmaint) "spe" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "spY" = ( @@ -15020,6 +16175,15 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "sBU" = ( @@ -15048,21 +16212,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/fuel, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/air_alarm{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8; - light_range = 12 - }, /obj/machinery/atmospherics/pipe/simple/hidden/green, /obj/structure/cable/orange{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/turf/simulated/floor/tiled/techmaint, -/area/engineering/atmos) +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardhall) "sCH" = ( /obj/machinery/atmospherics/pipe/simple/visible/purple{ dir = 5 @@ -15083,15 +16239,14 @@ /obj/machinery/light{ dir = 1 }, -/obj/machinery/light/small{ - dir = 1 - }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "sDU" = ( /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "sEB" = ( @@ -15125,6 +16280,12 @@ /obj/structure/cable/green{ icon_state = "2-4" }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) +"sGo" = ( +/obj/random/maintenance/research, +/obj/structure/table/rack, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "sGE" = ( @@ -15134,6 +16295,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portforhall) "sHl" = ( @@ -15170,11 +16337,10 @@ /turf/simulated/floor/tiled/dark, /area/engineering/engine_gas) "sIE" = ( -/obj/machinery/light/small, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/reinforced, /area/endeavour/hallway/d4aftmaint) "sJm" = ( /obj/effect/floor_decal/borderfloorblack, @@ -15308,6 +16474,13 @@ }, /turf/simulated/floor/tiled/techfloor, /area/endeavour/command/turrets) +"sRs" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "sSp" = ( /obj/structure/table/rack{ dir = 8; @@ -15450,8 +16623,9 @@ /turf/simulated/floor/tiled/steel_dirty, /area/engineering/atmos/workshop) "tfb" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/power/apc/east_mount, +/obj/structure/cable/green{ + icon_state = "0-2" }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) @@ -15482,6 +16656,12 @@ /area/ai_upload) "tlA" = ( /obj/machinery/air_alarm/west_mount, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "tlR" = ( @@ -15515,6 +16695,15 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portafthall) +"tnM" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4fwdhall) "toe" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -15523,6 +16712,11 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4porthall) +"top" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/structure/salvageable/data, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "toK" = ( /obj/landmark/spawnpoint/job/ai/secondary, /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ @@ -15555,10 +16749,17 @@ /turf/simulated/floor/tiled/dark, /area/storage/tech) "tpL" = ( -/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ - dir = 8 +/obj/machinery/atmospherics/portables_connector{ + dir = 4 }, -/turf/simulated/floor/tiled/techmaint, +/obj/machinery/portable_atmospherics/canister/empty, +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/westleft, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/plating, /area/engineering/atmos) "tqe" = ( /turf/space, @@ -15611,6 +16812,25 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/maintenance/substation) +"tuI" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + alpha = 255; + dir = 10 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 10 + }, +/obj/machinery/camera/network/engineering{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4starboardhall) "twj" = ( /turf/simulated/floor/plating, /area/engineering/engine_room) @@ -15674,9 +16894,14 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/workshop) "tAQ" = ( -/obj/effect/shuttle_landmark/endeavour/deck1/port, -/turf/space, -/area/space) +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "tBv" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/spline/fancy{ @@ -15749,10 +16974,11 @@ /turf/simulated/floor/plating, /area/maintenance/substation/engineering) "tFm" = ( -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/reinforced, /area/endeavour/hallway/d4aftmaint) "tFW" = ( /obj/effect/floor_decal/borderfloorblack/corner, @@ -15910,6 +17136,11 @@ initial_gas_mix = "n2=100;TEMP=80" }, /area/tcommsat/chamber) +"tPT" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "tRe" = ( /turf/simulated/floor/tiled/steel, /area/tcommsat/computer) @@ -15978,6 +17209,7 @@ /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/item/paper/pamphlet/substation, /turf/simulated/floor/plating, /area/maintenance/substation/engineering) "tSk" = ( @@ -16047,6 +17279,8 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/lightorange/bordercorner, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4fwdhall) "tUN" = ( @@ -16076,10 +17310,19 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardamidhall) -"tXA" = ( -/obj/machinery/light/small{ +"tWu" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ dir = 1 }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/endeavour/hallway/d4porthall) +"tXA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 8 }, @@ -16092,6 +17335,12 @@ }, /turf/simulated/floor/plating, /area/engineering/drone_fabrication) +"tZd" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "Deck 4, Port Side" + }, +/turf/space/basic, +/area/space) "uai" = ( /obj/map_helper/access_helper/airlock/station/engineering/department, /obj/structure/cable{ @@ -16132,6 +17381,12 @@ /obj/structure/cable/green{ icon_state = "0-2" }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 4 + }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portafthall) "udV" = ( @@ -16156,6 +17411,18 @@ /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner2{ + dir = 6 + }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) @@ -16207,6 +17474,11 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) +"ujJ" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "ujN" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 @@ -16245,6 +17517,10 @@ }, /turf/simulated/floor/tiled/techfloor, /area/ai_upload_foyer) +"ulP" = ( +/obj/structure/closet, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "umi" = ( /obj/machinery/shield_diffuser, /obj/machinery/atmospherics/pipe/manifold/visible/fuel{ @@ -16294,6 +17570,10 @@ /obj/machinery/air_alarm/north_mount, /turf/simulated/floor/tiled/monotile, /area/endeavour/hallway/d4starboardhall) +"uqH" = ( +/obj/machinery/computer/ship/navigation/telescreen, +/turf/simulated/wall/r_wall/prepainted/command, +/area/ai/foyer) "uqT" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -16310,6 +17590,21 @@ }, /turf/simulated/floor/tiled/techfloor, /area/ai_upload_foyer) +"urR" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4starboardamidhall) "usD" = ( /obj/machinery/light/small{ dir = 4 @@ -16380,6 +17675,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "uyk" = ( @@ -16453,23 +17751,15 @@ /turf/simulated/floor/reinforced/nitrogen, /area/engineering/atmos) "uBe" = ( -/obj/machinery/door/firedoor, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/corner/orange/border{ - dir = 8 - }, -/obj/map_helper/access_helper/airlock/station/engineering/department, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/multi_tile/glass, -/turf/simulated/floor/tiled/steel, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) +"uBK" = ( +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = -32 + }, +/turf/simulated/floor/tiled/monotile, +/area/endeavour/hallway/d4porthall) "uCd" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -16540,6 +17830,14 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4starboardhall) +"uFk" = ( +/obj/machinery/portable_atmospherics/canister/empty, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "uFs" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -16739,6 +18037,22 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/portnacelle) +"uXJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/eastright{ + req_access = null; + req_one_access = list(1,38); + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4aftmaint) "uYd" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/structure/disposalpipe/segment{ @@ -16746,6 +18060,15 @@ }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"uYj" = ( +/obj/machinery/camera/network/outside{ + dir = 1 + }, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4aftmaint) "uYJ" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -16789,6 +18112,9 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, +/obj/map_helper/access_helper/airlock/station/engineering/department, +/obj/machinery/door/airlock/glass/atmos, +/obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) "vbk" = ( @@ -16825,6 +18151,8 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "vdK" = ( @@ -16867,10 +18195,25 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation) +"veY" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/endeavour/hallway/d4fwdhall) "vgl" = ( /obj/machinery/light{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "vgA" = ( @@ -16960,7 +18303,6 @@ /obj/effect/floor_decal/corner/lightorange/border{ dir = 8 }, -/obj/map_helper/access_helper/airlock/station/engineering/department, /obj/machinery/atmospherics/pipe/simple/hidden/fuel, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -17012,7 +18354,7 @@ /turf/simulated/floor/tiled/dark, /area/storage/tech) "vkX" = ( -/obj/map_helper/access_helper/airlock/station/engineering/atmospherics, +/obj/map_helper/access_helper/airlock/station/engineering/department, /obj/machinery/door/firedoor/glass{ dir = 8 }, @@ -17162,6 +18504,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/railing, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "vsQ" = ( @@ -17548,6 +18891,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/fuel, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/starboardnacelle) +"vOT" = ( +/obj/item/barrier_tape_segment/engineering, +/obj/effect/floor_decal/industrial/warning, +/obj/structure/salvageable/console_broken_os{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "vOW" = ( /obj/machinery/door/firedoor, /obj/map_helper/access_helper/airlock/station/maintenance, @@ -17594,6 +18945,13 @@ }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) +"vSq" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/salvageable/autolathe, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "vTv" = ( /obj/landmark{ name = "carpspawn" @@ -17619,7 +18977,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/map_helper/access_helper/airlock/station/engineering/atmospherics, +/obj/map_helper/access_helper/airlock/station/engineering/department, /obj/machinery/door/firedoor/glass{ dir = 8 }, @@ -17726,8 +19084,7 @@ }, /obj/structure/catwalk, /obj/machinery/light{ - dir = 4; - use_power = 0 + dir = 4 }, /turf/simulated/floor/plating, /area/engineering/engine_smes) @@ -17826,6 +19183,10 @@ }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdmaint) +"wcd" = ( +/obj/spawner/window/low_wall/borosillicate/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "wcA" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/endeavour/hallway/d4porthall) @@ -17959,6 +19320,15 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"whC" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/endeavour/hallway/d4starboardforhall) "whH" = ( /obj/machinery/button/ignition{ id = "portnacelle_igniter"; @@ -17973,6 +19343,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/bordercorner{ + dir = 4 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portforhall) "wiw" = ( @@ -18029,8 +19405,20 @@ dir = 4 }, /obj/machinery/air_alarm/north_mount, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portforhall) +"wlC" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "wnt" = ( /obj/structure/cable{ icon_state = "1-2" @@ -18038,10 +19426,10 @@ /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardamidhall) "wom" = ( -/obj/machinery/light/small{ +/obj/machinery/light{ dir = 1 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/reinforced, /area/endeavour/hallway/d4aftmaint) "wpK" = ( /obj/effect/floor_decal/corner/navgold/full{ @@ -18064,6 +19452,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /obj/structure/catwalk, +/obj/structure/railing{ + dir = 8 + }, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "wqb" = ( @@ -18101,10 +19492,7 @@ /area/endeavour/hallway/d4starboardforhall) "wqH" = ( /obj/structure/catwalk, -/obj/machinery/door/airlock/glass/engineering{ - name = "Engineering Hallway"; - req_one_access = null - }, +/obj/machinery/door/airlock/maintenance, /obj/map_helper/access_helper/airlock/station/maintenance, /obj/machinery/door/firedoor{ dir = 8 @@ -18158,6 +19546,8 @@ /obj/machinery/door/firedoor{ dir = 8 }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4starboardforhall) "wtL" = ( @@ -18167,6 +19557,12 @@ /obj/structure/cable/green{ icon_state = "1-8" }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 6 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4fwdhall) "wuR" = ( @@ -18182,12 +19578,25 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portforhall) "wvS" = ( /obj/machinery/atmospherics/pipe/simple/visible, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"wvY" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "wxj" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -18270,6 +19679,10 @@ }, /turf/simulated/floor/tiled/white, /area/engineering/shield_gen) +"wCh" = ( +/obj/machinery/light, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "wCu" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -18309,13 +19722,13 @@ /turf/simulated/floor/tiled/techmaint, /area/rnd/robotics/smallcraft) "wGc" = ( -/obj/structure/cable/orange{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4aftmaint) "wGk" = ( /obj/effect/floor_decal/industrial/warning{ @@ -18338,6 +19751,19 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4portamidhall) +"wHA" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/structure/salvageable/computer, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) +"wHJ" = ( +/obj/structure/table/steel, +/obj/random/tool, +/obj/random/maintenance/medical, +/turf/simulated/floor, +/area/endeavour/hallway/d4fwdmaint) "wHK" = ( /obj/structure/cable, /obj/effect/floor_decal/industrial/outline{ @@ -18421,6 +19847,10 @@ /obj/effect/floor_decal/corner/lightorange/border, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4porthall) +"wOb" = ( +/obj/random/cutout, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "wOD" = ( /obj/machinery/atmospherics/pipe/cap/visible{ dir = 8 @@ -18496,10 +19926,9 @@ /area/endeavour/command/turrets) "wSS" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/endeavour/hallway/d4fwdhall) "wTv" = ( /obj/machinery/atmospherics/pipe/simple/visible/purple{ @@ -18529,6 +19958,15 @@ }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portamidhall) +"wUY" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "wVA" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -18576,6 +20014,7 @@ /obj/structure/cable/green{ icon_state = "0-2" }, +/obj/structure/catwalk, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) "wYs" = ( @@ -18587,6 +20026,13 @@ /obj/structure/plasticflaps/mining, /turf/simulated/floor/plating, /area/endeavour/hallway/d4fwdmaint) +"wYt" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "port_battery" + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "wZV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 5 @@ -18684,10 +20130,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/fuel, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/fire_alarm/east_mount{ - dir = 4; - pixel_x = -21 - }, /obj/machinery/light{ dir = 8; light_range = 12 @@ -18738,12 +20180,23 @@ /obj/structure/bed/chair/comfy/beige, /turf/simulated/floor/wood, /area/engineering/break_room) +"xjr" = ( +/obj/machinery/computer/ship/navigation/telescreen, +/turf/simulated/wall/r_wall/prepainted/command, +/area/ai_upload_foyer) "xjs" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 }, /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos) +"xjQ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/salvageable/autolathe, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "xjV" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -18819,8 +20272,16 @@ /obj/effect/floor_decal/corner/lightorange/border{ dir = 5 }, +/obj/machinery/button/remote/blast_door{ + id = "podbayinnerhanger"; + name = "Pod Bay Inner Hanger Door"; + pixel_y = 32; + req_access = list(19,10,2); + req_one_access = list(19,10,2); + pixel_x = -1 + }, /obj/structure/cable/orange{ - icon_state = "2-8" + icon_state = "2-4" }, /turf/simulated/floor/tiled/steel_grid, /area/endeavour/hallway/d4portafthall) @@ -18910,6 +20371,10 @@ /obj/item/stool/padded, /turf/simulated/floor/tiled/techfloor/grid, /area/engineering/portnacelle) +"xsH" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "xsM" = ( /obj/machinery/atmospherics/component/unary/engine/biggest{ dir = 4 @@ -18955,10 +20420,32 @@ "xwk" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/engineering/drone_fabrication) +"xwD" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 8 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 4 + }, +/obj/map_helper/access_helper/airlock/station/engineering/department, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/endeavour/hallway/d4portafthall) "xwH" = ( /obj/machinery/light{ - dir = 4; - pixel_x = 10 + dir = 4 }, /obj/machinery/computer/rcon{ dir = 8 @@ -19121,6 +20608,11 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardafthall) +"xBx" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/salvageable/autolathe, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "xBR" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -19344,6 +20836,12 @@ /area/crew_quarters/heads/chief) "xLW" = ( /obj/structure/disposalpipe/segment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "xMa" = ( @@ -19368,6 +20866,11 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/endeavour/hallway/d4starboardforhall) +"xNM" = ( +/obj/machinery/light/small, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "xOB" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 @@ -19411,6 +20914,10 @@ }, /turf/simulated/floor/tiled/monotile, /area/engineering/engineering_monitoring) +"xTD" = ( +/obj/item/pickaxe/icepick, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "xTG" = ( /obj/spawner/window/reinforced/full/firelocks, /obj/structure/cable/green{ @@ -19418,6 +20925,13 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/engineering) +"xTZ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/powered/pump/filled, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4fwdmaint) "xWH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 8 @@ -19429,6 +20943,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/railing, /turf/simulated/floor/plating, /area/endeavour/hallway/d4aftmaint) "xXo" = ( @@ -19460,6 +20975,15 @@ /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, /area/engineering/break_room) +"xZC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/reinforced, +/area/endeavour/hallway/d4aftmaint) "yaf" = ( /turf/simulated/floor/reinforced/oxygen, /area/engineering/atmos) @@ -19488,7 +21012,7 @@ /turf/simulated/floor/tiled/techfloor, /area/endeavour/command/turrets) "ycR" = ( -/obj/map_helper/access_helper/airlock/station/engineering/atmospherics, +/obj/map_helper/access_helper/airlock/station/engineering/department, /obj/machinery/door/firedoor/glass{ dir = 8 }, @@ -19502,6 +21026,10 @@ /obj/structure/bed/chair/bay/comfy, /turf/simulated/floor/tiled/techfloor, /area/endeavour/command/turrets) +"ydX" = ( +/obj/structure/reagent_dispensers/he3, +/turf/simulated/floor/plating, +/area/engineering/portnacelle) "yex" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/engineering/engine_room) @@ -19521,9 +21049,11 @@ /obj/effect/floor_decal/corner/lightorange/bordercorner{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 4 }, /turf/simulated/floor/tiled/steel, /area/endeavour/hallway/d4portafthall) @@ -19534,6 +21064,12 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/endeavour/hallway/d4fwdhall) "yfR" = ( @@ -19665,6 +21201,12 @@ "ylp" = ( /turf/simulated/wall/r_wall/prepainted/engineering, /area/tcommsat/powercontrol) +"ylR" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/endeavour/hallway/d4aftmaint) "ylX" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/lightorange/border, @@ -24466,7 +26008,7 @@ jNg jNg jNg jNg -jyr +jNg jNg jNg jNg @@ -24986,9 +26528,9 @@ wEN wEN aXs fCM -lgz -eIq +pJi eIq +fJK wEN wEN psc @@ -25764,7 +27306,7 @@ jYW ain rga eIq -eIq +fJK vLd kdA lHH @@ -25802,7 +27344,7 @@ iXz hHV jBO cXp -pWy +fxl pWy tXA uzl @@ -26736,7 +28278,7 @@ kPC rhM ePf wEN -dFy +ydX mPc dFy dFy @@ -27702,10 +29244,10 @@ wEN wEN wEN wEN -wEN -wEN -wEN -wEN +jyr +jyr +jyr +jyr iAM xwJ lgy @@ -27736,11 +29278,11 @@ twj twj twj yex -jBO -lcb -jBO -jBO -jBO +ikp +jdF +ikp +ikp +ikp hEj hEj hEj @@ -27888,21 +29430,21 @@ jNg jNg jNg jNg +xRj jNg jNg -jNg -ikp -ikp -ikp ikp -jBO -jBO -jBO -jBO -ikp -ihs -xwJ -mHH +iYY +iYY +jhP +jhP +pNT +bdf +fUW +pNT +cjZ +xwD +gIr nTU nhY wyk @@ -27940,9 +29482,9 @@ gyT jBO jBO jBO -ikp -ikp -ikp +jBO +jBO +jBO ikp jNg jNg @@ -28082,18 +29624,18 @@ jNg jNg jNg jNg -jNg -jNg +xRj jNg jNg ikp -ikp -ikp wom -jBO -jBO -jBO -ikp +jhP +jhP +jhP +cFb +fUW +bdf +pNT iAM xwJ oSP @@ -28130,14 +29672,14 @@ jBO jBO jBO jBO +njB +eFC +arX +arX +arX +qAW jBO -jBO -jBO -jBO -ikp ikp -ikp -jNg jNg jNg jNg @@ -28276,19 +29818,19 @@ jNg jNg jNg jNg +xRj jNg jNg -jNg -jNg -jNg -jNg -ikp -jBO -jBO -jBO -jBO -ikp -kqk +dYd +jhP +jhP +jhP +wCh +pNT +bdf +sbv +pNT +ihs xwJ mHH nTU @@ -28319,14 +29861,17 @@ twj twj yex jBO -tIM -jBO -jBO +hjB jBO jBO jBO jBO +pMo jBO +kGP +krA +kGP +xBx jBO ikp jNg @@ -28358,9 +29903,6 @@ jNg jNg jNg jNg -jNg -jNg -jNg xRj xRj xRj @@ -28470,19 +30012,19 @@ jNg jNg jNg jNg +xRj jNg jNg -jNg -jNg -jNg -jNg -ikp -ikp -jBO -jBO -jBO -ikp -iAM +dYd +jhP +flc +hxJ +shX +pNT +fUW +uYj +pNT +bPS xwJ kab nTU @@ -28518,11 +30060,14 @@ jBO jBO jBO jBO +vSq jBO +kGP +dHp +kGP +aXZ jBO ikp -ikp -ikp mKs jNg jNg @@ -28552,9 +30097,6 @@ jNg jNg jNg jNg -jNg -jNg -jNg xRj xRj xRj @@ -28664,20 +30206,20 @@ jNg jNg jNg jNg +xRj jNg jNg -jNg -jNg -jNg -jNg -jNg -ikp -jBO -jBO -jBO -ikp +dYd +jhP +jhP +kWc +jhP +avj +bdf +wGc +skk dBH -xwJ +pYs mHH nTU cvQ @@ -28707,19 +30249,19 @@ twj twj yex ikC -tIM +hjB jBO jBO jBO jBO +pMo +jBO +kGP +jBO +kGP +aXZ jBO ikp -ikp -ikp -jNg -jNg -jNg -jNg jNg jNg jNg @@ -28851,25 +30393,25 @@ jNg jNg jNg jNg +pTX jNg jNg jNg jNg jNg jNg +xRj jNg jNg -jNg -jNg -jNg -jNg -jNg -rME -ikp -jBO -jBO -jBO -ikp +dYd +jhP +jhP +kWc +jhP +pNT +fUW +fHL +pNT udi jzg kab @@ -28901,19 +30443,19 @@ twj twj yex jBO -tIM -jBO -jBO +hjB +njB +iaB +eFC +eFC +wHA jBO +kGP +dhb +kGP +aXZ jBO -wsk ikp -ikp -jNg -jNg -jNg -jNg -jNg jNg jNg jNg @@ -29052,19 +30594,19 @@ jNg jNg jNg jNg +xRj jNg -jNg -jNg -jNg -jNg -jNg -jNg -ikp -jBO -jBO -jBO -ikp -ihs +xRj +dYd +jhP +jhP +kWc +jhP +pNT +uBe +uXJ +pNT +qmd xwJ mHH nTU @@ -29095,12 +30637,18 @@ twj twj yex jBO -tIM -jBO -jBO +hjB +pMo jBO +rTw jBO jBO +top +kGP +kGP +gbL +vOT +wsk ikp jNg jNg @@ -29131,12 +30679,6 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg xRj xRj xRj @@ -29242,22 +30784,22 @@ jNg jNg jNg jNg +xRj +xRj +xRj +xRj +xRj jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -ikp -jBO -jBO -jBO -bJi +dYd +jhP +jhP +kWc +jhP +cIi +cJh +hBu +cIi eNP gIB xnV @@ -29289,19 +30831,19 @@ twj twj yex jBO -tIM +hjB +mKB +top +kGP +kGP +kGP +kGP jBO jBO jBO +oDq jBO ikp -ikp -jNg -jNg -jNg -jNg -jNg -jNg jNg jNg jNg @@ -29436,22 +30978,22 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg xRj -jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj +cuI ikp -jBO -ren -pLM -uBe +rpU +jhP +kWc +jhP +sox +rMc +klx +pNT dpt xwJ mHH @@ -29483,10 +31025,17 @@ twj twj yex jBO -tIM +hjB +mKB +jBO +dhb +jBO +jBO +kGP jBO jBO jBO +pJW jBO ikp gPd @@ -29518,13 +31067,6 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg xRj xRj xRj @@ -29630,24 +31172,24 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -gtA -gPd -ikp -sgN -cGP +xRj +xRj +xRj +xRj +xRj +xRj +xRj +dYd jhP +jhP +tAQ +qNE +cyd +cGP +sgN cyd kLQ -jzg +pYs oSP nqa eGc @@ -29677,22 +31219,22 @@ twj twj yex jBO -tIM +hjB +mKB +kGP +kGP +gbL +kGP +gbL jBO jBO jBO +oDq jBO ikp -usY +bkY gPd jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg xRj xRj jNg @@ -29828,21 +31370,21 @@ jNg jNg jNg jNg -jNg xRj -jNg -jNg -jNg -gPd -usY -ikp -dWT -tFm -tfb -ksD +bKa +xRj +dYd +jhP +jhP +kWc +wCh +pNT +pNT +pNT +pNT cLC -sox -bWc +xwJ +mHH nqa pNL jEy @@ -29871,10 +31413,17 @@ twj twj yex jBO -tIM +hjB +pMo +jwt jBO jBO jBO +kGP +aMS +kGP +kGP +pJW jBO ikp gPd @@ -29906,13 +31455,6 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg xRj xRj xRj @@ -30024,19 +31566,19 @@ jNg jNg xRj xRj -jNg -jNg -jNg -gtA -gPd -ikp -dWT -tFm -eDe -ikp -cJh +xRj +dYd +jhP +jhP +kWc +jhP +jhP +jhP +peM +pNT +iAM xwJ -hLB +kab nqa fZZ xJp @@ -30065,19 +31607,19 @@ twj twj yex jBO -tIM -jBO -jBO +hjB +wUY +bBy +xjQ +hwk +bBy +iSQ +kGP jBO +gbL +aXZ jBO ikp -ikp -jNg -jNg -jNg -jNg -jNg -jNg jNg jNg jNg @@ -30111,7 +31653,7 @@ xRj xRj xRj jNg -jNg +hMC jNg jNg jNg @@ -30218,19 +31760,19 @@ jNg xRj xRj xRj -jNg -jNg -jNg -jNg -jNg -ikp -aSY -tFm -eDe -ikp -nUo +xRj +dYd +jhP +jhP +kWc +jhP +jhP +jhP +wCh +pNT +kqk xwJ -cYd +mHH nqa crO gnX @@ -30265,7 +31807,12 @@ fEm fEm cBS jBO -ikp +pMo +kGP +krA +kGP +jhZ +jBO ikp mKs jNg @@ -30276,15 +31823,10 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -30413,18 +31955,18 @@ jNg xRj xRj xRj -jNg -jNg -jNg -jNg -ikp -wom -tFm -eDe -ikp -cJh +dYd +jhP +sIE +kWc +jhP +jhP +jhP +sIE +jmD +iAM xwJ -hLB +kab nqa crO asr @@ -30459,17 +32001,13 @@ jBO jBO xWH jBO +pMo +kGP +jBO +gbL +aXZ jBO ikp -ikp -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg jNg jNg jNg @@ -30479,6 +32017,10 @@ jNg jNg jNg jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -30568,7 +32110,7 @@ xRj xRj xRj xRj -xRj +tZd xRj xRj xRj @@ -30607,18 +32149,18 @@ jNg xRj xRj jNg -jNg -jNg -jNg -jNg -ikp -jBO +dYd +jhP +xZC +gdC tFm -eDe -ikp +tFm +tFm +dzG +jmD okY xwJ -cYd +mHH nqa nqa nqa @@ -30653,7 +32195,11 @@ gDP gDP xWH jBO +pMo +kGP jBO +kGP +aXZ jBO ikp jNg @@ -30665,14 +32211,10 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -30801,16 +32343,16 @@ jNg jNg jNg jNg -jNg -jNg -jNg -ikp -ikp -jBO -tFm -sIE -ikp -pTX +dYd +jhP +eDe +jhP +jhP +jhP +jhP +eDe +jmD +eDC agu mEZ jnW @@ -30839,7 +32381,7 @@ xJy bMd uOW kbM -kbM +oQf spY wDL kbM @@ -30847,9 +32389,12 @@ jGO gDP ftt jBO +abT +dnD +dnD +dnD +ylR jBO -jBO -ikp ikp mKs jNg @@ -30880,9 +32425,6 @@ jNg jNg jNg jNg -jNg -jNg -jNg xRj xRj xRj @@ -30996,14 +32538,14 @@ jNg jNg rME ikp -ikp -ikp -ikp -jBO -jBO -tFm -eDe -ikp +aKR +ebQ +ebQ +qbg +jhP +jhP +wCh +pNT xmz fod rAt @@ -31044,10 +32586,10 @@ jBO jBO jBO jBO +jBO +jBO +jBO ikp -ikp -jNg -jNg jNg jNg jNg @@ -31191,14 +32733,14 @@ ikp ikp ikp ikp -jBO -jBO -jBO -jBO -tFm -eDe ikp -gIr +ikp +ikp +ikp +dWT +eSP +ikp +cFY aQr lZV dpZ @@ -31235,14 +32777,14 @@ nmh dzx toL jBO +pcf jBO jBO jBO +iXz jBO ikp ikp -ikp -ikp jNg jNg gtA @@ -31382,16 +32924,16 @@ nrt nrt ukW emb -nat +uEt uEt ksD uEt uEt +rHl uEt uEt -wGc -jmD -ikp +uEt +niS bXW yeG nGj @@ -31428,14 +32970,14 @@ dkO mBD gDP rtK -jBO -jBO -jBO -jBO -jBO -jBO -jBO -jBO +ikp +ikp +ikp +ikp +ikp +ikp +ikp +ikp ikp ikp ikp @@ -31576,17 +33118,17 @@ usH usH ukW mpX -iCe -aXZ +jBO +ren bfk pLM pLM pLM pLM -coP -jBO -ikp -iAM +pLM +pLM +fSH +fyX hEI bSj vGs @@ -31600,7 +33142,7 @@ hER wNX tWf tWf -tWf +uBK dOL ieH eOZ @@ -31622,16 +33164,16 @@ fgn aIs aIs vss -jBO -jBO -jBO -jBO -jBO -jBO -jBO -jBO -jBO -jBO +cjJ +afe +nBG +pLL +asH +ios +alT +rDB +hIF +ikp ikp ikp ikp @@ -31776,11 +33318,11 @@ bJi jBO jBO jBO -jBO -jBO -jBO -ikp -ihs +tfb +wlC +wlC +nUo +luB pfR tmS ppa @@ -31813,8 +33355,8 @@ tSf aIs gMP lCS -rHl aIs +jOC vss jBO jBO @@ -31824,11 +33366,11 @@ jBO jBO jBO jBO -jBO -jBO -jBO -jBO -jBO +asH +ikp +gqV +cjh +jDu ikp jNg jNg @@ -32007,8 +33549,8 @@ nAl sjY xFR pBE -jOC aIs +hXO vss jBO jBO @@ -32019,9 +33561,9 @@ jBO jBO jBO jBO +fKB jBO -jBO -jBO +gcr jBO ikp ikp @@ -32168,7 +33710,7 @@ gMW gMW gMW gMW -ihs +jBK kiI cYd ppa @@ -32201,10 +33743,10 @@ cfg aIs tsN mLw -jOC aIs +jOC elK -uyd +bYM uyd uyd uyd @@ -32213,11 +33755,11 @@ uyd wqa euv jBO +ikp +pbP jBO -jBO -jBO -jBO -jBO +gcr +xTD ikp ikp jNg @@ -32396,23 +33938,23 @@ aIs aIs vLj aIs -aIs -cQd -cQd +ncV cQd +evT +evT jBO -jBO -jBO -jBO +uFk +jgy +jgy joX cqe -jBO -jBO -jBO -jBO -jBO -jBO -jBO +pcf +ikp +gqV +cjh +gqV +pcf +pbv ikp ikp gPd @@ -32590,9 +34132,9 @@ hSY xGE csT jsX -vsf -vsf -vsf +tuI +wLZ +rZL vsf vsf vsf @@ -32785,12 +34327,12 @@ gSs qSb hne bDY -uZx +sBW sBW uZx -uZx +qSR xeH -uZx +cGL lDi ptr qAE @@ -32953,7 +34495,7 @@ jZF jZF fSM dpZ -azJ +tWu atZ pgh wpR @@ -32978,10 +34520,10 @@ nJl vdL xwZ dZL -vsf +jpi jpi mnQ -eFC +vsf mVv abb qoE @@ -33173,12 +34715,12 @@ tlR nYq cXX vsf +vsf +vsf +vsf hMf uxm uxm -uxm -uxm -uxm glt ljy ntj @@ -33526,7 +35068,7 @@ hZm irv gMW gMW -iAM +chW kiI qjJ jQA @@ -34715,7 +36257,7 @@ oJl bAs icI xAC -sSq +cQM xsV dvY rwJ @@ -35075,7 +36617,7 @@ ylp vLC tDD hmF -tDD +mxW vLC xwk iAM @@ -35281,7 +36823,7 @@ kuh ryp nqw fJm -azJ +tWu atZ dlT bAs @@ -36617,18 +38159,18 @@ kCr yhV ahH tHy -dvY +ulP dvY nCR -dvY -dvY +qBz +iCe dvY dvY nCR dvY dvY -dvY -dvY +ulP +nat qDt evL cIU @@ -36646,7 +38188,7 @@ hOe rAC bSY rAC -oLT +kSz gPH xbS gPH @@ -36813,16 +38355,16 @@ wyf tHy dvY dvY +iCe +qBz +iCe dvY dvY +xXL +xXL +xXL dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY +can qDt wiw wiw @@ -37005,14 +38547,14 @@ tHy tHy tHy tHy +qBz +lHm +qBz +qBz +qBz +qBz dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY +xXL dvY wiw wiw @@ -37025,7 +38567,7 @@ jio fiC wiw wiw -dvY +sGo xsV vqm gDf @@ -37045,7 +38587,7 @@ suA kGS uNt xsV -dvY +iCe nCR dvY xsV @@ -37193,20 +38735,20 @@ xRj xRj jNg jNg -qBz -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY +wcd +kTE dvY dvY dvY +qBz dvY +xXL +xXL +xXL +xXL +lHm +xXL +xXL dvY wiw szc @@ -37219,7 +38761,7 @@ kRf nRc wiw wiw -dvY +wOb xsV pec gDf @@ -37387,21 +38929,21 @@ xRj xRj jNg jNg -qBz -hNp -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY +wcd +bYC +bYC +bYC +haV +ldJ dvY dvY dvY dvY +xXL +qBz +qBz +qBz +can wiw vMK dlD @@ -37582,20 +39124,20 @@ jNg jNg rME qBz +wHJ +cnc +kAz +rcZ +qBz dvY +xTZ dvY dvY +xXL dvY dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY +qBz +qBz wiw wiw wiw @@ -37628,7 +39170,7 @@ kGS uXi xsV dvY -dvY +iCe qqz qqz qqz @@ -37785,14 +39327,14 @@ qBz qBz qBz qBz -dvY -dvY -dvY -dvY -dvY -dvY -dvY -dvY +pku +xXL +xXL +lHm +xXL +xXL +xXL +nat wiw wiw wiw @@ -37801,7 +39343,7 @@ mVD wiw wiw wiw -dvY +pSY xsV fZg xyw @@ -37822,7 +39364,7 @@ kGS uNt xsV dvY -dvY +hoN qqz cxT cxT @@ -37979,13 +39521,13 @@ xRj suy xRj qBz +fZH dvY dvY +qBz dvY dvY -dvY -dvY -dvY +xXL kcE wiw wiw @@ -38176,10 +39718,10 @@ qBz qBz dvY dvY +qBz dvY dvY -dvY -dvY +xXL dvY wiw wiw @@ -38369,11 +39911,11 @@ xRj xRj qBz qBz +iCe +qBz dvY dvY -dvY -dvY -dvY +xXL dvY wiw wiw @@ -38567,7 +40109,7 @@ qBz qBz hNp dvY -dvY +xXL dvY wiw wiw @@ -38761,7 +40303,7 @@ qBz qBz dvY dvY -dvY +xXL dvY wiw wiw @@ -38791,7 +40333,7 @@ aqU kGS uXi xsV -dvY +dah dvY qqz vGM @@ -38953,9 +40495,9 @@ gtA gPd xRj qBz +dah dvY -dvY -dvY +xXL dvY wiw wiw @@ -39148,9 +40690,9 @@ xRj jNg qBz qBz -dvY -dvY -dvY +qBz +xsH +qBz wiw wiw ohC @@ -39179,7 +40721,7 @@ cxN kGS wCu iRg -dvY +oGs dvY nXi buV @@ -39343,7 +40885,7 @@ jNg mtv qBz vFm -dvY +xXL dvY wiw wpK @@ -39536,9 +41078,9 @@ jNg jNg jNg qBz -dvY -dvY -dvY +nat +xXL +xXL wiw rOi ttr @@ -39547,9 +41089,9 @@ sRr jgJ avD wiw -dvY +pSY xsV -gzp +imm gDf rqK hHC @@ -39732,7 +41274,7 @@ jNg qBz qBz dvY -dvY +xXL wiw wiw wiw @@ -39760,8 +41302,8 @@ hHC oVv kGS uNt -xsV -dvY +jBs +iCe dvY qqz uzL @@ -39926,15 +41468,15 @@ jNg jNg qBz dvY -dvY -dvY +xXL +eme wiw wiw wiw wiw wiw wiw -dvY +ulP dvY xsV gzp @@ -40120,12 +41662,12 @@ jNg xRj qBz qBz +xXL dvY dvY dvY dvY -dvY -dvY +qBz dvY dvY dvY @@ -40149,7 +41691,7 @@ ofz tNt gxJ xsV -dvY +sRs dvY qqz plv @@ -40314,12 +41856,12 @@ jNg gtA gPd qBz +xXL +xXL +xXL dvY dvY -dvY -dvY -dvY -dvY +qBz dvY dvY dvY @@ -40339,11 +41881,11 @@ rgn sNu hHC hHC -aqU +urR kGS uXi xsV -dvY +hNp dvY qqz aym @@ -40510,12 +42052,12 @@ usY qBz qBz hNp -dvY -dvY -dvY -dvY -dvY -dvY +xXL +xXL +xXL +lHm +xXL +xXL dvY dvY xsV @@ -40707,12 +42249,12 @@ qBz dvY dvY dvY +qBz dvY +xXL dvY dvY -dvY -dvY -xsV +rZs gzp gDf rqK @@ -40898,14 +42440,14 @@ xRj xRj suy qBz +iCe +goj +qBz +qBz dvY +xXL dvY -dvY -dvY -dvY -dvY -dvY -dvY +iCe xsV vqm gDf @@ -40925,14 +42467,14 @@ suA kGS uNt xsV +kkE dvY -dvY -dvY -nCR -dvY -dvY -dvY -dvY +qBz +eZL +oTA +iTc +ulP +oso qBz gPd gtA @@ -41092,12 +42634,12 @@ xRj xRj xRj qBz +qBz +qBz +qBz +dah dvY -dvY -dvY -dvY -dvY -dvY +xXL dvY dvY xsV @@ -41121,11 +42663,11 @@ uXi xsV dvY dvY +wvY dvY dvY dvY -dvY -dvY +mcc dvY qBz usY @@ -41290,8 +42832,8 @@ qBz hNp dvY dvY -dvY -dvY +iCe +xXL dvY dvY xsV @@ -41313,13 +42855,13 @@ nYx avq jlo xsV +sDN dvY +qBz dvY dvY dvY -dvY -dvY -dvY +pTp qBz qBz gPd @@ -41482,10 +43024,10 @@ jNg jNg qBz qBz +ulP dvY dvY -dvY -dvY +xXL dvY dvY xsV @@ -41507,14 +43049,14 @@ wrb kGS wCu xsV -sDN -dvY -dvY -dvY -dvY +hNp dvY qBz -qBz +dvY +bAF +rkP +wcd +wcd jNg jNg jNg @@ -41679,8 +43221,8 @@ qBz qBz dvY dvY -dvY -dvY +xXL +xXL sGf wbp wHg @@ -41701,14 +43243,14 @@ bhh gOm uXi xsV +nBb dvY -dvY -dvY -dvY -dvY -qBz qBz -mKs +hNp +ncJ +wcd +wcd +jNg jNg jNg jNg @@ -41875,7 +43417,7 @@ qBz dvY dvY dvY -lUF +flu xsV vqm oms @@ -41895,12 +43437,12 @@ lqz kGS iar xsV -dvY -dvY -dvY -dvY qBz +wvY qBz +dvY +qBz +wcd jNg jNg jNg @@ -42067,9 +43609,9 @@ gPd jNg qBz qBz +ujJ dvY -dvY -lUF +flu xsV fdk bII @@ -42089,13 +43631,13 @@ oZm eLR xxL xsV -dvY -dvY -dvY +pmj +mcc qBz qBz -usY -gPd +qBz +rTQ +xRj jNg jNg jNg @@ -42284,17 +43826,17 @@ wqk hKp qBz dvY -dvY +kcE qBz qBz -jNg +usY gPd -gtA -jNg -jNg -jNg -jNg +xRj jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -42457,7 +43999,7 @@ jNg mtv qBz dvY -lUF +flu qBz vhU oAp @@ -42477,18 +44019,18 @@ qXD obX ppe qBz -dvY +mcc dvY qBz jNg +gPd +gtA jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -42650,13 +44192,13 @@ jNg jNg jNg qBz -dvY -lUF +mcc +flu qBz xmZ oAp fIT -ocO +uqH ocO bny fbf @@ -42679,10 +44221,10 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -42844,8 +44386,8 @@ jNg jNg jNg qBz -dvY -lUF +hoN +flu qBz nwn oAp @@ -42873,10 +44415,10 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj jNg jNg jNg @@ -43038,8 +44580,8 @@ jNg jNg jNg qBz -dvY -lUF +iCe +flu qBz qgV xCS @@ -43060,7 +44602,7 @@ wqk hKp qBz bkn -dvY +iCe qBz mKs jNg @@ -43253,8 +44795,8 @@ obt wqk wLT qBz -dvY -dvY +xXL +ujJ qBz jNg jNg @@ -43426,8 +44968,8 @@ jNg jNg jNg qBz -dvY -lUF +mcc +onY qBz oOK oAp @@ -43447,7 +44989,7 @@ xNn wqk hHD qBz -dvY +xXL dvY qBz jNg @@ -43620,8 +45162,8 @@ jNg jNg jNg qBz -dvY -lUF +aLp +onY qBz nwn oAp @@ -43637,12 +45179,12 @@ uAo rNG xXo xXo -obt +bBM wqk rbo qBz -dvY -dvY +xXL +mcc qBz jNg jNg @@ -43814,8 +45356,8 @@ jNg jNg gPd qBz -dvY -lUF +nBb +onY qBz xmZ oAp @@ -43835,8 +45377,8 @@ xNn wqk hKp qBz -dvY -dvY +xXL +eme qBz gPd gtA @@ -44008,8 +45550,8 @@ jNg gPd usY qBz -dvY -lUF +mcc +onY qBz nwn oAp @@ -44029,7 +45571,7 @@ obt wqk wLT qBz -hNp +pku dvY qBz usY @@ -44202,8 +45744,8 @@ jNg jNg gPd qBz -dvY -lUF +qBz +aSY qBz eki oAp @@ -44223,8 +45765,8 @@ xNn wqk hHD qBz -dvY -dvY +xXL +sRs qBz gPd gtA @@ -44397,7 +45939,7 @@ jNg jNg qBz dvY -lUF +flu qBz nwn oAp @@ -44417,7 +45959,7 @@ obt wqk wLT qBz -dvY +xXL dvY qBz jNg @@ -44611,8 +46153,8 @@ kMd obX xFQ qBz -dvY -dvY +xXL +hoN qBz jNg jNg @@ -44729,7 +46271,7 @@ xRj xRj xRj xRj -xRj +tZd xRj xRj xRj @@ -44785,7 +46327,7 @@ jNg jNg qBz dvY -dvY +xXL qBz vhU oAp @@ -44805,7 +46347,7 @@ wNK wqk wLT qBz -dvY +xXL dvY qBz jNg @@ -44978,13 +46520,13 @@ jNg jNg jNg qBz -dvY -dvY +iCe +xXL qBz oOK oAp fIT -bDO +xjr bDO bDO bDO @@ -44999,8 +46541,8 @@ xNn wqk mFR qBz -dvY -dvY +crR +qBz qBz jNg jNg @@ -45173,7 +46715,7 @@ jNg jNg qBz dvY -dvY +xXL qBz eki huZ @@ -45193,8 +46735,8 @@ xNn wqk hKp qBz -hNp -dvY +pku +nBb qBz jNg jNg @@ -45359,15 +46901,15 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg qBz -dvY -dvY +sRs +xXL qBz akX huZ @@ -45387,7 +46929,7 @@ obt wqk wLT qBz -dvY +xXL dvY qBz jNg @@ -45553,15 +47095,15 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg qBz vFm -kcE +xNM qBz nwn huZ @@ -45581,8 +47123,8 @@ obt wqk wLT qBz -dvY -dvY +xXL +iCe qBz jNg jNg @@ -45747,15 +47289,15 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg qBz dvY -dvY +xXL qBz fkA mQK @@ -45775,7 +47317,7 @@ iQn eLR kTN qBz -dvY +xXL dvY qBz jNg @@ -45783,6 +47325,11 @@ jNg jNg jNg jNg +xRj +xRj +xRj +xRj +xRj jNg jNg jNg @@ -45816,12 +47363,7 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg -jNg +hMC jNg jNg jNg @@ -45915,11 +47457,6 @@ jNg jNg jNg jNg -tAQ -jNg -jNg -jNg -jNg jNg jNg jNg @@ -45946,10 +47483,15 @@ jNg jNg jNg jNg +xRj +xRj +xRj +xRj +xRj jNg qBz -dvY -dvY +iCe +xXL qBz nwn huZ @@ -45969,7 +47511,7 @@ obt wqk rKA qBz -dvY +xXL dvY qBz jNg @@ -45977,11 +47519,11 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg jNg jNg @@ -46135,15 +47677,15 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg qBz dvY -dvY +xXL qBz xmZ huZ @@ -46163,19 +47705,19 @@ kZE wqk hKp qBz -dvY -dvY +xXL +kkE qBz mKs jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg jNg jNg @@ -46329,15 +47871,15 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg qBz dvY -dvY +xXL qBz jMe huZ @@ -46357,7 +47899,7 @@ obt wqk wLT qBz -hNp +pku dvY qBz jNg @@ -46365,11 +47907,11 @@ jNg jNg jNg jNg -jNg -jNg -jNg -jNg -jNg +xRj +xRj +xRj +xRj +xRj jNg jNg jNg @@ -46530,8 +48072,8 @@ jNg jNg jNg qBz -dvY -kcE +oGs +xNM qBz eki huZ @@ -46551,8 +48093,8 @@ fmQ wqk hKp qBz -dvY -dvY +xXL +oGs qBz jNg jNg @@ -46725,7 +48267,7 @@ gtA gPd qBz dvY -dvY +xXL qBz vez huZ @@ -46745,7 +48287,7 @@ obt wqk rbo qBz -dvY +xXL dvY qBz gPd @@ -46919,7 +48461,7 @@ gPd usY qBz dvY -dvY +xXL qBz lnb oRc @@ -46935,11 +48477,11 @@ meF toK tmr tmr -xNn +bWc wqk hKp qBz -dvY +xXL dvY qBz usY @@ -47112,10 +48654,10 @@ jNg gtA gPd qBz -dvY -dvY +kkE +xXL qBz -nwn +nGv wii nSo tmr @@ -47131,10 +48673,10 @@ tmr tmr eYp ntn -wLT +whC qBz -dvY -dvY +xXL +pmj qBz gPd gtA @@ -47307,7 +48849,7 @@ jNg jNg qBz dvY -dvY +xXL qBz mZZ sGE @@ -47324,10 +48866,10 @@ vsQ tmr tmr xNn -wqk +qOR xos qBz -vFm +ehq dvY qBz jNg @@ -47500,9 +49042,9 @@ jNg jNg jNg qBz -dvY -dvY -dvY +xXL +xXL +dah mZZ wvc nAP @@ -47518,10 +49060,10 @@ lMn tmr tmr xNn -wqk +qOR xos hNp -dvY +xXL dvY qBz jNg @@ -47696,7 +49238,7 @@ jNg qBz jHd dvY -dvY +pmj mZZ wlw fIT @@ -47715,8 +49257,8 @@ qXD mOl xos dvY -dvY -dvY +xXL +xXL qBz jNg jNg @@ -47906,7 +49448,7 @@ tmr tmr tmr obt -wqk +qOR xos qDt qDt @@ -48102,9 +49644,9 @@ tmr ekV wsO xos +dah dvY -dvY -dvY +xXL qBz mKs jNg @@ -48277,7 +49819,7 @@ jNg jNg qBz xXL -dvY +xXL dvY gGG fmu @@ -48298,7 +49840,7 @@ bmP lbF dvY dvY -dvY +xXL qBz jNg jNg @@ -48470,7 +50012,7 @@ jNg jNg rME qBz -mTY +gqI ciZ dvY eDQ @@ -48484,7 +50026,7 @@ aYc ghc xsP aYc -djL +ebZ ehr ehr pbx @@ -48492,7 +50034,7 @@ pXA eDQ dvY dvY -dvY +xXL qBz jNg jNg @@ -48664,7 +50206,7 @@ jNg jNg jNg fwR -xXL +dvY ciZ dvY gid @@ -48678,7 +50220,7 @@ aYc ghc ghc ghc -djL +ebZ ehr ehr lfB @@ -48686,7 +50228,7 @@ pXA bhF dvY dvY -dvY +xXL fwR jNg jNg @@ -48858,7 +50400,7 @@ jNg jNg jNg fwR -xXL +dvY ciZ dvY eDQ @@ -48872,15 +50414,15 @@ nMW ghc ghc ghc -djL +ebZ ehr ehr pbx pXA eDQ dvY -dvY -dvY +xXL +xXL fwR jNg jNg @@ -49052,7 +50594,7 @@ jNg jNg jNg fwR -cRV +wYt ciZ dvY gGG @@ -49066,13 +50608,13 @@ aYc ghc ghc aYc -djL +ebZ ehr ehr lfB pXA lbF -dvY +mTY gRl cRV fwR @@ -49246,7 +50788,7 @@ jNg jNg jNg qBz -cRV +wYt ciZ kcE gGG @@ -49260,8 +50802,8 @@ aLa aYc aYc aLa -djL -ehr +mvW +iKm ehr pbx dhN @@ -49440,14 +50982,14 @@ jNg jNg jNg fwR -cRV +wYt ciZ -dvY +aDl gGG lSQ axg jFf -ehr +ezJ qBz qBz qBz @@ -49634,7 +51176,7 @@ jNg jNg jNg fwR -cRV +wYt ciZ dvY gGG @@ -49828,7 +51370,7 @@ jNg jNg jNg fwR -cRV +wYt ciZ dvY gGG @@ -49843,7 +51385,7 @@ vKO jSH cGj fMI -ehr +ebZ vzY pPp fMD @@ -50029,7 +51571,7 @@ gGG vgl uoz eTy -ehr +dAg rXh piH kup @@ -50223,7 +51765,7 @@ gGG lSQ fWg eTy -ehr +rcy rXh piH kup @@ -50237,7 +51779,7 @@ pbx sDU gGG dvY -dvY +xXL hTL qBz gPd @@ -50412,10 +51954,10 @@ usY qBz eEF ciZ -dvY +xXL cyR -lSQ -uoz +tnM +dOe fZX gXG cGG @@ -50430,8 +51972,8 @@ mqz tUx wum tmx -dvY -dvY +xXL +xXL eEF qBz usY @@ -50611,7 +52153,7 @@ qBz qBz yfO ehr -ehr +tPT knf fMI hOM @@ -50619,7 +52161,7 @@ sRd tRY fMI knf -ehr +mTb ehr vdH qBz @@ -50805,7 +52347,7 @@ dvY qBz pVc ehr -ehr +dAg srd pMX nlL @@ -50813,7 +52355,7 @@ tdV vJG pMX fWr -ehr +veY ehr iqX qBz @@ -51191,7 +52733,7 @@ qBz qBz qBz qBz -ehr +mLs jKS fDL fDL @@ -51203,7 +52745,7 @@ bwK fDL fDL jKS -ehr +mLs qBz qBz qBz @@ -51385,7 +52927,7 @@ gPd usY qBz qBz -ehr +mLs jKS ouc wah @@ -51397,7 +52939,7 @@ fDL aOz ouc jKS -ehr +mLs qBz qBz qBz @@ -53530,7 +55072,7 @@ xRj xRj xRj xRj -klQ +xRj xRj xRj xRj diff --git a/maps/endeavour/levels/flagship.dmm b/maps/endeavour/levels/flagship.dmm index 2b482e7554d8..fd734c7363ba 100644 --- a/maps/endeavour/levels/flagship.dmm +++ b/maps/endeavour/levels/flagship.dmm @@ -15084,14 +15084,14 @@ /area/centcom/security) "Vj" = ( /obj/structure/table/steel_reinforced, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, /turf/unsimulated/floor{ icon_state = "dark" }, diff --git a/maps/endeavour/levels/misc.dmm b/maps/endeavour/levels/misc.dmm index 6116ef6612b6..c6f8fc5ec68b 100644 --- a/maps/endeavour/levels/misc.dmm +++ b/maps/endeavour/levels/misc.dmm @@ -146,9 +146,6 @@ }, /turf/simulated/shuttle/floor, /area/shuttle/supply) -"cJ" = ( -/turf/space, -/area/space) "cU" = ( /obj/structure/holostool, /obj/effect/floor_decal/carpet, @@ -626,9 +623,10 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_emptycourt) "qb" = ( +/obj/map_helper/access_helper/airlock/station/external_airlock, /obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" + dir = 8; + id = "QMLoad2" }, /obj/machinery/door/airlock/glass_external{ frequency = 1380; @@ -638,7 +636,6 @@ name = "Shuttle Hatch"; req_one_access = null }, -/obj/map_helper/access_helper/airlock/station/external_airlock, /turf/simulated/shuttle/plating, /area/shuttle/supply) "qd" = ( @@ -2032,9 +2029,10 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/holodorm/source_garden) "We" = ( +/obj/map_helper/access_helper/airlock/station/external_airlock, /obj/machinery/conveyor{ - dir = 8; - id = "QMLoad2" + dir = 4; + id = "QMLoad" }, /obj/machinery/door/airlock/glass_external{ frequency = 1380; @@ -2044,7 +2042,6 @@ name = "Shuttle Hatch"; req_one_access = null }, -/obj/map_helper/access_helper/airlock/station/external_airlock, /turf/simulated/shuttle/plating, /area/shuttle/supply) "Ws" = ( @@ -22966,11 +22963,11 @@ oi RS pQ cI -Us +Ys pQ sZ pQ -Ys +Us cI RS RS @@ -23160,11 +23157,11 @@ oi RS pQ pQ -Us +Ys pQ pQ pQ -Ys +Us pQ pQ HY @@ -23354,11 +23351,11 @@ oi RS pQ pQ -Us +Ys pQ pQ pQ -Ys +Us pQ pQ HY @@ -38720,9 +38717,9 @@ oi oi oi oi -cJ -cJ -cJ +oi +oi +oi oi oi oi @@ -39101,10 +39098,10 @@ Uk oi oi oi -cJ -cJ -cJ -cJ +oi +oi +oi +oi oi oi oi diff --git a/maps/euthenia/euthenia.dm b/maps/euthenia/euthenia.dm index afa91a78d2e4..2c6d2d943da0 100644 --- a/maps/euthenia/euthenia.dm +++ b/maps/euthenia/euthenia.dm @@ -25,6 +25,7 @@ /datum/map/sector/frozen_192, /datum/map/sector/wasteland_192, /datum/map/sector/nebula_tradeport, + /datum/map/sector/delerict_casino, /datum/map/sector/surt, /datum/map/sector/miaphus, /datum/map/sector/roguemining_192/one, diff --git a/maps/rift/engines.dm b/maps/rift/engines.dm index 449067353e34..32052044c455 100644 --- a/maps/rift/engines.dm +++ b/maps/rift/engines.dm @@ -15,8 +15,12 @@ suffix = "sme.dmm" display_name = list("Angry Rock", "The Forbidden Rock Candy", "Death Crystal", "Spicy Crystal", "Hypnotizing Stone") +// disabled because it only worked at all due to an atmos bug +// todo: proper simulation and math this shit out for joules released in total fuel +/* /datum/map_template/engine/rift/burnchamber name = "ProcEngine_Rift_Burn" desc = "Burn Chamber Engine" suffix = "burn.dmm" display_name = list("Toxins Lab", "Build a Campfire", "100 Solarmoths", "Teshari's Bane", "Casting Fireball!") +*/ diff --git a/maps/rift/levels/rift-05-surface2.dmm b/maps/rift/levels/rift-05-surface2.dmm index b38813d36980..917d68f0e79a 100644 --- a/maps/rift/levels/rift-05-surface2.dmm +++ b/maps/rift/levels/rift-05-surface2.dmm @@ -9969,26 +9969,26 @@ desc = null; pixel_y = 24 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8; pixel_y = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8; pixel_y = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8; pixel_y = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8; pixel_y = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8 }, /turf/simulated/floor/tiled/white, diff --git a/maps/rift/levels/rift-06-surface3.dmm b/maps/rift/levels/rift-06-surface3.dmm index 8b013c0138b6..b0c10f84596e 100644 --- a/maps/rift/levels/rift-06-surface3.dmm +++ b/maps/rift/levels/rift-06-surface3.dmm @@ -16937,6 +16937,23 @@ }, /turf/simulated/floor/plating, /area/maintenance/bar/lower) +"byF" = ( +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "shuttle blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/effect/paint_stripe/violet, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plating, +/area/shuttle/excursion/cargo) "bBv" = ( /obj/map_helper/airlock/door/int_door, /obj/structure/cable/green{ @@ -17041,6 +17058,15 @@ /obj/structure/flora/tree/pine, /turf/simulated/floor/outdoors/snow/noblend/lythios43c, /area/rift/surfacebase/outside/outside3) +"bKl" = ( +/obj/effect/paint/black, +/obj/effect/paint_stripe/violet, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/wall/rshull, +/area/shuttle/excursion/cargo) "bKm" = ( /obj/structure/flora/grass/both{ pixel_x = 6; @@ -25273,6 +25299,14 @@ /obj/effect/debris/cleanable/blood/oil/streak, /turf/simulated/floor, /area/shuttle/oldcentury) +"qss" = ( +/obj/effect/paint/black, +/obj/effect/paint_stripe/violet, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/wall/rshull, +/area/shuttle/excursion/cargo) "qsA" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, @@ -28677,6 +28711,10 @@ "wJJ" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/effect/paint_stripe/violet, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, /area/shuttle/excursion/cargo) "wKU" = ( @@ -41613,6 +41651,7 @@ acH aQK aBK aus +aiB aus aus aus @@ -41630,7 +41669,6 @@ aus aus aus aus -aiB aus alo amT @@ -44268,7 +44306,7 @@ oGm oGm afV aQn -mHU +byF avr amn aej @@ -44462,7 +44500,7 @@ axn lxt dcP wJJ -lxt +bKl azE amn aej @@ -44656,7 +44694,7 @@ aHo aYI afV aVj -lxt +qss lxt amn aej diff --git a/maps/rift/levels/rift-10-west_plains.dmm b/maps/rift/levels/rift-10-west_plains.dmm index 7f531c74e37d..a29286873e8c 100644 --- a/maps/rift/levels/rift-10-west_plains.dmm +++ b/maps/rift/levels/rift-10-west_plains.dmm @@ -1122,6 +1122,12 @@ /obj/machinery/light/small, /turf/simulated/floor/tiled/steel_dirty/lythios43c, /area/rift/surfacebase/outside/west) +"fi" = ( +/obj/effect/shuttle_landmark/automatic{ + base_turf = /turf/simulated/floor/outdoors/snow/lythios43c + }, +/turf/simulated/floor/outdoors/snow/lythios43c, +/area/rift/surfacebase/outside/west) "fj" = ( /obj/machinery/power/apc/alarms_hidden/north_mount{ cell_type = null; @@ -7096,6 +7102,10 @@ }, /turf/simulated/floor, /area/rnd/outpost/anomaly_lab/storage) +"Hf" = ( +/obj/tether_away_spawner/lythios_animals, +/turf/simulated/floor/outdoors/snow/lythios43c, +/area/rift/exterior/bunker) "Hg" = ( /obj/structure/cable/heavyduty{ icon_state = "0-8" @@ -19002,7 +19012,7 @@ PP PP PP sv -sv +cL sv sv sv @@ -20167,7 +20177,7 @@ PP PP PP sv -cL +sv sv sv sv @@ -20559,7 +20569,7 @@ sv sv sv sv -sv +fi sv sv sv @@ -22121,7 +22131,7 @@ sv sv sv sv -sv +fi sv sv sv @@ -22296,7 +22306,7 @@ PP sv sv sv -sv +cL sv sv sv @@ -23474,7 +23484,7 @@ sv sv sv sv -cL +sv sv sv sv @@ -26180,7 +26190,7 @@ nz nz nz nz -nz +Hf nz YE sv @@ -26188,7 +26198,7 @@ sv sv sv sv -sv +fi sv sv sv @@ -29094,7 +29104,7 @@ sv sv sv sv -sv +cL sv sv sv diff --git a/maps/rift/levels/rift-11-orbital.dmm b/maps/rift/levels/rift-11-orbital.dmm index 2d29f3d0aaf7..e75fe430a31a 100644 --- a/maps/rift/levels/rift-11-orbital.dmm +++ b/maps/rift/levels/rift-11-orbital.dmm @@ -9573,14 +9573,14 @@ /area/centcom/specops) "Vb" = ( /obj/structure/table/steel_reinforced, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, /turf/unsimulated/floor/dark, /area/centcom/specops) "Vd" = ( diff --git a/maps/rift/rift.dm b/maps/rift/rift.dm index fc2878b95ade..fd991b41dcc4 100644 --- a/maps/rift/rift.dm +++ b/maps/rift/rift.dm @@ -24,6 +24,7 @@ /datum/map/sector/frozen_192, /datum/map/sector/wasteland_192, /datum/map/sector/nebula_tradeport, + /datum/map/sector/delerict_casino, /datum/map/sector/surt, /datum/map/sector/miaphus, /datum/map/sector/roguemining_192/one, @@ -131,7 +132,7 @@ bot_patrolling = FALSE - allowed_spawns = list(LATEJOIN_METHOD_ARRIVALS_SHUTTLE,"Beruang Trading Corp Cryo","Cryogenic Storage") + allowed_spawns = list(LATEJOIN_METHOD_ARRIVALS_SHUTTLE,"Beruang Trading Corp Cryo","Cryogenic Storage","Nebula Visitor Arrival") spawnpoint_died = /datum/spawnpoint/arrivals spawnpoint_left = /datum/spawnpoint/arrivals spawnpoint_stayed = /datum/spawnpoint/cryo diff --git a/maps/sectors/admin_planets_192/andromeda.dmm b/maps/sectors/admin_planets_192/andromeda.dmm index 17dcc5bf1efd..21dce2c0dbd3 100644 --- a/maps/sectors/admin_planets_192/andromeda.dmm +++ b/maps/sectors/admin_planets_192/andromeda.dmm @@ -3500,25 +3500,25 @@ /area/admin_planet/andromeda/sec_briefing) "kE" = ( /obj/structure/table/rack/shelf, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -6; pixel_y = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8; pixel_y = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8; pixel_y = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -6 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -6; pixel_y = -8 }, diff --git a/maps/sectors/admin_planets_192/croatoan.dmm b/maps/sectors/admin_planets_192/croatoan.dmm index 33761393dfae..5bd53c6c9b6d 100644 --- a/maps/sectors/admin_planets_192/croatoan.dmm +++ b/maps/sectors/admin_planets_192/croatoan.dmm @@ -5377,15 +5377,15 @@ /area/admin_planet/croatoan/civ_bar_public) "sN" = ( /obj/structure/table/reinforced, -/obj/item/storage/hypokit, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded, +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8; pixel_y = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8; pixel_y = 8 }, @@ -10471,27 +10471,27 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/storage/hypokit, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded, +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8; pixel_y = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = -8; pixel_y = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8; pixel_y = 8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8; pixel_y = -8 }, -/obj/item/storage/hypokit{ +/obj/item/storage/hypokit/full/loaded{ pixel_x = 8 }, /obj/effect/floor_decal/corner_techfloor_grid/diagonal, diff --git a/maps/sectors/admin_planets_192/fey_map.dmm b/maps/sectors/admin_planets_192/fey_map.dmm index 1373f97a056c..62c498d9398c 100644 --- a/maps/sectors/admin_planets_192/fey_map.dmm +++ b/maps/sectors/admin_planets_192/fey_map.dmm @@ -56,10 +56,10 @@ /area/admin_planet/fey_forest/gateway_facility) "bS" = ( /obj/structure/table/rack/shelf/steel, -/obj/item/storage/hypokit/advanced/loaded{ +/obj/item/storage/hypokit/advanced/full/loaded{ pixel_y = -7 }, -/obj/item/storage/hypokit/advanced/loaded, +/obj/item/storage/hypokit/advanced/full/loaded, /turf/simulated/floor/tiled/techfloor, /area/admin_planet/fey_forest/gateway_facility) "ca" = ( diff --git a/maps/sectors/delerict_casino/delerict_casino-areas.dm b/maps/sectors/delerict_casino/delerict_casino-areas.dm new file mode 100644 index 000000000000..2b57ee1d8394 --- /dev/null +++ b/maps/sectors/delerict_casino/delerict_casino-areas.dm @@ -0,0 +1,116 @@ +/area/sector/delerictcasino + name = "Away Mission - Casino" + icon = 'icons/turf/areas.dmi' + icon_state = "dark" + area_flags = AREA_RAD_SHIELDED + requires_power = 1 + ambience = AMBIENCE_GENERIC + +/area/sector/delerictcasino/ringforrest + name = "\improper Ring Forrest" + icon_state = "green" + ambience = list('sound/ambience/forest-ambience.ogg') + sound_env = LARGE_ENCLOSED + +/area/sector/delerictcasino/engineering + icon_state = "yellow" + ambience = AMBIENCE_ENGINEERING + +/area/sector/delerictcasino/commons + icon_state = "green" + +/area/sector/delerictcasino/dock + icon_state = "blue" + ambience = AMBIENCE_HANGAR + sound_env = LARGE_ENCLOSED + +/area/sector/delerictcasino/pads + icon_state = "purple" + ambience = AMBIENCE_HANGAR + sound_env = LARGE_ENCLOSED + +/area/sector/delerictcasino/spine + name = "\improper Spine" + icon_state = "red" + +/area/sector/delerictcasino/maintenance + name = "\improper Commerce Hall" + icon_state = "yellow" + sound_env = SEWER_PIPE + +/area/sector/delerictcasino/room/ + sound_env = ROOM + requires_power = 0 + +/area/sector/delerictcasino/room/room1 + name = "\improper Casino Room 1" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room2 + name = "\improper Casino Room 2" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room3 + name = "\improper Casino Room 3" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room4 + name = "\improper Casino Room 4" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room5 + name = "\improper Casino Room 5" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room6 + name = "\improper Casino Room 6" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room7 + name = "\improper Casino Room 7" + icon_state = "yellow" + +/area/sector/delerictcasino/room/room8 + name = "\improper Casino Room 8" + icon_state = "yellow" + +/area/sector/delerictcasino/reception + name = "\improper Casino Reception" + icon_state = "yellow" + +/area/sector/delerictcasino/dance + name = "\improper Casino disco" + icon_state = "yellow" + +/area/sector/delerictcasino/restaurant + name = "\improper Casino french Restaurant" + icon_state = "yellow" + +/area/sector/delerictcasino/crew + name = "\improper Casino Crew section" + icon_state = "yellow" + +/area/sector/delerictcasino/vault + name = "\improper Casino Vault" + icon_state = "green" + sound_env = LARGE_ENCLOSED + +/area/sector/delerictcasino/medical + icon_state = "blue" + sound_env = SMALL_ENCLOSED + +/area/sector/delerictcasino/medical/public + icon_state = "blue" + sound_env = SMALL_ENCLOSED + +/area/sector/delerictcasino/security + icon_state = "blue" + sound_env = SMALL_ENCLOSED + +/area/sector/delerictcasino/atmospherics + icon_state = "yellow" + ambience = AMBIENCE_ATMOS + +/area/sector/delerictcasino/exterior + +/area/sector/delerictcasino/expansion diff --git a/maps/sectors/delerict_casino/delerict_casino-misc.dm b/maps/sectors/delerict_casino/delerict_casino-misc.dm new file mode 100644 index 000000000000..11e8db0d7cf5 --- /dev/null +++ b/maps/sectors/delerict_casino/delerict_casino-misc.dm @@ -0,0 +1,199 @@ + +// -- Datums -- // + +/obj/overmap/entity/visitable/sector/delerictcasino + name = "Monarch of Autumn Casino Station" + desc = "A defunct casino station that never was finished, with the flora on board that was once the only thing on board overrunning the ship." + scanner_desc = @{"[i]Incoming Message[/i]: SDF Message to passing ship : The Monarch of Autumn Casino Station has been formaly classified as a delerict. Please approch with caution. +[i] Casino Information [/i] +Welcome to the Monarch of Autumn Casino Station ! Building started in 2530, but multiple problemes financial wise made it impossible to finish. +Activities : Upcomming activities are : Poker, Blackjack, Slots machines, Backarat, Tajaran Poll, Restaurants, Natural Swimming pool, Movie theater, And much more ! +Lifesigns: SDF note - Animals and wildlife are arround on the outer ring. +Ownership: The station is currently without a owner (Corporation went Bankrupt), and Happy Trails refused to buy it because of maintenance cost. Claiming ownership of the stations is however impossible. +Warning: While there is no regulation regarding visiting and scavenging operation on this station, the wildlife is presenting low-levels of hostility. However, the secuirty system of the vault and maintenance system is still active. Pirate and other smugglers may also use this station."} + color = "#ff8c00" //orange ! :D + in_space = 1 + icon_state = "fueldepot" + known = FALSE + + initial_generic_waypoints = list( + "casino_pad_1a", + "casino_pad_1b", + "casino_pad_1c", + "casino_pad_1d", + "casino_pad_2a", + "casino_pad_2b", + "casino_pad_2c", + "casino_pad_2d", + "casino_pad_3a", + "casino_pad_3b", + "casino_pad_3c", + "casino_pad_3d", + "casino_pad_3f", + "casino_pad_3g", + "casino_pad_3h" + ) + +// -- Mobs -- // + +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino //Faster attacks + name = "Casino Security Drone" + desc = "Casino Security !" + base_attack_cooldown = 8 + legacy_melee_damage_lower = 5 + poison_chance = 0 + iff_factions = MOB_IFF_FACTION_CASINO + color = "#ff9d00" + +/mob/living/simple_mob/mechanical/corrupt_maint_drone/matriarch/casino //Tougher, but less lethal and no poison. + name = "Derelict Casino Master Security Drone" + desc = "A not so small, normal-looking drone. It looks like one you'd find on station, except... IT'S COMING AT YOU!" + catalogue_data = list(/datum/category_item/catalogue/technology/drone/corrupt_maint_drone) + iff_factions = MOB_IFF_FACTION_CASINO + + icon_state = "corrupt-matriarch" + icon_living = "corrupt-matriarch" + color = "#ff9d00" + + maxHealth = 70 + health = 70 + poison_chance = 0 + + legacy_melee_damage_lower = 10 + legacy_melee_damage_upper = 10 + base_attack_cooldown = 8 + +/mob/living/simple_mob/mechanical/combat_drone/lesser/casino + name = "Casino Combat Drone" + desc = "An automated combat drone with an aged apperance." + color = "#ff9d00" + movement_cooldown = 10 + iff_factions = MOB_IFF_FACTION_CASINO + +/mob/living/simple_mob/mechanical/combat_drone/lesser/casino/Initialize(mapload) + ion_trail = new + ion_trail.set_up(src) + ion_trail.start() + + shields = new /obj/item/shield_projector/rectangle/automatic/drone/casino(src) + return ..() + +/obj/projectile/beam/drone + damage_force = 10 + +/obj/item/shield_projector/rectangle/automatic/drone/casino + shield_health = 80 + max_shield_health = 80 + shield_regen_delay = 20 SECONDS + shield_regen_amount = 10 + size_x = 1 + size_y = 1 + +/mob/living/simple_mob/animal/space/bear/brown/casino + icon = 'icons/mob/vore.dmi' + name = "Autumn brown bear" + desc = "The casino had the good idea to bring Bear pups to populate the ring Forrest ! Surely they don't grow that fast..." + icon_state = "brownbear" + icon_living = "brownbear" + icon_dead = "brownbear-dead" + icon_gib = "bear-gib" + iff_factions = MOB_IFF_FACTION_FARM_PET + +// ----- ID ------ // + +/obj/item/card/id/external/casino1 + name = "Security Casino Ship 1" + desc = "A Casino Chip working like a ID." + icon_state = "casino-chip" + job_access_type = null + color ="#ff0000f8" + access = list(410) + +/obj/item/card/id/external/casino2 + name = "Security Casino Ship 2" + desc = "A Casino Chip working like a ID." + icon_state = "casino-chip" + job_access_type = null + color ="#fff200f8" + access = list(411) + +/obj/item/card/id/external/casino3 + name = "Security Casino Ship 3" + desc = "A Casino Chip working like a ID." + icon_state = "casino-chip" + job_access_type = null + color ="#1500fff8" + access = list(412) + +//notes + +/obj/item/paper/casinoatc + name = "Faxed Letter - Final ATC note" + info = {"2568-08-25 - Destination - Hadii's Folley : Miaphus'irra : Outpost 7 'Grey Sand' village : House 12.\ + Hey, ill be heading back. Yes, even after that sector explosion I am still alive.\ + But the company lost interess. Actually, they lost everything and are going bankrupt.\ + Its me that is closing up shop. The blast got one of the room, wich was enough to get us a lawsuit with a bigger investisor.\ + Was tasked to get the security system of the vault up and running, there might still be some valuable bits in there.\ + Ill see you soon, Lil sis. - Neruk Mri'Jan"} + +/obj/item/paper/casinolawsuit + name = "Lawsuit Draft" + info = {"2568-08-22 - Destination - Orion Confederatie : Earth : London - 5 Vulcan Street.\ + (The documents itself seems to have been drench in water. However, a notes on the less damaged parts of the document are still readable).\ + 30 years that my father and myself invested in that project. And the stay I had here was dreadfull.\ + Yes, the explosion hitting east side of the station, and destroying my room wasn't their fault, but you must understand me, my precious darling :\ + The workers are not organised, there is no plans, the station was build in a awfull order... Looks at the plants. Sure, it was always to be a forrest,\ + but the plants were planted 30 years ago, and are now growing out of control, at a point where recruited botanist wants a insane salary.\ + I am affraid that I will have to sue the company. They are incopetent... We won't have our little space forrest in space, my dearest.\ + I will return in November, my love - Daren.L"} + +/obj/item/paper/casinochips + name = "Faxed Letter - URGENT - The 3 chips" + color = "#ffc42f" + info = {"- We have a issue. While the staff is being all dissmissed safely, and returned to their home with compensation like planned,\ + We noticed that the 3 security poker chips are missing.\ + We have emptied the vault of the majority of its content, but we still had a few things in there.\ + Those 3 poker chips are the only thing that could open the vault. We expect them to still be lost on board.\ + The remain staff is unsure where they are :\ + One think that one was passed to the visiting investor, Daren Lachance. But his room was spaced.\ + I think Torini saw one fall in the river... Good thing they float. It was Westside.\ + No clue on the final one. A other team will have to search.\ + Before I leave myself, may I command to our dear CEO : Why did we greenlit the use of encrypted poker chips instead of keycards ?\ + Acting Director Swank"} + +/obj/item/paper/casinosec + name = "Note - Security System" + info = {"Please use the 3 Security Casino Chip to open the shutter, they must be equipped to open the shutters. - Security Team"} + +/obj/item/paper/casinowork + name = "Note - To the Construction team" + info = {"2556-02-04" : To the incomming construction team, please be carefull. Our boss, Benny, is a moron, the plants grew too fast and keep growing to fast.\ + The bear pup also grew. I think they ate Billy ! We sedated them, and tried to ship them away to a reserve, but the boss decided to keep 2 !\ + "ThEy ArE cUtE" he said. If you have a other contract, take it please! I think there are leeches in the water ! This station is not worth the danger !"} + +/obj/item/paper/casinowork2 + name = "Letter to Kellern's Bio Farms 1" + info = {"2535-11-08" : This is the Botanical team of the Monarch of Autumn Station.\ + The experimental "Ever Autumn" chem is making wonders to the color of the trees,\ + But we noticed that the groth rate of the flora here is out of control.\ + We only put arround 100 ounces in the ground, and now we have issues even killing the plants.\ + What can we do ?"} + +/obj/item/paper/casinowork3 + name = "Letter from Kellern's Bio Farms" + info = {"2535-11-15" : 100 Ounces ?! Didn't you read the label ?! You are supposed to only put down 5 Ounces ! You only can burn it down now !"} + +/obj/item/paper/casinowork4 + name = "Orders from the boss" + info = {"2531-01-08" : Botanical team, I want the forrest to be ready as soon as possible.\ + We found some some unlabled chems from Kellern's. They said something about quantity, but just put everything in the ground.\ + Director Benny."} + +/obj/item/paper/casinowork5 + name = "Responce to the boss" + info = {"2535-11-16" : Director Benny, we have put too much chems on your orders, and we can't kill the plants. They are growing too fast."} + +/obj/item/paper/casinowork6 + name = "Orders from the boss 2" + info = {"2535-11-16" : Oops. Oh well. You are all fired.\ + Director Benny."} diff --git a/maps/sectors/delerict_casino/delerict_casino.dm b/maps/sectors/delerict_casino/delerict_casino.dm new file mode 100644 index 000000000000..e27940c5cbc9 --- /dev/null +++ b/maps/sectors/delerict_casino/delerict_casino.dm @@ -0,0 +1,16 @@ +/datum/map/sector/delerict_casino + id = "delerict_casino" + name = "Sector - Delerict casino (192x192)" + width = 192 + height = 192 + levels = list( + /datum/map_level/sector/delerict_casino, + ) + +/datum/map_level/sector/delerict_casino + id = "DelerictCasino" + name = "Sector - delerict casino (192x192)" + display_name = "Monarch of Autumn Casino Station" + path = "maps/sectors/delerict_casino/levels/delerict_casino.dmm" + base_turf = /turf/space + base_area = /area/space diff --git a/maps/sectors/delerict_casino/levels/delerict_casino.dmm b/maps/sectors/delerict_casino/levels/delerict_casino.dmm new file mode 100644 index 000000000000..2266ce43eba0 --- /dev/null +++ b/maps/sectors/delerict_casino/levels/delerict_casino.dmm @@ -0,0 +1,47897 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"ad" = ( +/obj/machinery/door/blast/shutters{ + id = "casinovault1" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"ae" = ( +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/crew) +"af" = ( +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"ai" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"ak" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"al" = ( +/obj/structure/salvageable/computer_os, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"an" = ( +/obj/structure/flora/grass/fey/bush/bush9, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"ao" = ( +/obj/structure/table/steel_reinforced, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/grey/border, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"ap" = ( +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"aq" = ( +/obj/structure/flora/ausbushes/reedbush, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"ar" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"au" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor, +/area/sector/delerictcasino/room/room3) +"ax" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"az" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"aE" = ( +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"aF" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"aG" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room2) +"aH" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"aI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"aJ" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/mob/living/simple_mob/animal/sif/leech, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"aK" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"aL" = ( +/obj/structure/flora/fey/large/bush3, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"aM" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"aN" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/small/emergency/flicker{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/ringforrest) +"aQ" = ( +/obj/structure/table/rack/shelf/steel, +/obj/machinery/air_alarm/alarms_hidden{ + pixel_y = 22; + req_one_access = list(160) + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"aT" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"aV" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/rock2, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"aW" = ( +/obj/structure/barricade, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"aY" = ( +/obj/structure/flora/grass/event/sparse_grass2, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"aZ" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/spine) +"ba" = ( +/obj/structure/flora/fey/grass/grass2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"bf" = ( +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"bi" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"bn" = ( +/obj/structure/railing/grey, +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"bo" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/vault) +"bp" = ( +/obj/structure/flora/grass/event/yellow_flowers1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"bu" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/structure/medical_stand/anesthetic, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/machinery/light/spot{ + dir = 8; + nightshift_allowed = 0 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"bx" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room1) +"bz" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"bB" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"bE" = ( +/obj/machinery/camera{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"bF" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"bJ" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"bK" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/tree/fey/large_tree/tree4, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"bL" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"bM" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/dock) +"bP" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"bQ" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/port_gen/pacman, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"bR" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass2, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"bV" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"bW" = ( +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"bX" = ( +/obj/effect/floor_decal/river_beach_corner_edge{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"bZ" = ( +/mob/living/simple_mob/animal/passive/bird/ringneck_dove, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"cc" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/ausbushes/reedbush, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"cd" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"ce" = ( +/obj/structure/bed/double/padded, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"cl" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"cm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"co" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"cp" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/room/room3) +"cr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"ct" = ( +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"cw" = ( +/obj/structure/metal_edge, +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"cx" = ( +/obj/effect/floor_decal/corner/grey/border{ + dir = 5 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"cz" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"cB" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"cC" = ( +/obj/structure/bed/chair/sofa/black/right{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"cD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/engineering, +/area/sector/delerictcasino/engineering) +"cF" = ( +/obj/machinery/light/spot{ + dir = 4; + nightshift_allowed = 0 + }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/structure/sign/nosmoking_2{ + pixel_x = 32 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"cG" = ( +/obj/item/stool{ + color = "#CB9E04" + }, +/obj/item/stool{ + color = "#CB9E04" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"cH" = ( +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"cU" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"cW" = ( +/obj/structure/bed/padded, +/obj/structure/bed/padded{ + pixel_y = 16 + }, +/obj/structure/fence/cut{ + pixel_x = 14 + }, +/obj/structure/fence/cut{ + pixel_x = -15 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"cY" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"cZ" = ( +/obj/structure/table/rack/shelf/steel, +/obj/random/handgun, +/obj/random/handgun, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"dc" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"de" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/fey/grass/grass2, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"dg" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/west_mount, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"dh" = ( +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"dj" = ( +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"dk" = ( +/obj/machinery/light, +/turf/simulated/floor/glass/reinforced/indoors, +/area/sector/delerictcasino/commons) +"dl" = ( +/obj/structure/metal_edge, +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"dp" = ( +/obj/structure/flora/grass/event/bush1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"dq" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"dr" = ( +/obj/structure/metal_edge, +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"du" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_1a"; + name = "Casino pad 1a"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"dv" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"dw" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + dir = 8 + }, +/obj/machinery/light/fairy, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"dy" = ( +/obj/structure/flora/fey/grass/grass5, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"dz" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"dA" = ( +/obj/structure/table/bench/standard, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"dF" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/room/room3) +"dI" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"dL" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"dM" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"dP" = ( +/obj/structure/flora/tree/fey/small_tree/tree5, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"dR" = ( +/obj/machinery/light, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"dT" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/dock) +"dW" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"dY" = ( +/mob/living/simple_mob/mechanical/combat_drone/lesser/casino, +/obj/machinery/porta_turret/poi{ + faction = "ai-casino" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"dZ" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"ed" = ( +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"ef" = ( +/obj/structure/flora/ausbushes/ppflowers, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ej" = ( +/obj/structure/window/reinforced, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"ek" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"em" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/rock/alternative_1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"ep" = ( +/mob/living/simple_mob/animal/passive/lizard, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"eq" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"es" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ev" = ( +/obj/item/spacecash/c10, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"ew" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"ex" = ( +/obj/structure/ghost_pod/manual/lost_drone, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"eB" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"eC" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/blast/shutters{ + id = "casinovault2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"eE" = ( +/obj/effect/floor_decal/corner/grey/diagonal, +/obj/machinery/door/window/brigdoor/eastright, +/obj/map_helper/access_helper/airlock/station/security/general, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"eG" = ( +/obj/structure/flora/grass/fey/bush/bush9, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"eQ" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"eR" = ( +/obj/structure/table/marble, +/obj/item/material/knife/butch/plasteel, +/obj/item/material/kitchen/rollingpin/durasteel, +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/obj/item/reagent_containers/food/condiment/enzyme, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"eS" = ( +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"eV" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"eY" = ( +/obj/structure/table/marble, +/obj/machinery/chemical_dispenser/catering/bar_soft, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"eZ" = ( +/obj/structure/table/hardwoodtable, +/obj/structure/flora/pottedplant/thinbush, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"fc" = ( +/turf/simulated/wall/wood, +/area/sector/delerictcasino/commons) +"fd" = ( +/obj/structure/table/steel_reinforced, +/obj/item/flamethrower/full, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"fe" = ( +/obj/structure/fireplace{ + pixel_y = 11 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"fg" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/dock) +"fh" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"fj" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/west_mount, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"fk" = ( +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"fl" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"fo" = ( +/obj/structure/flora/ausbushes/sunnybush, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"fp" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"fq" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"fr" = ( +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"fu" = ( +/obj/structure/lattice, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"fv" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"fw" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/machinery/door/airlock/multi_tile{ + name = "Casino entry Airlock" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"fx" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/machinery/light/fairy{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"fz" = ( +/obj/machinery/light/flamp/flicker, +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"fA" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/item/stack/material/phoron{ + amount = 25 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"fC" = ( +/obj/structure/frame, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"fF" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"fG" = ( +/obj/structure/table/bench/steel, +/obj/effect/floor_decal/corner/grey/diagonal, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"fH" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"fJ" = ( +/obj/effect/floor_decal/industrial/halfstair, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"fL" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room1) +"fM" = ( +/obj/structure/janitorialcart, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"fN" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/structure/flora/tree/fey/large_tree/tree4, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"fO" = ( +/obj/item/material/shard, +/obj/structure/inflatable/door, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"fP" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"fR" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"fS" = ( +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"fW" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room1) +"fX" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"fZ" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Casino Reception Airlock" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"ga" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"gb" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/tree/fey/small_tree/tree6, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"gc" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/spine) +"gd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"gf" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"gg" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"gh" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"gi" = ( +/obj/structure/table/marble, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"gj" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"gk" = ( +/obj/machinery/shower{ + pixel_y = 17 + }, +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/floor/tiled/kafel_full/white, +/area/sector/delerictcasino/security) +"gl" = ( +/obj/effect/floor_decal/carpet, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"gn" = ( +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"go" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"gr" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"gs" = ( +/obj/structure/fireaxecabinet{ + pixel_y = 32; + req_access = list(160) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"gt" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"gu" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"gw" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/head/helmet/combat, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"gx" = ( +/mob/living/simple_mob/animal/passive/bird/goldcrest, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"gz" = ( +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"gA" = ( +/mob/living/simple_mob/animal/passive/bird/ringneck_dove, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"gB" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"gC" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino entry Airlock" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"gD" = ( +/obj/machinery/light/small, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"gN" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"gO" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"gU" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/ringforrest) +"gV" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/restaurant) +"gX" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"gY" = ( +/obj/machinery/appliance/cooker/oven, +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"gZ" = ( +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"he" = ( +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"hk" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"hm" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"hn" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"hp" = ( +/obj/machinery/shipsensors/weak, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"hq" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"hs" = ( +/mob/living/simple_mob/animal/passive/mouse, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"ht" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/tree/fey/small_tree/tree4{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"hx" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"hy" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"hz" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"hA" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"hB" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"hC" = ( +/turf/simulated/wall/r_wall/prepainted/command, +/area/sector/delerictcasino/dance) +"hH" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"hI" = ( +/obj/structure/inflatable, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"hJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"hK" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"hL" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"hM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"hN" = ( +/obj/structure/closet, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"hO" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/floor_decal/corner/grey/diagonal, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"hP" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/mob/living/simple_mob/animal/passive/bird/black_bird, +/mob/living/simple_mob/animal/passive/bird/black_bird, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"hQ" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"hR" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"hS" = ( +/obj/structure/bed/chair/sofa/blue/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"hW" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_1c"; + name = "Casino pad 1c"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"hX" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"hY" = ( +/obj/machinery/appliance/cooker/oven, +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"hZ" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/spine) +"ib" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"id" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"if" = ( +/obj/machinery/door/blast/regular, +/turf/simulated/floor/plating, +/area/sector/delerictcasino/dock) +"ig" = ( +/obj/structure/flora/tree/fey/small_tree/tree3{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ij" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"ik" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"il" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"in" = ( +/obj/structure/bed/chair/wood{ + dir = 4 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"io" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d"; + pixel_x = -34 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"is" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "casinovault3"; + color = "#1500fff8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"it" = ( +/obj/structure/table/steel_reinforced, +/obj/item/flashlight/lamp, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"iv" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"iw" = ( +/obj/structure/bed/double/padded, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"ix" = ( +/obj/structure/flora/fey/grass/grass5, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"iy" = ( +/obj/structure/flora/fey/grass/grass7, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/maintenance) +"iz" = ( +/obj/structure/table/steel_reinforced, +/obj/item/circuitboard/fax{ + pixel_y = 9 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"iA" = ( +/turf/simulated/floor/glass/reinforced/indoors, +/area/sector/delerictcasino/dance) +"iC" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"iG" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"iH" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"iI" = ( +/obj/machinery/power/smes/buildable/point_of_interest, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"iL" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3f"; + name = "Casino pad 3f"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"iM" = ( +/obj/structure/table/standard, +/obj/item/bodybag/cryobag{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/bodybag/cryobag{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/bodybag/cryobag{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/bodybag/cryobag{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 5 + }, +/obj/machinery/light/spot{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"iN" = ( +/obj/machinery/light/small/emergency/flicker{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"iO" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"iP" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/glass/reinforced/indoors, +/area/sector/delerictcasino/commons) +"iR" = ( +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"iS" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"iT" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"iW" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/medical/public) +"iY" = ( +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"ja" = ( +/obj/structure/table/bench, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"jb" = ( +/obj/structure/flora/fey/large/rock3, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"jd" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"je" = ( +/obj/structure/flora/tree/fey/small_tree/tree2, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"jf" = ( +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"jk" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"jl" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"jn" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"jp" = ( +/obj/effect/floor_decal/corner/grey/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"jq" = ( +/obj/structure/flora/fey/large/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"js" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"jt" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"ju" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"jx" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/floor_decal/corner/grey/border{ + dir = 9 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"jy" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/small, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"jz" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass2, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"jA" = ( +/obj/structure/table/hardwoodtable, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"jB" = ( +/obj/structure/closet/hydrant{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"jC" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"jE" = ( +/obj/structure/barricade, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room6) +"jG" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"jJ" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"jK" = ( +/obj/structure/flora/tree/fey/small_tree/tree6, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"jQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"jV" = ( +/obj/item/paper/casinowork4, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"jW" = ( +/obj/structure/table/rack/shelf/steel, +/obj/random/energy, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"jX" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"jZ" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"kb" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"kc" = ( +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"ke" = ( +/obj/structure/table/steel_reinforced, +/obj/item/event/prop/laptop2, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"kf" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"kh" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room3) +"ki" = ( +/obj/structure/flora/fey/grass/grass4, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"kj" = ( +/obj/structure/flora/fey/grass/grass7, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"kk" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/dock) +"kl" = ( +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"kp" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"ks" = ( +/obj/machinery/atmospherics/component/binary/pump/on{ + name = "Waste" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"kt" = ( +/mob/living/simple_mob/animal/passive/bird/ringneck_dove, +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"kx" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"ky" = ( +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"kz" = ( +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/obj/effect/floor_decal/corner/white/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"kC" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/machinery/light/fairy{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"kF" = ( +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"kG" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"kJ" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"kK" = ( +/obj/structure/flora/fey/grass/grass7, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"kL" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room3) +"kN" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"kQ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/wall/r_wall/prepainted/engineering, +/area/sector/delerictcasino/engineering) +"kR" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"kW" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"kX" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"kY" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"kZ" = ( +/turf/simulated/floor/gold, +/area/sector/delerictcasino/vault) +"lb" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"lc" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"ld" = ( +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"lf" = ( +/obj/structure/table/marble, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"lg" = ( +/obj/structure/table/bench/steel, +/obj/effect/floor_decal/corner/grey/diagonal, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"lh" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"lk" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"lm" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ln" = ( +/obj/structure/curtain/open/bed, +/obj/structure/bed/double/padded, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room2) +"lo" = ( +/obj/structure/table/bench/standard, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"lp" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"lr" = ( +/obj/effect/floor_decal/corner/white/border{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"ls" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room1) +"lu" = ( +/mob/living/simple_mob/animal/passive/bird/black_bird, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ly" = ( +/obj/structure/statue/marble/male{ + pixel_y = 14 + }, +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"lB" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"lD" = ( +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"lE" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"lG" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/mob/living/simple_mob/animal/space/bear/brown/casino, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"lJ" = ( +/obj/machinery/recharge_station, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"lK" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"lN" = ( +/obj/machinery/light/small, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"lO" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"lP" = ( +/obj/structure/flora/tree/fey/small_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"lQ" = ( +/obj/structure/barricade, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room6) +"lR" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"lS" = ( +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"lT" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"lU" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/suit/armor/vest/alt, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"lV" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"lW" = ( +/obj/machinery/power/apc/east_mount{ + pixel_x = 32; + req_access = null; + start_charge = 0 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"lX" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"lZ" = ( +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"mh" = ( +/obj/machinery/door/blast/shutters{ + id = "casinovault2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"mi" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 9 + }, +/obj/machinery/light, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"ml" = ( +/obj/structure/fireplace{ + pixel_y = 11 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"mp" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ms" = ( +/obj/structure/barricade, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"mv" = ( +/turf/simulated/floor/outdoors/beach/sand/desert/indoors, +/area/sector/delerictcasino/ringforrest) +"mx" = ( +/obj/effect/floor_decal/industrial/halfstair, +/turf/simulated/floor/lino, +/area/sector/delerictcasino/ringforrest) +"mB" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"mD" = ( +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"mH" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"mJ" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"mM" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"mN" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"mP" = ( +/mob/living/simple_mob/animal/passive/bird, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"mQ" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/mob/living/simple_mob/animal/space/bear/brown/casino, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"mR" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"mU" = ( +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"mW" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"mY" = ( +/obj/effect/floor_decal/corner/blue/border, +/obj/structure/bed/chair/wheelchair, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"na" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"nb" = ( +/obj/item/spacecash/c1, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"nc" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"ne" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"nh" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"nj" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"nk" = ( +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"nn" = ( +/obj/structure/table/marble, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"np" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "casinovault1"; + color = "#ff0000f8" + }, +/obj/machinery/button/remote/blast_door{ + id = "casinovault2"; + pixel_x = 15; + color = "#fff200f8" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"nq" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"nr" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"nt" = ( +/obj/structure/flora/fey/grass/grass1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"nx" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"nD" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_2a"; + name = "Casino pad 2a"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"nF" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"nH" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"nI" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/structure/flora/tree/fey/small_tree/tree4{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"nJ" = ( +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"nL" = ( +/obj/effect/floor_decal/industrial/halfstair, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"nN" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"nP" = ( +/obj/structure/table/marble, +/obj/machinery/reagentgrinder, +/obj/effect/floor_decal/spline/plain{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"nQ" = ( +/obj/structure/flora/grass/event/full_grass1, +/mob/living/simple_mob/animal/space/bear/brown/casino, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"nU" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3b"; + name = "Casino pad 3b"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"nV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"nX" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"nY" = ( +/obj/machinery/light/spot{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"nZ" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/machinery/vending/wallmed1/public{ + pixel_y = 29 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"ob" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"oc" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"oe" = ( +/obj/structure/barricade, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"oh" = ( +/mob/living/simple_mob/animal/passive/bird/ringneck_dove, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"oi" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"om" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"on" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room3) +"oo" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/machinery/light/fairy{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"op" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"os" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"ot" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/reception) +"ou" = ( +/obj/structure/fireplace{ + pixel_y = 11 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"ov" = ( +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"ow" = ( +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"oy" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"oA" = ( +/obj/machinery/light/small, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"oB" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"oD" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/gun/energy/civtas, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"oE" = ( +/obj/structure/flora/grass/fey/bush/bush6, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"oH" = ( +/obj/structure/table/marble, +/obj/machinery/chemical_dispenser/catering/bar_alc, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"oI" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"oN" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"oO" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"oR" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"oS" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"oW" = ( +/obj/structure/flora/fey/large/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"oY" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"pa" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/flamp, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pb" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"pc" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"pf" = ( +/obj/structure/railing/grey, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"pg" = ( +/obj/structure/flora/ausbushes/reedbush, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"ph" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pi" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"pl" = ( +/obj/structure/railing/grey, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"pm" = ( +/obj/effect/floor_decal/rust, +/mob/living/simple_mob/animal/passive/bird/european_robin, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pn" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"pp" = ( +/obj/effect/floor_decal/corner/blue/border, +/obj/machinery/sleeper/survival_pod, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"pq" = ( +/obj/structure/table/steel_reinforced, +/obj/item/paper/casinoatc, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"pt" = ( +/obj/effect/floor_decal/corner/white/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"pv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"pw" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room6) +"pz" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/security) +"pA" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pC" = ( +/obj/structure/bed/chair/sofa/blue/corner, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"pE" = ( +/obj/structure/flora/tree/fey/small_tree/tree4{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pF" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pG" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pH" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/head/helmet/ballistic, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"pJ" = ( +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pK" = ( +/obj/structure/closet/crate/trashcart, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"pL" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pM" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"pN" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pO" = ( +/obj/structure/metal_edge, +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree7, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pP" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3a"; + name = "Casino pad 3a"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"pT" = ( +/mob/living/simple_mob/animal/passive/bird/european_robin, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"pV" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"pW" = ( +/obj/effect/floor_decal/river_beach_edge{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"pX" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"qa" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/rock3, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"qd" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"qh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/command, +/area/sector/delerictcasino/maintenance) +"qi" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"qj" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"ql" = ( +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/maintenance) +"qo" = ( +/obj/structure/bed/chair/sofa/blue/right{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"qt" = ( +/obj/structure/flora/fey/large/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"qx" = ( +/obj/effect/floor_decal/river_beach_edge{ + dir = 9 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"qy" = ( +/obj/structure/bed/chair/sofa/blue, +/turf/simulated/floor, +/area/sector/delerictcasino/dance) +"qz" = ( +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"qK" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"qM" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"qN" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"qS" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room6) +"qV" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"qX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"qZ" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"ra" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3d"; + name = "Casino pad 3d"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"rd" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"rf" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"ri" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"rk" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"rl" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"rn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"ro" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"rp" = ( +/obj/structure/lattice, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"rq" = ( +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"rs" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/outdoors/beach/sand/desert/indoors, +/area/sector/delerictcasino/ringforrest) +"ru" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/grass/event/leafy_bush1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"rv" = ( +/obj/item/paper/casinowork5, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"rw" = ( +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"ry" = ( +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"rA" = ( +/obj/structure/barricade, +/obj/structure/barricade, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room6) +"rB" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"rC" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"rF" = ( +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/ringforrest) +"rJ" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"rK" = ( +/obj/machinery/door/airlock/vault{ + req_one_access = null + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"rL" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"rO" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"rP" = ( +/obj/machinery/seed_storage/garden, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"rQ" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/sign/warning/airlock{ + pixel_x = 32 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"rS" = ( +/obj/structure/table/gamblingtable, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"rU" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"rV" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/ringforrest) +"rW" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"sb" = ( +/obj/structure/table/fancyblack, +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"sc" = ( +/obj/structure/flora/fey/grass/grass7, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"sf" = ( +/obj/structure/flora/rock/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"sg" = ( +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"si" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"sj" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"sk" = ( +/obj/structure/table/gamblingtable, +/obj/item/storage/pill_bottle/dice_nerd, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"sl" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"sm" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"sq" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"sr" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"sv" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"sA" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"sC" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"sE" = ( +/obj/structure/table/reinforced, +/obj/item/paper/casinowork, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"sF" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"sH" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"sI" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"sK" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"sO" = ( +/obj/structure/bed/chair/sofa/blue, +/obj/effect/floor_decal/rust, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"sQ" = ( +/obj/item/stool{ + color = "#CB9E04" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"sV" = ( +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"sW" = ( +/obj/structure/flora/grass/event/sparse_grass2, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"sX" = ( +/obj/structure/flora/grass/event/sparse_grass2, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"sY" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"sZ" = ( +/obj/structure/flora/tree/fey/small_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"tb" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"tc" = ( +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"td" = ( +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"tf" = ( +/obj/structure/bookcase/manuals, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 27; + pixel_x = 5 + }, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 27; + pixel_x = 5 + }, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 26; + pixel_x = -2 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"tg" = ( +/obj/machinery/door/blast/shutters{ + id = "casinovault3" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"th" = ( +/obj/effect/floor_decal/rust, +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"ti" = ( +/obj/structure/bed/chair/sofa/beige/corner{ + dir = 4 + }, +/obj/machinery/power/apc/west_mount, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"tj" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tk" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"tl" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room2) +"tm" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"to" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/room/room2) +"tp" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tq" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/machinery/air_alarm/alarms_hidden{ + pixel_y = 22; + req_one_access = list(160) + }, +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"ts" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"tu" = ( +/obj/structure/table/gamblingtable, +/obj/item/storage/pill_bottle/dice, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tw" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tx" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tz" = ( +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"tA" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"tB" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"tC" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tE" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/north_mount, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"tH" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room1) +"tJ" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room6) +"tM" = ( +/obj/structure/flora/fey/grass/grass2, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"tR" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"tV" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/dance) +"tW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/dance) +"tZ" = ( +/obj/machinery/atm{ + pixel_y = 27 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/dock) +"ub" = ( +/obj/structure/lattice, +/turf/space/basic, +/area/space) +"uc" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"ue" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"uh" = ( +/obj/item/storage/box/glasses/meta, +/obj/item/storage/box/donkpockets, +/obj/structure/closet, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"ui" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/maintenance) +"uj" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"uk" = ( +/obj/structure/foodcart, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"um" = ( +/obj/structure/metal_edge, +/obj/structure/metal_edge, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"uo" = ( +/mob/living/simple_mob/animal/sif/leech, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"uq" = ( +/obj/structure/sink/kitchen{ + pixel_y = 17 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"ur" = ( +/turf/simulated/wall/r_wall/prepainted/engineering, +/area/sector/delerictcasino/engineering) +"uw" = ( +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"ux" = ( +/mob/living/simple_mob/animal/passive/bird/goldcrest, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"uB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"uC" = ( +/obj/structure/flora/tree/fey/large_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"uF" = ( +/obj/structure/table/marble, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"uI" = ( +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"uJ" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"uN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"uP" = ( +/obj/structure/table/steel_reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"uQ" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"uT" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/tree/fey/small_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"uU" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"uV" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"va" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"vb" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/spine) +"ve" = ( +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"vh" = ( +/obj/structure/bookcase/manuals/medical, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"vi" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"vj" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/spine) +"vk" = ( +/obj/structure/railing/grey, +/obj/structure/flora/fey/grass/grass9, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"vl" = ( +/obj/effect/floor_decal/corner/blue/border, +/obj/structure/salvageable/console_broken_os, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"vm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/reception) +"vn" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"vp" = ( +/obj/structure/table/marble, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"vr" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"vu" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"vw" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_1d"; + name = "Casino pad 1d"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"vz" = ( +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"vB" = ( +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"vC" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"vD" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"vL" = ( +/obj/structure/flora/rock/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"vM" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"vN" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"vR" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/lavender_grass1, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"vS" = ( +/obj/structure/table/steel_reinforced, +/obj/item/disk/botany, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"vU" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"vV" = ( +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"vW" = ( +/obj/structure/bed/chair/sofa/red/right{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"vZ" = ( +/obj/structure/window/reinforced, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"wa" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"wc" = ( +/mob/living/simple_mob/mechanical/corrupt_maint_drone/matriarch/casino, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"wd" = ( +/obj/structure/window/phoronreinforced/full, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"we" = ( +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"wf" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor, +/area/sector/delerictcasino/reception) +"wj" = ( +/obj/structure/bed/chair/sofa/blue/right{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"wk" = ( +/obj/structure/flora/fey/grass/grass7, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"wl" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"wm" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/railing/grey, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"wn" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "casinovault1"; + color = "#ff0000f8" + }, +/obj/machinery/button/remote/blast_door{ + id = "casinovault2"; + pixel_x = 15; + color = "#fff200f8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"wo" = ( +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"wp" = ( +/obj/structure/railing/grey, +/obj/structure/flora/rock/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"wr" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/flora/fey/grass/grass1{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"wy" = ( +/obj/structure/simple_door/hardwood, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/maintenance) +"wz" = ( +/obj/effect/floor_decal/corner/grey/diagonal, +/obj/machinery/door/window/brigdoor/eastleft, +/obj/map_helper/access_helper/airlock/station/security/general, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"wA" = ( +/obj/structure/lattice, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/maintenance) +"wC" = ( +/obj/structure/table/steel_reinforced, +/obj/item/paper/casinosec, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"wG" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/blast/shutters{ + id = "casinovault1" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"wH" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/media/jukebox, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"wL" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"wM" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"wQ" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 1 + }, +/turf/simulated/floor/lino, +/area/sector/delerictcasino/restaurant) +"wR" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/table/bench/standard, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"wT" = ( +/obj/structure/salvageable/computer, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"wU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 8 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"wV" = ( +/obj/structure/table/bench/sandstone, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"wW" = ( +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"wX" = ( +/obj/structure/flora/grass/event/sparse_grass2, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"wY" = ( +/obj/structure/flora/grass/event/leafy_bush1, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"wZ" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/door/blast/shutters{ + id = "casinovault2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"xc" = ( +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room2) +"xf" = ( +/obj/structure/flora/grass/event/lavender_grass1, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"xg" = ( +/obj/structure/closet, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"xh" = ( +/obj/structure/flora/fey/grass/grass7, +/obj/machinery/door/airlock/multi_tile{ + name = "Casino engineering section Airlock"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"xl" = ( +/obj/structure/table/carbon/reinforced, +/obj/item/event/prop/laptop2, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"xm" = ( +/obj/structure/flora/tree/fey/large_tree/tree7, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"xo" = ( +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"xr" = ( +/obj/structure/bookcase/manuals/medical, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 26; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/drinks/bottle/whitewine{ + pixel_y = 25 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"xs" = ( +/obj/structure/flora/tree/fey/large_tree/tree7, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"xt" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"xw" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"xx" = ( +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"xz" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"xA" = ( +/obj/structure/flora/rock/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"xB" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"xD" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 8 + }, +/obj/machinery/recharger, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"xF" = ( +/obj/machinery/washing_machine, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"xH" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"xI" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3e"; + name = "Casino pad 3e"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"xJ" = ( +/obj/effect/floor_decal/industrial/halfstair, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"xL" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"xM" = ( +/obj/machinery/light/flamp/flicker, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/room/room3) +"xQ" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"xV" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/dock) +"xW" = ( +/obj/structure/table/rack/shelf, +/obj/item/clothing/head/welding/fancy, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"xZ" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"ya" = ( +/obj/structure/flora/rock/fey/rock1, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"yd" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"ye" = ( +/obj/machinery/atm{ + pixel_x = -32 + }, +/obj/machinery/atm{ + pixel_x = -32 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"yf" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room2) +"yj" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"yk" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"ym" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/tree/fey/small_tree/tree6, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"yo" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"yp" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/table/gamblingtable, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"yq" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"yr" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"yu" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"yv" = ( +/obj/item/paper/casinowork6, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"yx" = ( +/obj/structure/flora/tree/fey/small_tree/tree4{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"yz" = ( +/mob/living/simple_mob/animal/passive/mouse/brown, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"yA" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/machinery/light/fairy{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"yC" = ( +/obj/machinery/power/apc/south_mount, +/obj/structure/cable, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"yD" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"yE" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"yF" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"yG" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"yI" = ( +/obj/structure/flora/grass/fey/bush/bush3, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"yK" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"yL" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"yM" = ( +/obj/effect/floor_decal/corner/grey/border, +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"yN" = ( +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"yQ" = ( +/obj/structure/window/reinforced, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/machinery/door/window/westleft{ + req_access = list(160) + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"yR" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"yS" = ( +/obj/structure/table/rack/shelf/steel, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"yT" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/maintenance) +"yX" = ( +/obj/structure/barricade, +/obj/machinery/door/airlock/external/glass/bolted, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"yY" = ( +/obj/machinery/atm{ + pixel_y = 27 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"yZ" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"za" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"zb" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"zd" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"zg" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"zh" = ( +/turf/simulated/wall/r_wall/prepainted/command, +/area/sector/delerictcasino/maintenance) +"zi" = ( +/obj/structure/bed/chair/sofa/black/left{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"zj" = ( +/turf/simulated/floor/tiled/kafel_full/white, +/area/sector/delerictcasino/security) +"zk" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"zm" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"zn" = ( +/obj/structure/table/carbon, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"zq" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"zr" = ( +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"zt" = ( +/obj/structure/table/rack/shelf/steel, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"zu" = ( +/obj/structure/curtain/open/bed, +/obj/structure/bed/double/padded, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room1) +"zv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"zw" = ( +/obj/structure/closet/largecardboard, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"zx" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"zA" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"zB" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"zC" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"zD" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"zF" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"zH" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"zI" = ( +/obj/structure/bed/chair/sofa/red/corner{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"zK" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"zN" = ( +/obj/effect/floor_decal/corner/grey/border{ + dir = 10 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"zO" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/maintenance) +"zS" = ( +/mob/living/simple_mob/animal/sif/leech, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"zT" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"zU" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/maintenance) +"zV" = ( +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"zW" = ( +/obj/structure/flora/tree/fey/small_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"zZ" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor, +/area/sector/delerictcasino/room/room2) +"Ad" = ( +/obj/structure/railing/grey, +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Ae" = ( +/obj/structure/sink/kitchen{ + pixel_y = 17 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"Af" = ( +/obj/structure/metal_edge, +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"Ag" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Am" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Ao" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Ap" = ( +/obj/overmap/entity/visitable/sector/delerictcasino, +/turf/space/basic, +/area/space) +"Ar" = ( +/obj/machinery/door/window/brigdoor/eastright, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"As" = ( +/obj/structure/bed/chair/comfy/beige{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"At" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"Au" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3h"; + name = "Casino pad 3h"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Av" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"Ax" = ( +/obj/machinery/door/airlock/multi_tile, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"Ay" = ( +/obj/machinery/light/small/emergency/flicker{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"AA" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"AD" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/plating, +/area/sector/delerictcasino/dock) +"AE" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"AF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"AG" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"AM" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"AN" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room6) +"AP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"AU" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"AV" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"AZ" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/dock) +"Ba" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room3) +"Bb" = ( +/obj/machinery/light/small/emergency/flicker, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"Bc" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"Be" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"Bg" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Bj" = ( +/obj/structure/flora/tree/fey/small_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Bk" = ( +/obj/structure/barricade, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Bo" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Bp" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Bq" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Br" = ( +/obj/effect/floor_decal/corner/navgold/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Bs" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Bw" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room1) +"Bx" = ( +/obj/structure/flora/grass/event/full_grass1, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"BB" = ( +/obj/structure/table/fancyblack, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"BE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"BG" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/mob/living/simple_mob/animal/passive/lizard, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"BI" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"BJ" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"BL" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"BM" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"BN" = ( +/obj/structure/bed/chair/sofa/blue/left{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"BO" = ( +/obj/machinery/computer/ship/sensors{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"BP" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"BQ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/stack/material/phoron{ + amount = 25 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"BR" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"BW" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"BX" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/reception) +"Ca" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Cb" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/spine) +"Cc" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Ci" = ( +/obj/random/multiple/large_corp_crate, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"Cj" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"Cl" = ( +/obj/machinery/door/airlock/vault{ + req_one_access = null + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Cp" = ( +/obj/structure/flora/tree/fey/large_tree/tree1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Cq" = ( +/obj/structure/bed/chair/sofa/black/right{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"Cr" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ct" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"Cu" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Cv" = ( +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"Cw" = ( +/obj/structure/icecream_cart/loaded, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Cx" = ( +/obj/structure/table/rack/shelf, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"Cz" = ( +/obj/structure/flora/tree/jungle{ + color = "#ed983d" + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"CE" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"CG" = ( +/obj/machinery/light/flamp/flicker, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"CL" = ( +/obj/structure/flora/fey/grass/grass7, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"CM" = ( +/obj/machinery/light/flamp, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/dock) +"CQ" = ( +/obj/machinery/atmospherics/component/binary/pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/debris/cleanable/blood/gibs/robot/limb, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"CR" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"CT" = ( +/obj/machinery/atm{ + pixel_x = 32 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"CU" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"CV" = ( +/obj/structure/metal_edge, +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"CY" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Da" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/maintenance) +"Db" = ( +/obj/structure/table/marble, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"Dd" = ( +/obj/structure/table/bench/wooden, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/commons) +"Dg" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"Dh" = ( +/obj/machinery/atmospherics/pipe/simple/visible/red, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Di" = ( +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Dj" = ( +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Dl" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Dm" = ( +/obj/structure/flora/fey/grass/grass7, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"Do" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/dance) +"Dq" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Dv" = ( +/obj/structure/icecream_cart/loaded, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Dx" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"DA" = ( +/obj/structure/table/gamblingtable, +/obj/item/clothing/head/cueball, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"DC" = ( +/obj/structure/table/rack/shelf, +/obj/item/spacecash/c200, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"DE" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table/steel_reinforced, +/obj/item/stack/material/phoron{ + amount = 25 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"DG" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/medical/public) +"DI" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"DJ" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor, +/area/sector/delerictcasino/commons) +"DN" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"DT" = ( +/obj/structure/flora/rock/fey/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"DW" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"DX" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"DZ" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"Ed" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"Ee" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Ef" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Ej" = ( +/obj/structure/barricade, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"Eq" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"Er" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"Es" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Et" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/wall/r_wall/prepainted/engineering, +/area/sector/delerictcasino/engineering) +"Eu" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Ev" = ( +/obj/machinery/door/window/brigdoor/eastleft, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"Ew" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ex" = ( +/obj/effect/floor_decal/rust, +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Ez" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"EC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/air_alarm/alarms_hidden{ + dir = 1; + pixel_y = -22; + req_one_access = list(160) + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"EF" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"EH" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"EK" = ( +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/obj/machinery/light/small, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ER" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"ES" = ( +/obj/machinery/light/fairy{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_light, +/area/sector/delerictcasino/dance) +"EU" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"EV" = ( +/obj/structure/flora/ausbushes/reedbush, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Fa" = ( +/obj/machinery/floor_light/prebuilt, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Fc" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room1) +"Fd" = ( +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Fe" = ( +/mob/living/simple_mob/animal/passive/mouse/brown, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Fh" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 1 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Fl" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"Fm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"Fn" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Fr" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Fs" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Ft" = ( +/obj/structure/flora/fey/grass/grass5, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/maintenance) +"Fx" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Fz" = ( +/obj/structure/safe, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"FB" = ( +/obj/structure/bed/chair/sofa/black/left{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"FC" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"FD" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor, +/area/sector/delerictcasino/medical/public) +"FE" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"FG" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"FJ" = ( +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"FK" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"FM" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/exterior) +"FN" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/table/gamblingtable, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"FO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"FP" = ( +/obj/structure/table/carbon/reinforced, +/obj/machinery/tele_projector{ + name = "Movie projector"; + desc = "This machine is capable of projecting The best movies on a screen !" + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"FT" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"FW" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room2) +"FY" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"FZ" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Gh" = ( +/obj/structure/railing/grey, +/obj/structure/flora/tree/fey/small_tree/tree4{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Gi" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Gk" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Gl" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"Go" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room3) +"Gr" = ( +/obj/machinery/power/apc/west_mount, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"Gt" = ( +/obj/structure/table/gamblingtable, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Gx" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Gy" = ( +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"Gz" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"GB" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino Services Airlock" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"GD" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/blast/shutters{ + id = "casinovault3" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"GE" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/flora/fey/grass/grass7, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"GH" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"GI" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"GM" = ( +/obj/machinery/door/blast/regular{ + dir = 8; + id = "VIP Airlock2" + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"GN" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"GO" = ( +/obj/structure/salvageable/computer, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"GP" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/grass/event/heavy_grass4, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"GS" = ( +/obj/machinery/air_alarm/alarms_hidden/west_mount, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"GU" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room1) +"GV" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"GW" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"GX" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 26 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/maintenance) +"GY" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"GZ" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Hb" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Hd" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room3) +"He" = ( +/obj/machinery/atmospherics/component/unary/vent_pump/siphon/on{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Hf" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"Hh" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/table/marble, +/obj/structure/statue/marble/male{ + pixel_y = 10; + pixel_x = 15; + layer = 4.2 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Hi" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"Hj" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Hk" = ( +/obj/structure/flora/grass/event/yellow_flowers1, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Hn" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"Hp" = ( +/obj/structure/bed/chair/sofa/red/left{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"Hq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"Hr" = ( +/obj/effect/floor_decal/corner/blue/border, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"Ht" = ( +/obj/item/paper/casinowork2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Hz" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"HC" = ( +/turf/space/basic, +/area/space) +"HE" = ( +/obj/machinery/air_sensor{ + frequency = 1443; + id_tag = "air_sensor"; + output = 7 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"HF" = ( +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"HI" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"HJ" = ( +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room3) +"HM" = ( +/obj/structure/flora/grass/fey/bush/bush6, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"HN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"HO" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/room/room1) +"HP" = ( +/obj/structure/safe, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"HR" = ( +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"HU" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"HX" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"HY" = ( +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Ic" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 26 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Ig" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Ih" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room3) +"Ii" = ( +/mob/living/simple_mob/animal/passive/bird/european_robin, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Ij" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Il" = ( +/obj/structure/bookcase/manuals/engineering, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"Io" = ( +/obj/structure/flora/fey/grass/grass7, +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Ir" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"It" = ( +/obj/structure/flora/tree/fey/large_tree/tree4, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Iv" = ( +/obj/structure/bed/chair/sofa/blue/corner{ + dir = 1 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"Ix" = ( +/obj/structure/flora/rock/rock3, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"IB" = ( +/obj/structure/flora/grass/event/bright_flowers1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ID" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"IE" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"IG" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/dock) +"IH" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/rock2, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"II" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d"; + pixel_x = -34 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"IJ" = ( +/obj/machinery/floodlight{ + on = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"IK" = ( +/turf/simulated/floor/carpet/bcarpet, +/area/sector/delerictcasino/restaurant) +"IL" = ( +/obj/machinery/light/flamp, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"IO" = ( +/obj/structure/bed/chair/bay/comfy/captain, +/turf/simulated/floor, +/area/sector/delerictcasino/reception) +"IR" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"IT" = ( +/obj/structure/metal_edge, +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"IU" = ( +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"IV" = ( +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"IX" = ( +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/maintenance) +"IZ" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"Ja" = ( +/obj/structure/table/hardwoodtable, +/obj/random/alcohol, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"Jb" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"Jc" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Jh" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/rock/alternative_1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Ji" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Jj" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Jk" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"Jl" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/west_mount, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"Jm" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"Jo" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"Jp" = ( +/obj/structure/flora/fey/grass/grass9, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Jr" = ( +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Jv" = ( +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Jx" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/ringforrest) +"Jy" = ( +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"Jz" = ( +/obj/structure/flora/fey/large/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"JA" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"JB" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/bush3, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"JC" = ( +/obj/structure/table/marble, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"JG" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"JJ" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"JK" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"JN" = ( +/obj/structure/table/steel_reinforced, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/debris/cleanable/cobweb, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"JO" = ( +/mob/living/simple_mob/animal/sif/leech, +/mob/living/simple_mob/animal/sif/leech, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"JP" = ( +/obj/structure/flora/fey/grass/grass7, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"JR" = ( +/obj/structure/flora/tree/fey/small_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"JS" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"JT" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"JV" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"JW" = ( +/turf/simulated/floor/glass/reinforced/indoors, +/area/sector/delerictcasino/commons) +"JX" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Ka" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Kc" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"Ke" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"Kf" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/flora/fey/grass/grass5, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Kg" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Kj" = ( +/obj/item/stool/padded, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Km" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Kq" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Ks" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Kt" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Kw" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"Kz" = ( +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"KB" = ( +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/obj/effect/floor_decal/corner/white/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"KD" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"KE" = ( +/obj/machinery/floodlight{ + on = 1 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"KF" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"KH" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"KI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/reception) +"KJ" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"KM" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"KQ" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/obj/structure/flora/rock/fey/rock1, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"KS" = ( +/obj/structure/statue/marble/male{ + pixel_y = 14 + }, +/obj/structure/statue/marble/male{ + pixel_y = 14 + }, +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"KT" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/window/phoronreinforced/full{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"KW" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + dir = 8 + }, +/obj/machinery/light/fairy{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"KZ" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"La" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room3) +"Lc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/wall/r_wall/prepainted/engineering, +/area/sector/delerictcasino/engineering) +"Ld" = ( +/obj/machinery/atmospherics/component/binary/pump/high_power/on{ + dir = 1; + name = "Air Supply"; + target_pressure = 1000 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"Li" = ( +/obj/machinery/power/apc/east_mount{ + pixel_x = 32; + req_access = null; + start_charge = 0 + }, +/obj/structure/table/steel_reinforced, +/obj/item/tool/wirecutters, +/obj/item/weedkiller/D24, +/obj/item/weedkiller/D24, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Ll" = ( +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Lm" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/spine) +"Ln" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/dance) +"Lo" = ( +/obj/structure/flora/fey/grass/grass2, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ls" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/mob/living/simple_mob/animal/passive/lizard, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Lu" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Lv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Lw" = ( +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Ly" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room2) +"LB" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"LC" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"LE" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room2) +"LF" = ( +/obj/item/stool{ + color = "#CB9E04" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"LH" = ( +/obj/structure/barricade, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"LI" = ( +/obj/structure/table/bench/sandstone, +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"LK" = ( +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/obj/structure/flora/grass/event/lavender_grass1, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"LN" = ( +/obj/structure/table/hardwoodtable, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"LP" = ( +/obj/machinery/light/small, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"LQ" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"LR" = ( +/obj/effect/floor_decal/corner/grey/border{ + dir = 6 + }, +/obj/machinery/power/apc/alarms_hidden/east_mount, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"LS" = ( +/obj/machinery/floor_light/prebuilt, +/obj/machinery/light/fairy{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"LU" = ( +/obj/structure/railing/grey, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"LW" = ( +/obj/structure/flora/rock/rock1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"LY" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + pixel_y = 3 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"LZ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Ma" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/commons) +"Mb" = ( +/obj/machinery/light/fairy{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Mi" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Mk" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/dance) +"Mm" = ( +/obj/structure/safe, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Mo" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Mq" = ( +/obj/structure/bed/chair/sofa/blue, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"Mx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/crew) +"Mz" = ( +/obj/structure/table/hardwoodtable, +/obj/random/alcohol, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"MA" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"MI" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"MJ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/plantspray/weeds, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"MK" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"MM" = ( +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"MO" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/dock) +"MP" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"MQ" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room3) +"MS" = ( +/obj/structure/table/rack/shelf, +/obj/random/cash, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"MV" = ( +/obj/structure/bed/chair/sofa/blue/corner, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"MX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 8 + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/exterior) +"MY" = ( +/obj/structure/grille, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"MZ" = ( +/obj/structure/table/rack/shelf, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Nb" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Ne" = ( +/obj/machinery/door/airlock/multi_tile/glass/medical{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/medical/public) +"Nf" = ( +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"Ng" = ( +/obj/structure/flora/tree/jungle{ + color = "#ed983d" + }, +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Ni" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Nk" = ( +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Nl" = ( +/obj/machinery/atm{ + pixel_x = -32 + }, +/obj/machinery/atm{ + pixel_x = -32 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/spine) +"Nq" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/mob/living/simple_mob/animal/space/bear/brown/casino, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ns" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"NB" = ( +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"NC" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/door/window/westleft{ + req_access = list(160) + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"NF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"NI" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/door/blast/shutters{ + id = "casinovault3" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"NK" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 1 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"NM" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"NP" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room2) +"NQ" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/obj/effect/floor_decal/corner/grey/border, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"NR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/medical, +/area/sector/delerictcasino/medical/public) +"NT" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"NV" = ( +/obj/structure/flora/fey/grass/grass5, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"NW" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"NY" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"NZ" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Oa" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Ob" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/room/room3) +"Oc" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Od" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Oe" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Og" = ( +/obj/effect/floor_decal/corner/grey/border, +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"Oh" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Om" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Oo" = ( +/obj/structure/flora/tree/fey/large_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Os" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ot" = ( +/obj/structure/table/hardwoodtable, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/paper/casinolawsuit, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"Ow" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Oy" = ( +/obj/effect/floor_decal/rust, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Oz" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/steel, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/steel, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"OB" = ( +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/engineering) +"OE" = ( +/obj/structure/table/bench/padded, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"OH" = ( +/obj/structure/bed/chair/sofa/beige{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"OL" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"OM" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ON" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"OO" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"OP" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"OQ" = ( +/obj/structure/closet/crate/trashcart, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"OT" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"OV" = ( +/obj/effect/floor_decal/rust, +/obj/structure/barricade, +/obj/machinery/door/airlock/external/glass/bolted, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"OX" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino engineering section Airlock" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"OY" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room2) +"OZ" = ( +/obj/structure/flora/tree/fey/small_tree/tree4{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Pc" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/reception) +"Pe" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"Pf" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ph" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Pi" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/restaurant) +"Pj" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Pl" = ( +/obj/item/material/shard, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"Pm" = ( +/obj/item/material/shard, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"Pn" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Pp" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Ps" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/glass/reinforced/indoors, +/area/sector/delerictcasino/commons) +"Pt" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/spine) +"Pu" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/sector/delerictcasino/restaurant) +"Pv" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"Pw" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Py" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"Pz" = ( +/obj/structure/flora/tree/fey/small_tree/tree5{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"PB" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/obj/effect/floor_decal/rust, +/obj/machinery/light/flamp, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/dock) +"PD" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/security) +"PG" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"PH" = ( +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/commons) +"PK" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/flora/grass/event/leafy_bush1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"PL" = ( +/obj/structure/inflatable/door, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"PM" = ( +/mob/living/simple_mob/animal/space/goose, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"PO" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"PP" = ( +/obj/structure/flora/grass/event/full_grass2, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"PS" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"PT" = ( +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"PU" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room1) +"PW" = ( +/obj/effect/floor_decal/corner/grey/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"PY" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"PZ" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Qb" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/mob/living/simple_mob/animal/passive/bird/european_robin, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Qd" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Qg" = ( +/obj/structure/metal_edge, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Qh" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Qj" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Qm" = ( +/obj/machinery/light/small, +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"Qn" = ( +/mob/living/simple_mob/animal/passive/mouse, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Qr" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Qt" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Qz" = ( +/obj/structure/flora/tree/jungle{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"QA" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"QB" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/dock) +"QD" = ( +/obj/structure/flora/tree/fey/small_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"QF" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"QG" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"QI" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"QJ" = ( +/obj/structure/railing/grey, +/obj/structure/flora/tree/fey/large_tree/tree6{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"QO" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_2c"; + name = "Casino pad 2c"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"QQ" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"QS" = ( +/turf/simulated/floor/tiled/eris/steel/bar_light, +/area/sector/delerictcasino/dance) +"QT" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/crew) +"QU" = ( +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"QX" = ( +/obj/structure/flora/fey/large/rock3, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Rb" = ( +/obj/structure/flora/grass/event/heavy_grass2, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Rg" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3g"; + name = "Casino pad 3g"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Rh" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_2d"; + name = "Casino pad 2d"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Ri" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/restaurant) +"Rm" = ( +/obj/structure/flora/grass/fey/bush/bush3, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Ro" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Rq" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"Rt" = ( +/obj/machinery/light/small/emergency/flicker{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/maintenance) +"Rx" = ( +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Ry" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/tree/fey/small_tree/tree6, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"RA" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"RC" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"RD" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"RE" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room1) +"RF" = ( +/obj/structure/salvageable/computer_os{ + name = "broken slot machine" + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"RG" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room2) +"RK" = ( +/obj/effect/floor_decal/corner/navgold/border{ + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"RM" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"RN" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino suites"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room3) +"RQ" = ( +/obj/effect/floor_decal/corner/blue/border, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/alarms_hidden/south_mount{ + req_access = list(160) + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"RS" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"RV" = ( +/obj/structure/bed/chair/wood{ + dir = 4 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"RX" = ( +/obj/machinery/atmospherics/pipe/tank/air, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"RZ" = ( +/obj/effect/floor_decal/river_beach_edge{ + dir = 5 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Sc" = ( +/obj/structure/fireplace{ + pixel_y = 11 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"Sd" = ( +/obj/effect/floor_decal/rust, +/mob/living/simple_mob/mechanical/corrupt_maint_drone/weak_no_poison/casino, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Se" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Sj" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Sk" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Sl" = ( +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Sq" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + pixel_y = 3 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/maintenance) +"Sr" = ( +/obj/structure/curtain/open/shower, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"Ss" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"St" = ( +/obj/structure/table/steel_reinforced, +/obj/item/flashlight/lamp, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"Su" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Sy" = ( +/obj/item/spacecash/c50, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"SA" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"SD" = ( +/obj/machinery/appliance/cooker/oven, +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"SG" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/small/emergency/flicker{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"SI" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/flora/grass/fey/bush/bush6, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/restaurant) +"SJ" = ( +/obj/structure/table/rack/shelf/steel, +/obj/random/handgun/sec, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"SK" = ( +/obj/structure/closet/secure_closet/personal, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"SL" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"SM" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/outdoors/beach/sand/desert/indoors, +/area/sector/delerictcasino/ringforrest) +"SN" = ( +/obj/structure/bed/chair/sofa/beige/right{ + dir = 1 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"SP" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/carpet/bcarpet, +/area/sector/delerictcasino/restaurant) +"SQ" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"SS" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"SU" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"SW" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"SX" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"SY" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/wall/r_wall/prepainted/medical, +/area/sector/delerictcasino/medical/public) +"Ta" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room1) +"Tc" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/room/room1) +"Tf" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Tg" = ( +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Ti" = ( +/obj/effect/floor_decal/river_beach_corner_edge{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Tj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Tl" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Tm" = ( +/obj/structure/lattice, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/ringforrest) +"Tn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"To" = ( +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"Ts" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/item/card/id/external/casino3, +/obj/structure/table/marble, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Tt" = ( +/obj/structure/railing/grey, +/obj/structure/flora/tree/fey/small_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Tw" = ( +/obj/structure/bed/chair/sofa/blue/left{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"Tx" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Tz" = ( +/obj/structure/bed/chair/sofa/beige/left{ + dir = 4 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/crew) +"TC" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_1b"; + name = "Casino pad 1b"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"TD" = ( +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"TE" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"TG" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"TI" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room2) +"TM" = ( +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/restaurant) +"TP" = ( +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"TR" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"TS" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"TV" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"TW" = ( +/obj/effect/floor_decal/river_beach_edge{ + dir = 9 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"TZ" = ( +/obj/machinery/light/small, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Uc" = ( +/obj/structure/flora/tree/fey/small_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Ug" = ( +/obj/structure/railing/grey, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + dir = 4 + }, +/obj/machinery/light/fairy, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Ui" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Uk" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Ul" = ( +/obj/structure/flora/grass/fey/bush/bush9, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Um" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Un" = ( +/obj/structure/flora/grass/event/yellow_flowers1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"Uo" = ( +/obj/structure/table/rack/shelf/steel, +/obj/random/energy/sec, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"Up" = ( +/obj/structure/flora/fey/large/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"Us" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d"; + pixel_x = -34 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ut" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Uu" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room2) +"Uv" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/structure/flora/grass/event/leafy_bush1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"Uw" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/spine) +"Ux" = ( +/obj/structure/table/rack/shelf, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/weldingtool/largetank, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"Uy" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/sector/delerictcasino/maintenance) +"UA" = ( +/obj/structure/railing/grey, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"UC" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"UE" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"UH" = ( +/obj/structure/flora/fey/grass/grass9, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"UI" = ( +/obj/machinery/light/flamp, +/obj/machinery/light/flamp, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"UJ" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/room/room3) +"UL" = ( +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/obj/structure/flora/tree/jungle_small{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"UO" = ( +/obj/structure/flora/grass/event/leafy_bush1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"UP" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"US" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_3c"; + name = "Casino pad 3c"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"UT" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"UV" = ( +/obj/structure/flora/fey/large/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"UW" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 10 + }, +/obj/structure/bed/roller, +/obj/structure/medical_stand/anesthetic, +/obj/machinery/iv_drip, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"UY" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Vb" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Vc" = ( +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ve" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Vg" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"Vj" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree5{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Vk" = ( +/obj/structure/flora/grass/event/heavy_grass3, +/mob/living/simple_mob/animal/passive/bird/goldcrest, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Vl" = ( +/obj/structure/flora/rock/rock3, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Vm" = ( +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"Vn" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Vo" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Vp" = ( +/obj/structure/flora/grass/event/sparse_grass2, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"Vq" = ( +/obj/structure/curtain/open/bed, +/obj/structure/bed/double/padded, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room3) +"Vs" = ( +/obj/structure/foodcart, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Vu" = ( +/obj/structure/table/hardwoodtable, +/obj/item/paper/casinochips, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"Vz" = ( +/obj/structure/table/rack/shelf, +/obj/item/electronic_assembly/drone/arms, +/turf/simulated/floor, +/area/sector/delerictcasino/vault) +"VA" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"VC" = ( +/obj/structure/table, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/crew) +"VE" = ( +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"VI" = ( +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"VL" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d"; + pixel_x = -34 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"VM" = ( +/obj/effect/floor_decal/rust, +/obj/item/card/id/external/casino2, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"VN" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "casinovault3"; + color = "#1500fff8" + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"VO" = ( +/obj/machinery/light/small, +/obj/effect/floor_decal/corner/navgold/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"VP" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/obj/machinery/light/small, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"VT" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/south_mount, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"VW" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d"; + pixel_x = -34 + }, +/obj/structure/flora/grass/event/full_grass1, +/obj/structure/railing/grey, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"VX" = ( +/obj/structure/flora/grass/event/sparse_grass1, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"VY" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/spine) +"VZ" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Wa" = ( +/obj/structure/flora/tree/fey/small_tree/tree3{ + color = "#ed983d" + }, +/obj/structure/flora/fey/grass/grass4, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"We" = ( +/obj/structure/salvageable/computer_os, +/obj/structure/salvageable/computer_os, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/commons) +"Wf" = ( +/obj/structure/metal_edge, +/obj/structure/metal_edge, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/tree/fey/large_tree/tree3{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Wh" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/warning/airlock{ + pixel_x = -32 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Wo" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"Wp" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"Wr" = ( +/obj/effect/floor_decal/industrial/halfstair{ + dir = 4 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Ws" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"Ww" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"Wx" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Wz" = ( +/obj/structure/flora/fey/large/rock1, +/mob/living/simple_mob/vore/aggressive/frog, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"WA" = ( +/obj/structure/flora/rock/alternative_1, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"WF" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"WH" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"WI" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"WL" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"WM" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"WO" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"WQ" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/room/room2) +"WX" = ( +/obj/structure/lattice, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"WY" = ( +/obj/structure/flora/tree/fey/large_tree/tree2{ + color = "#ed983d"; + pixel_x = -34; + pixel_y = -13 + }, +/obj/structure/flora/grass/event/bush1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"WZ" = ( +/obj/structure/table/bench/wooden, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/commons) +"Xa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Xb" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/space/basic, +/area/sector/delerictcasino/ringforrest) +"Xc" = ( +/obj/structure/table/gamblingtable, +/obj/structure/table/gamblingtable, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Xd" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"Xe" = ( +/obj/structure/flora/bush, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Xh" = ( +/obj/effect/floor_decal/corner/white/border{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Xk" = ( +/mob/living/simple_mob/animal/passive/bird/european_robin, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Xl" = ( +/obj/item/card/id/external/casino1, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/exterior) +"Xo" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Xq" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Xr" = ( +/obj/structure/table/hardwoodtable, +/obj/random/alcohol, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"Xs" = ( +/obj/random/multiple/corp_crate/no_weapons, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room6) +"Xu" = ( +/obj/structure/railing/grey{ + dir = 8 + }, +/obj/structure/railing/grey, +/obj/structure/flora/fey/large/rock2, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Xw" = ( +/obj/structure/railing/grey, +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"Xx" = ( +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/room/room3) +"Xy" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/full_grass1, +/turf/simulated/floor, +/area/sector/delerictcasino/ringforrest) +"Xz" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"XA" = ( +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"XB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/vault) +"XC" = ( +/obj/structure/sink/kitchen{ + pixel_y = 17 + }, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"XE" = ( +/obj/structure/flora/tree/fey/small_tree/tree6, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"XF" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/room/room6) +"XG" = ( +/obj/effect/floor_decal/rust, +/obj/structure/table/carbon, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dance) +"XI" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/industrial/halfstair{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"XJ" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"XL" = ( +/obj/effect/floor_decal/corner/blue/border{ + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/medical/public) +"XM" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/delerictcasino/room/room2) +"XQ" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"XS" = ( +/obj/structure/table/rack/shelf, +/obj/item/spacecash/c100, +/turf/simulated/floor/tiled/monotechmaint, +/area/sector/delerictcasino/vault) +"Ya" = ( +/obj/effect/floor_decal/rust, +/obj/structure/flora/grass/event/heavy_grass3, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Yb" = ( +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/maintenance) +"Yc" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Yd" = ( +/turf/simulated/floor, +/area/sector/delerictcasino/room/room2) +"Yi" = ( +/obj/structure/flora/grass/fey/bush/bush1{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Yk" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/maintenance) +"Yn" = ( +/turf/simulated/wall/r_wall/prepainted/medical, +/area/sector/delerictcasino/medical/public) +"Yv" = ( +/obj/structure/displaycase, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/reception) +"Yw" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"Yy" = ( +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"YA" = ( +/obj/structure/bed/chair/sofa/red{ + dir = 8 + }, +/turf/simulated/floor/wood/indoors, +/area/sector/delerictcasino/ringforrest) +"YB" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"YF" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"YG" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 10 + }, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/ringforrest) +"YH" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/grass/event/heavy_grass1, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"YI" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/sector/delerictcasino/room/room1) +"YK" = ( +/obj/machinery/light/small, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"YL" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/exterior) +"YN" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/tiled/steel_dirty/cyan, +/area/sector/delerictcasino/dance) +"YO" = ( +/obj/structure/flora/tree/fey/large_tree/tree1{ + color = "#ed983d" + }, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"YP" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"YU" = ( +/turf/simulated/wall/r_wall/prepainted/cargo, +/area/sector/delerictcasino/crew) +"YW" = ( +/obj/structure/table/hardwoodtable, +/obj/structure/flora/pottedplant/thinbush, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room1) +"Za" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "casino_pad_2b"; + name = "Casino pad 2b"; + base_turf = /turf/simulated/floor/reinforced; + base_area = /area/sector/delerictcasino/dock + }, +/turf/simulated/floor/reinforced, +/area/sector/delerictcasino/dock) +"Zd" = ( +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Ze" = ( +/obj/machinery/door/airlock/multi_tile{ + name = "Casino ATC"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/dock) +"Zf" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/light/fairy{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Zh" = ( +/obj/structure/flora/grass/event/leafy_bush1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"Zi" = ( +/obj/structure/railing/grey, +/obj/structure/flora/tree/fey/large_tree/tree7{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Zj" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/machinery/light/fairy{ + dir = 4 + }, +/obj/machinery/light/fairy{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"Zk" = ( +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"Zl" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/reception) +"Zm" = ( +/obj/structure/flora/grass/event/full_grass2{ + color = "#ed983d" + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/silver, +/area/sector/delerictcasino/ringforrest) +"Zo" = ( +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Zp" = ( +/obj/structure/flora/fey/large/bush2{ + color = "#ed983d" + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246"; + outdoors = 0 + }, +/area/sector/delerictcasino/maintenance) +"Zq" = ( +/mob/living/simple_mob/animal/space/bear/brown/casino, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Zs" = ( +/obj/structure/flora/fey/grass/grass4, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"Zw" = ( +/obj/structure/flora/grass/event/full_grass2, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"Zx" = ( +/obj/structure/flora/fey/grass/grass1, +/turf/simulated/floor/tiled/asteroid_steel, +/area/sector/delerictcasino/spine) +"Zy" = ( +/obj/effect/floor_decal/corner/grey/border{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_tile/red, +/area/sector/delerictcasino/security) +"ZB" = ( +/obj/effect/floor_decal/industrial/halfstair, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/sector/delerictcasino/dance) +"ZC" = ( +/obj/structure/table/marble, +/obj/machinery/microwave, +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/dark{ + outdoors = 1 + }, +/area/sector/delerictcasino/restaurant) +"ZE" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#677246" + }, +/area/sector/delerictcasino/ringforrest) +"ZF" = ( +/obj/item/stool/padded, +/turf/simulated/floor/preset/linoleum/indoors{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ZH" = ( +/obj/structure/railing/grey{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#ed983d" + }, +/area/sector/delerictcasino/ringforrest) +"ZM" = ( +/obj/machinery/light/fairy{ + coloration = "#ed983d"; + color = "#ed983d"; + light_color = "#ed983d"; + dir = 4 + }, +/obj/structure/flora/grass/event/full_grass3, +/turf/simulated/floor/fey/forest_grass{ + outdoors = 1 + }, +/area/sector/delerictcasino/ringforrest) +"ZO" = ( +/obj/item/paper/casinowork3, +/turf/simulated/floor/tiled/techfloor, +/area/sector/delerictcasino/commons) +"ZQ" = ( +/obj/structure/metal_edge, +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/structure/railing/grey{ + dir = 8 + }, +/turf/simulated/floor/water/river{ + name = "still water"; + color = "#b88a3b" + }, +/area/sector/delerictcasino/ringforrest) +"ZR" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/power/smes/buildable/point_of_interest, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"ZT" = ( +/obj/machinery/washing_machine, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/carpet/patterened/green, +/area/sector/delerictcasino/crew) +"ZU" = ( +/obj/structure/flora/grass/event/heavy_grass4, +/turf/simulated/floor/tiled/techfloor/lythios43c/indoors, +/area/sector/delerictcasino/room/room3) +"ZW" = ( +/obj/machinery/power/apc/south_mount, +/obj/structure/cable, +/turf/simulated/floor, +/area/sector/delerictcasino/engineering) +"ZY" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/white, +/area/sector/delerictcasino/crew) + +(1,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(2,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Ap +HC +"} +(3,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(4,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(5,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(6,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(7,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(8,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(9,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(10,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(11,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(12,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(13,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(14,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(15,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(16,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(17,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(18,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(19,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(20,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(21,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(22,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(23,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(24,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(25,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(26,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(27,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(28,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(29,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(30,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(31,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(32,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(33,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(34,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(35,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(36,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(37,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(38,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(39,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(40,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(41,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(42,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(43,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(44,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(45,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(46,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(47,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(48,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(49,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +kN +kN +kN +kN +kN +HC +HC +HC +HC +HC +HC +HC +kN +Oy +Oy +Oy +Oy +HC +HC +HC +HC +HC +HC +HC +HC +on +on +on +on +on +HC +HC +HC +HC +HC +HC +HC +yf +yf +yf +yf +yf +HC +HC +HC +HC +HC +HC +HC +Ta +Ta +Ta +Ta +Ta +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(50,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +kN +kN +Tg +Tg +mU +kN +kN +HC +HC +HC +HC +HC +kN +Oy +gU +rF +mU +Oy +Oy +HC +HC +HC +HC +HC +HC +on +on +Dg +Dg +va +on +on +HC +HC +HC +HC +HC +yf +yf +kc +kc +RG +yf +yf +HC +HC +HC +HC +HC +Ta +Ta +VE +VE +IZ +Ta +Ta +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(51,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +kN +rV +Tg +Tg +Tg +Tg +Tg +kN +rV +HC +HC +HC +kN +rV +gU +Tg +Wz +Tg +Tg +Oy +rV +HC +HC +HC +HC +on +cp +ZU +Dg +tc +Dg +Mz +on +cp +HC +HC +HC +yf +to +kc +cC +zi +kc +Ja +yf +to +HC +HC +HC +Ta +HO +fX +Cq +FB +VE +Xr +Ta +HO +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(52,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +kN +kN +Tg +Tg +mU +eS +Jz +Tg +rV +rV +rV +HC +kN +UY +rV +rF +Tg +mU +Tg +gU +rV +rV +rV +HC +HC +on +on +cp +Ae +tc +Ob +au +eZ +cp +cp +cp +HC +yf +yf +to +uq +zZ +kc +kc +kc +to +to +to +HC +Ta +Ta +HO +XC +vC +VE +vC +YW +HO +HO +HO +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(53,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +rV +kN +Tg +Jz +Tg +Tg +mU +Tg +mU +Tg +QX +rV +rV +kN +Jx +rV +rF +Tg +Tg +Jz +SL +dW +SL +rV +rV +cp +on +Vq +cp +LN +tc +xM +Ob +tc +La +HJ +cp +to +yf +ln +to +jA +WQ +CG +MP +vU +OY +xc +to +HO +Ta +zu +HO +Ot +VE +fz +YI +VE +ls +Fc +HO +HO +Xb +Xb +Xb +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(54,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +Tg +Tg +Nk +GY +GY +GY +GY +GY +Tg +Tg +QD +Tg +Tg +mU +eS +Tg +Tg +Tg +Tg +Tg +Tg +eS +mU +Tg +mU +Tg +Tg +Tg +Tg +zS +gU +VM +dW +SL +rV +cp +MQ +kL +cp +ml +Wp +dF +dF +Dg +cp +kh +Go +to +FW +FW +to +fe +WQ +vU +vU +vU +to +Uu +NP +HO +tH +tH +HO +Sc +tA +Tc +YI +vC +HO +Fc +Bw +HO +kN +kN +kN +kN +kN +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(55,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +Tg +Tg +Tg +Tg +Tg +mU +Tg +Tg +Tg +Ww +lS +Qr +Ay +Tg +Tg +Tg +iN +Tg +SL +rF +Tg +rV +Tg +iN +Tg +Tg +Tg +Jx +aN +dW +dW +gU +gU +SG +dW +dW +rV +cp +Hd +kL +Ih +tc +dF +Ob +Dg +SK +cp +UJ +Ba +to +tl +FW +XM +kc +WQ +Yd +kc +xg +to +TI +aG +HO +PU +tH +GU +VE +vC +Tc +VE +uh +HO +RE +fL +HO +PS +lS +HY +FZ +kN +kN +kN +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(56,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +GY +GY +Tg +Tg +Tg +Tg +Tg +Tg +Tg +Tg +Tg +lS +lS +Qr +rV +rV +rV +rV +rV +rV +yX +yX +rV +rV +rV +rV +rV +rV +rV +rV +rV +rV +OV +OV +rV +rV +rV +rV +rV +cp +cp +cp +cp +cp +cp +Xx +RN +cp +cp +cp +cp +to +to +to +to +to +to +LE +Ly +to +to +to +to +HO +HO +HO +HO +HO +HO +bx +fW +HO +HO +HO +HO +HO +Fs +lD +OL +tm +HY +FZ +kN +kN +kN +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(57,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +kN +mU +Tg +Tg +Tg +Tg +Ww +Tg +Tg +Tg +Fd +lS +Zs +lS +Qr +Qr +Qr +Qr +Qr +Qr +Qr +nx +nx +Bk +Bk +nx +nx +ld +ld +ld +uC +lu +Qr +Bk +nx +SQ +Bk +nx +nx +Qr +Qr +Qr +Qr +Qr +id +id +dc +dc +Qr +Qr +nx +nx +Qr +Qr +Qr +Qr +jX +eB +ne +ne +eB +Qr +nc +dW +SL +YO +ld +ld +Ph +eB +ne +ne +eB +eB +ne +ne +Qr +Qr +SL +eB +vu +eB +eB +Xq +tm +XA +FZ +kN +kN +kN +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(58,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +Tg +Tg +zS +Tg +Tg +Tg +Tg +Tg +Tg +Tg +Tg +lS +Yy +lS +Qr +SQ +qM +Rx +Rx +Rx +Ef +Kt +Kt +Kt +Rx +Rx +Rx +qM +ld +ld +ld +ld +Cp +ld +Kt +Rx +Rx +Rx +Rx +Rx +Bq +Rx +Rx +SL +SL +SL +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Rx +qM +Rx +Rx +qM +Bj +ld +Rx +Rx +Rx +Rx +Kt +dW +BW +ld +YO +jk +hP +Rx +Rx +Rx +Rx +wX +Rx +qM +bZ +Rx +Rx +Rx +Rx +aY +eB +eB +pi +lS +lS +zF +kN +kN +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(59,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Nk +Tg +Tg +Tg +Tg +Tg +Tg +Fd +Tg +lS +lS +lS +Qr +Qr +Rx +Rx +Kt +Rx +Rx +Rx +qM +qM +Kt +Kt +Rx +Rx +dP +lu +ld +ld +ld +qM +Rx +Kt +Kt +Kt +Rx +Rx +Rx +qM +Rx +Rx +Rx +qN +Rx +qM +Rx +Rx +Rx +Rx +Bq +Rx +Rx +Rx +Rx +zr +ld +ld +je +dW +dW +Rx +Bq +Rx +Rx +Kt +jz +Kt +Kt +Kt +FK +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Rx +qN +qN +Rx +Rx +Rx +Qr +Qr +dl +Tg +zS +yo +kN +kN +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(60,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +Tg +Tg +Tg +Tg +Tg +Nk +Tg +Tg +Tg +lS +lS +lS +lS +Qr +Qr +Rx +Rx +Kt +yE +Qr +Qr +SL +Qr +SQ +Qr +Qr +eB +ld +ld +yx +ld +ld +ld +ld +Qr +eB +dW +dW +dW +dW +eB +eB +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +SQ +SQ +Qr +Qr +Qr +eB +eB +eB +eB +eB +ld +ux +ld +Qr +Qr +Qr +SQ +BR +bR +bR +eB +eB +eB +yd +eB +Vp +eB +eB +eB +eB +eB +eB +Qr +Rx +Rx +Rx +Rx +Qr +GV +Tg +Fd +lS +kN +kN +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(61,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Nk +Tg +Tg +Tg +Tg +QD +Zs +lS +Yy +Zs +lS +Qr +Qr +Rx +gB +Kt +Qr +oR +lO +jZ +zk +ew +JT +Mi +Rx +cd +KZ +AU +gf +gf +zk +zk +ew +yr +yr +Ui +aV +jZ +Sj +Rx +cd +VZ +ew +SS +zk +ew +ew +yr +jZ +hH +jZ +GP +Rx +Ao +gf +gf +IH +JB +jZ +yr +yr +yr +Dl +Rx +Ao +gf +gf +jZ +yr +yr +yr +yr +hH +jZ +gf +gf +OO +Rx +Ao +ro +sA +eB +eB +jX +Rx +Rx +Qr +eB +qK +lS +Yi +yo +kN +kN +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(62,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +Tg +Tg +Tg +Tg +lS +lS +lS +lS +lS +lS +lS +lS +Qr +eB +Kt +Rx +JG +eB +oR +xL +lS +XA +td +jq +lS +Ka +Rx +cd +Tg +Yi +lS +XA +lS +Tg +Tg +Oo +lS +XA +Yi +lS +Gh +qN +cd +Tg +Yy +lS +lS +Tg +Tg +ow +lS +Tg +ry +pf +Rx +Ao +XA +aL +XA +XA +lS +lS +ap +oW +Ka +Rx +Ao +XA +Tg +wW +ky +Tg +Tg +Tg +Tg +lS +lS +lS +oN +Rx +Ao +XA +lS +zk +xw +eB +Rx +dW +Rx +eB +pi +Yi +Tg +Tg +kN +kN +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +Wh +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Wh +bM +ct +ct +ct +zT +ct +ct +ct +ct +ct +ct +ct +zT +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(63,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +fk +Rx +Kt +Kt +fk +oR +xL +lS +jq +tm +tm +ar +ar +Kq +Rx +cd +Cc +Cc +Vj +gj +zH +zH +zH +Cc +yZ +Cc +OL +Cc +ZH +Rx +cd +QA +OL +yZ +OL +Cc +OL +OL +gj +gj +ar +fl +Rx +Ao +tm +tm +NT +tm +OL +OL +OL +gj +MK +Rx +uQ +Vb +zH +Cc +Cc +Cc +Cc +zK +Cc +zH +gj +yZ +fl +Rx +Ao +Ij +lS +Fd +dL +Qr +Qr +Rx +Rx +Qr +Qr +qK +Fd +Tg +lS +kN +kN +kN +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(64,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +Qr +Ca +Ca +Ca +es +es +es +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +es +Rx +kR +xL +wo +lS +oN +Qr +eB +eB +eB +Qr +Qr +Qr +Qr +jX +Qr +Qr +Qr +Qr +Qr +Qr +jX +Qr +Qr +id +id +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +jX +Qr +Qr +Qr +Qr +Qr +eB +eB +eB +eB +eB +eB +Qr +Qr +Qr +jX +Qr +Qr +eB +eB +eB +eB +eB +eB +eB +eB +Qr +Qr +Qr +Qr +RS +js +Cc +wa +Qr +hs +PP +Rx +Qr +pi +OL +OL +OL +kN +kN +kN +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(65,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +Ca +IL +Jj +lm +ig +lm +tw +lm +xm +Pf +lm +ig +fP +tx +tx +IL +HX +kR +xL +Tg +Tg +Ka +Qr +Ca +fq +fq +fq +bz +fq +yL +Ag +Ag +es +AG +AG +bz +fq +Ca +FT +FT +es +es +es +es +fq +fq +Ca +Ca +OT +Ca +es +es +es +es +Ca +Ca +Ca +Ca +Ca +Ca +fq +fq +Ca +OT +fq +fq +fq +fq +fq +fq +fq +fq +AG +AG +AG +AG +fq +fq +Ca +Ca +eq +OT +Qr +Rx +Rx +eB +Qr +Qr +qM +Rx +Kt +Qr +jX +Qr +Qr +Qr +Eu +Qr +Qr +Qr +eB +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +pP +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(66,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +es +Pj +ld +zr +mP +Rb +ld +ld +lu +ld +Zq +Rb +Rb +Zd +Zd +Zd +es +kR +xL +lS +Tg +WI +Qr +il +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +QU +eQ +hC +hC +zh +lX +zO +zO +zO +yT +ms +ms +lX +yT +zO +Yn +iW +Ne +Cj +Yn +Yn +iv +gV +gV +gV +gV +gV +gV +gV +gV +gV +gV +gV +gV +rV +rV +LQ +LQ +Ca +eq +eB +Rx +Rx +eB +Qr +Ca +Ca +Ca +Ca +Ca +pT +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +es +eB +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +vw +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +"} +(67,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +es +nL +ld +ld +ld +ld +ld +nI +ld +ld +Rb +ld +ld +yx +Zd +Fh +es +kR +xL +lS +gN +Qr +eB +il +hC +Iv +wj +kp +QU +KW +Mb +LS +ES +LS +Zf +Zf +LS +ES +LS +Mb +dw +QU +QU +YN +Gr +he +zh +lX +zO +lX +lX +lX +rB +rB +lX +ms +ms +Yn +XL +WF +bu +UW +Yn +lX +gV +IK +IK +Pu +Pu +Pu +Pu +SP +Jo +gV +Pi +Pi +UP +Vm +fF +vz +mx +Ca +eB +hq +AV +eB +Ca +IL +IE +tx +tx +tx +tx +tx +tx +WH +WH +WH +WH +WH +tx +IL +es +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(68,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +es +Pj +Zd +ld +fN +Rb +ld +ld +Rb +ld +ld +uC +Rb +ld +Rb +Zd +es +kR +PS +lS +gN +Qr +es +il +hC +sO +dA +kp +kp +ZB +Fa +iA +iA +iA +iA +iA +iA +iA +iA +Fa +Dq +lR +QU +QU +tW +za +zh +lX +zO +lX +lX +rB +rB +rB +rB +lX +ms +Yn +nZ +kl +kl +RQ +Yn +xz +gV +IK +IK +Pu +Pu +Pu +Pu +SP +Pi +gV +xl +gV +vz +Vm +vz +vz +xJ +Ca +eB +JA +Cz +eB +Ca +Pj +Zd +rS +rS +Zd +Zd +rS +rS +Zd +Rb +zr +rS +rS +Zd +Zd +es +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(69,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +QD +es +pa +CV +Ez +Nq +Qb +hL +hL +pE +ik +hR +hL +hL +Us +dv +IL +es +oR +PS +lS +gN +Qr +es +il +hC +Mq +wR +Do +kp +ZB +QS +iA +iA +iA +iA +iA +iA +iA +iA +QS +Dq +QU +kp +kp +pn +lZ +zh +lX +zO +ms +lX +Yk +rB +rB +rB +lX +lX +Yn +ek +kl +kl +vl +Yn +lX +gV +IK +IK +Pu +Pu +Pu +Pu +SP +Pi +Ke +FP +gV +vz +Vm +vz +fF +rV +Ca +Qr +JA +gN +eB +Ca +nL +Zd +rS +DA +Zd +Zd +Zd +Xc +ZF +Zd +ld +rS +rS +Zd +Zd +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Au +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(70,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Qr +es +es +SL +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +oR +PS +lS +Tg +UA +eB +es +il +hC +MV +BN +kp +tB +wl +Fa +iA +iA +iA +iA +iA +iA +iA +iA +Fa +Bo +Er +QU +lR +pn +Do +zh +xz +zO +ms +lX +rB +lX +rB +rB +lX +TZ +Yn +nY +kl +kl +pp +Yn +TZ +gV +IK +IK +wQ +wQ +wQ +wQ +wQ +Pi +gV +gV +gV +vz +rV +vz +vz +rV +oI +Eu +JA +Ka +Qr +Ca +Pj +Zd +rS +rS +Zd +zr +Zd +Xc +ZF +Zd +Zd +rS +rS +Zd +Zd +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(71,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +Tg +Qr +Qr +eB +eB +Qr +Qr +Qr +Qr +Rx +Rx +Rx +Kg +Kg +Kg +oR +xL +lS +lS +Tg +gN +Qr +Ca +il +hC +hC +hC +kp +kp +pV +ov +iA +iA +iA +iA +iA +iA +iA +iA +ov +Bo +kp +Do +QU +gd +Do +zh +lX +zO +ms +lX +rB +rB +rB +rB +lX +lX +Yn +tq +kl +kl +mY +Yn +lX +gV +IK +IK +Pu +Pu +Pu +Pu +SP +Pi +Pi +Jl +Ax +vz +vz +vz +vz +rV +oI +Qr +rf +Ee +Qr +Ca +IL +pL +dv +ik +pF +ik +ik +dv +dv +dv +dv +dv +dv +dv +IL +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(72,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +Tg +Tg +Tg +ap +lS +lS +lS +Qr +Rx +qM +Kt +lE +xL +Tg +Tg +Tg +Tg +lS +Tg +Tg +gN +Qr +Ca +il +hC +hS +qo +Do +kp +pV +zA +iA +iA +iA +iA +iA +iA +iA +iA +zA +hK +kp +QU +Do +af +Do +zh +lX +zO +ms +ms +ms +LZ +ms +ms +lX +lX +Yn +tE +nV +nV +Hr +SY +lX +gV +IK +IK +Pu +Pu +Pu +Pu +SP +Pi +EH +pv +Pi +vz +LI +wV +Hp +rV +oI +Qr +Rx +Rx +bW +Qr +Ca +Ca +SL +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +pT +Ca +FT +Qr +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(73,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Tg +Tg +kj +lS +Yy +Qr +Qr +Rx +az +Qr +oR +xL +Tg +ap +Tg +Tg +kj +lS +Tg +gN +Qr +Ca +il +hC +Mq +ja +Er +kp +wl +zA +iA +iA +iA +iA +iA +iA +iA +iA +zA +hK +kp +kp +lZ +iH +lZ +zh +lX +zO +zO +zO +zO +zO +zO +zO +zO +lX +Yn +iM +xD +cF +sF +NR +lX +gV +IK +IK +Pu +Pu +Pu +Pu +SP +Pi +Pi +pv +gV +bF +vW +YA +zI +rV +oI +eB +Kt +Kt +Qr +Qr +bW +Rx +qM +Rx +Qr +Qr +eB +eB +eB +eB +eB +Qr +Qr +Qr +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(74,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +ap +Tg +Tg +lS +lS +lS +Qr +qM +az +Rx +kR +xL +UH +Tg +Tg +LW +Tg +lS +lS +lS +gN +Qr +Ca +il +hC +qy +lo +Do +kp +wl +zA +iA +iA +iA +iA +iA +iA +iA +iA +ov +hK +Er +kp +zh +qh +zh +zh +lX +lX +lX +lX +oc +xz +lX +lX +JK +lX +Yn +Yn +Yn +DG +FD +NR +lX +gV +gV +gV +gV +gV +gV +gV +gV +gV +gV +Ri +gV +zO +zO +zO +zO +zO +Ca +eB +gu +ew +zk +hB +eB +dW +Rx +Rx +Qr +Hb +Qz +zk +AU +AU +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(75,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Tg +Tg +Wa +lS +Qr +Qr +Kt +Rx +Qr +oR +xL +Tg +Tg +ki +Tg +Tg +lS +Zs +lS +gN +Qr +es +ep +hC +pC +Tw +kp +kp +wl +Fa +iA +iA +iA +iA +iA +iA +iA +iA +Fa +Bo +Do +kp +zh +KF +BE +vn +BE +BE +oY +BE +BE +BE +sm +BE +BE +BE +BE +oY +BE +BE +BE +Lv +xz +lX +lX +lX +rB +rB +rB +rB +lX +rB +rB +os +rB +rB +rB +rB +rB +zO +eq +eB +BM +Tg +Tg +Zi +Qr +Rx +Rx +Rx +Qr +Km +Tg +Tg +lS +XA +XA +rV +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(76,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +lS +dh +lS +Yy +lS +Qr +Kt +Kt +Rx +kR +xL +ap +Tg +mU +Tg +Tg +Tg +lS +lS +Ll +Ka +eB +es +il +hC +kp +kp +Do +QU +wl +QS +iA +iA +iA +iA +iA +iA +iA +iA +QS +Bo +rO +kp +hC +iT +YU +YU +iT +YU +YU +iT +YU +YU +iT +YU +YU +aa +YU +YU +YU +YU +lX +JX +BE +nh +BE +BE +oY +BE +BE +nh +BE +PT +PT +si +SU +rB +rB +oc +lX +iv +Ca +eB +BM +Tg +lS +Ka +Qr +Rx +nt +Kt +Qr +BM +Tg +Tg +ap +lS +XA +rV +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +bM +sI +ct +du +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(77,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +lS +lS +lS +lS +lS +Qr +Rx +qM +Qr +kR +xL +Tg +Tg +Tg +Tg +Tg +Sl +lS +lS +lS +Ka +Qr +es +il +hC +kp +MA +Ln +Do +ZB +Fa +iA +iA +iA +iA +iA +iA +iA +iA +Fa +Dq +kp +Vg +hC +Av +Av +YU +Av +zw +YU +Av +qj +YU +Av +zw +YU +Nf +Tz +OH +ti +Mx +vn +Oh +zO +zO +lX +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +Ca +eB +RS +lD +OL +KJ +Qr +Rx +Rx +Kt +Qr +GV +Cc +OL +OL +OL +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +hW +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(78,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Qr +Qr +Qr +Qr +Qr +Qr +Rx +Rx +Qr +Qr +dI +dI +dI +dI +Pp +xL +Tg +Tg +lS +lS +Ka +Qr +es +il +hC +rL +vB +QU +Do +ZB +ov +Fa +QS +Fa +zA +ov +Fa +QS +Fa +ov +Dq +kp +Er +hC +Av +LP +YU +Av +LP +YU +Av +LP +YU +Av +LP +YU +Nf +OE +OE +SN +YU +lX +os +zO +nP +QF +ij +DI +gV +kC +Jy +Fl +Fl +yA +Fl +in +in +Fl +yA +RV +fH +Ca +eB +Rx +Rx +eB +Qr +Qr +qM +Rx +Rx +SL +Qr +Qr +eB +dW +Qr +Qr +Qr +Qr +eB +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(79,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +cY +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Pp +xL +Tg +lS +lS +wp +Qr +es +il +hC +tk +zn +hA +QU +Zj +gX +gX +gX +gX +Hz +Hz +gX +gX +gX +Hz +Ug +kp +Do +hC +Av +ju +YU +Av +VC +YU +Av +VC +YU +Av +ju +YU +hz +vM +vM +kY +YU +oc +os +zO +ZC +DZ +DZ +DI +gV +zb +Jy +iR +BB +BB +iR +BB +BB +oE +BB +sb +fH +Ca +eB +Rx +Kt +eB +Qr +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +dW +Ca +Ca +SL +Ca +es +es +eB +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(80,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +oI +IL +IE +yp +WH +lm +Ew +tx +tx +yp +tx +tx +tx +tx +tx +IL +Ca +Pp +xL +lS +lS +Ka +Qr +eB +il +hC +tk +XG +bV +kp +kp +kp +kp +kp +tV +kp +kp +kp +kp +kp +kp +QU +lZ +gh +hC +Av +cW +YU +Av +cW +YU +Av +cW +YU +Av +cW +YU +GI +sE +CE +Xd +YU +lX +CU +zO +gY +DZ +DZ +DI +gV +zb +Jy +iR +vD +fh +ts +fh +vD +fh +mJ +Kc +fH +Ca +eB +gu +Ng +Qr +Ca +IL +IE +tx +tx +tx +tx +tx +tx +tx +tx +tx +WH +WH +WH +IL +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Rg +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(81,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +oI +Pj +Zd +rS +rS +Zd +Zd +Ut +Zd +rS +rS +Zd +Zd +Ut +Zd +Zd +Ca +kR +xL +wW +lS +lS +qx +Qr +Ca +hC +JV +wH +hA +kp +QU +Mk +Do +Do +kp +rO +kp +kp +Mk +QU +QU +lZ +lZ +UL +hC +ae +YU +YU +ae +YU +YU +ae +YU +YU +ae +YU +YU +GI +CE +CE +Xd +YU +lX +jy +Da +SD +Fm +Fm +yC +gV +zb +Jy +Kc +xo +Py +Py +Py +Py +sV +zb +KQ +fH +Ca +eB +BM +Ka +Eu +Ca +um +KS +mp +mp +rS +rS +ZF +Zd +rS +rS +ZF +Zd +Gt +sk +Kj +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +nU +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(82,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Ca +nL +Zd +ZF +ZF +Zd +Zd +ZF +Zd +Zd +ZF +Zd +Zd +Zd +Zd +Fh +Ca +lE +xL +Tg +lS +lS +pW +Qr +Ca +hC +Do +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +hC +ae +ae +YU +ae +ae +YU +ae +ae +YU +ae +ae +YU +GI +xx +xx +Xd +aa +rB +CU +zO +hY +DZ +DZ +DZ +gV +zb +ya +Kc +At +TM +TM +TM +iG +gl +zb +Kc +gV +yY +dM +BM +pg +Qr +Ca +nL +Zd +Zd +mp +Zd +tu +ZF +mp +Zd +rS +ZF +mp +Zd +Gt +zr +Ca +eB +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(83,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Ca +Qg +ld +Zd +Zd +Ut +rS +rS +Ut +Zd +Zd +Zd +rS +rS +uV +ld +es +lE +xL +lS +lS +lS +pW +Qr +Ca +zO +lX +oc +JS +lX +qi +lX +lX +qi +Vn +lX +lX +qi +qi +lX +lX +lX +JS +lX +zO +ae +QT +YU +ae +ZY +YU +ae +QT +YU +ae +QT +YU +UI +xF +xF +ZT +YU +rB +os +zO +eR +DZ +DZ +DZ +DZ +zb +iR +Kc +At +TM +TM +TM +TM +gl +SI +Kc +dZ +eq +eB +BM +Ka +eB +Ca +Qg +ly +ld +mp +Zd +rS +Zd +mp +mp +rS +ZF +mp +Ow +rS +Zd +es +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +TC +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(84,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Ca +Ca +pO +ik +dv +dv +FN +dv +dv +dv +dv +dv +FN +ik +ik +IL +es +oR +xL +lS +lS +XA +pW +Qr +es +oc +lX +rB +Ya +rB +rB +rB +Ya +lX +lX +lX +fS +rB +lX +lX +FG +rB +Ya +rB +zO +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +YU +rB +os +zO +zO +zO +zO +gV +gV +xr +iR +Kc +gn +vN +vN +vN +vN +NB +yD +Kc +DZ +Ca +eB +RS +fl +eB +Ca +IL +aM +ik +dv +dv +dv +dv +dv +dv +zm +dv +dv +dv +dv +IL +es +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(85,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Qr +Ca +Ca +SL +Ca +Ca +Ca +Ca +Ca +Ca +es +es +es +es +es +es +yk +xL +Tg +Ll +lS +TW +bX +Qr +es +fc +fc +fc +lX +lX +oc +lX +lX +rB +rB +rB +oc +rB +lX +lX +qi +lX +lX +rB +FG +qi +JS +lX +lX +lX +rB +rB +rB +LB +Sd +lX +lX +lX +lX +lX +JS +lX +Ya +CU +Yk +Sd +lX +zO +yq +gV +Il +iR +oE +Fl +in +Fl +in +Fl +Fl +iR +fp +gV +Ca +Qr +Rx +Rx +Jp +Ii +Ca +Ca +Ca +Ca +FT +Ca +Ca +es +dW +es +es +es +es +es +es +eB +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(86,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Qr +Qr +Qr +Qr +Qr +SQ +Rx +Rx +Qr +Kg +Kg +Kg +Kg +Kg +oR +xL +lS +Yy +lS +XA +pW +mv +Qr +es +PH +Dd +fc +lX +rB +lX +lX +qi +lX +lX +lX +qi +rB +rB +lX +fS +lX +lX +lX +qi +Jc +qi +qi +lX +rB +Yk +Yk +Sd +rB +rB +rB +rB +rB +Ya +lX +lX +lX +lX +os +lX +lX +lX +zO +DZ +gV +tf +iR +iR +BB +BB +iR +BB +iR +BB +fp +fH +Ca +Ca +eB +Kt +Kt +eB +eB +bW +Rx +qM +Rx +Qr +Qr +Qr +dW +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(87,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Fd +mU +UH +Tg +Tg +bn +Qr +Rx +Rx +Qr +qK +wo +Tg +Tg +wW +Tg +Tg +lS +lS +lS +TW +bX +mv +Qr +Bs +fc +WZ +fc +lX +rB +rB +rB +rB +rB +qi +qi +lX +qi +rB +rB +rB +rB +lX +lX +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +Wr +Wr +zO +DZ +DZ +oo +fh +fh +fh +fh +fh +fx +fh +Kw +fH +Ca +Ca +Vk +Qr +rW +EV +AU +EF +Qr +Rx +Rx +Rx +Qr +fv +Qz +ew +rV +rV +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(88,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Tg +Tg +Tg +Jv +Qr +Rx +dW +Qr +qK +Tg +Tg +Tg +Tg +ap +lS +lS +lS +TW +bX +mv +mv +Qr +es +fc +fc +fc +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +Wr +Wr +zO +gV +gV +gV +fH +fH +fH +fH +fH +gV +rV +Oe +Ca +KD +Qr +Qr +Tl +Tg +lS +XA +Gz +Qr +Kt +nt +Rx +Qr +qK +Tg +Yi +xA +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +DX +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +DX +ct +ct +ct +ct +bM +Oa +Oa +yu +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(89,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Cu +lS +lS +lS +fr +vk +Qr +Rx +Kt +Qr +qK +Tg +Tg +Tg +Tg +Tg +Tg +lS +lS +pW +mv +rs +mv +eB +es +PH +Dd +fc +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ux +UT +ER +ER +lJ +xW +ER +UT +ex +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +Wr +Wr +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +Ca +Ca +Ca +Qr +Tl +Tg +Tg +fr +lS +Nb +Qr +Kt +Kt +Kt +Qr +zd +lS +lS +XA +XA +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +AD +AD +bM +AD +bM +dq +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +bM +bM +bM +bM +VI +VI +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(90,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +zW +lS +lS +lS +lS +LU +Qr +Rx +az +Qr +Sk +lS +wW +Tg +Tg +wo +Tg +lS +lS +pW +mv +mv +mv +eB +Ca +fc +WZ +fc +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ER +ER +ER +ER +ER +ER +ER +ER +ER +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +lX +lX +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +oI +eq +Qr +Qr +BM +Tg +Tg +lS +WI +Eu +Qr +qM +SL +Rx +Qr +Qr +nr +XA +XA +XA +aL +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +VI +VI +VI +PZ +Qh +dq +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ve +YP +YP +YP +YP +YP +VI +Od +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(91,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Gi +lS +XA +iY +lS +ai +eB +Rx +Kt +Eu +Sk +lS +Tg +Tg +Tg +Tg +Tg +lS +XA +pW +mv +mv +mv +eB +Ir +fc +fc +fc +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Cx +ER +ER +ER +ER +ER +ER +ER +Vz +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +JK +VP +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +oI +Ca +eB +Tl +lS +HM +lS +WI +Qr +Ca +Ca +qM +UO +nt +Ca +SL +bW +hX +XA +XA +lS +lS +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +Od +fg +fg +VI +VI +Qh +KM +WO +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +WO +WO +TD +VI +VI +IG +AZ +kk +xV +AZ +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(92,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +QI +XA +Ul +XA +XA +ai +eB +Ix +Kt +Qr +Sk +lS +Tg +wo +Tg +oW +lS +lS +XA +pW +mv +mv +mv +eB +dW +PH +Dd +fc +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +bo +bo +bo +bo +rK +bo +bo +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +Ca +Qr +eB +JA +lS +lS +zq +Qr +es +dW +sK +ld +ld +Rx +YG +Ca +Ca +Eu +lV +lS +lS +Rm +Tg +rV +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +PZ +Od +Od +VI +IG +VI +VI +VI +Oc +Oc +Hj +Hj +Ig +go +NZ +NZ +NZ +NZ +PO +Hj +Hj +Oc +Oc +VI +VI +VI +kk +QB +QB +HF +AZ +MO +GH +ct +US +ct +ct +ct +ct +ct +ct +ct +ct +ct +iL +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(93,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +kN +Fr +iS +FE +XA +XA +ai +eB +az +Rx +Qr +Sk +lS +Tg +Tg +Tg +Tg +lS +lS +XA +pW +mv +mv +SM +Qr +es +fc +WZ +fc +Ma +Ma +Ma +kZ +kZ +mB +uw +nb +mB +kZ +kZ +bo +bo +bo +bo +bo +mB +hQ +uw +uw +uw +uw +uw +uw +dg +mB +bo +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +TG +DT +XA +zq +Qr +es +es +sK +ld +UO +ld +jk +Ix +YG +Ca +Ca +SL +JA +lS +Tg +ow +lS +XA +XA +qt +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +VI +IG +IG +VI +PZ +IG +VI +VI +VI +VI +VI +IG +IG +VI +VI +VI +VI +VI +VI +VI +fg +fg +fg +IG +VI +Od +AZ +HF +HF +HF +AZ +MO +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(94,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lc +ob +ld +zV +TS +iS +FE +XA +Gz +Qr +Kt +Rx +Qr +Sk +lS +Tg +Tg +wW +Tg +lS +lS +ba +pW +mv +mv +mv +Qr +il +fc +fc +fc +Ma +Ma +Ma +kZ +uw +MZ +DC +MZ +MZ +MS +kZ +uw +bo +bo +bo +Uk +hQ +wc +uw +uw +uw +uw +vR +uw +Um +uw +bo +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +Sd +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +ZE +XA +Xw +Qr +Ca +dW +sK +qN +LF +LF +ld +LF +Kt +Kt +hm +SL +Qr +ZE +lS +lS +lS +XA +yI +XA +XA +rV +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +gc +bM +VI +VI +VI +IG +AZ +AZ +IG +AZ +IG +AZ +kk +kk +AZ +AZ +AZ +AZ +AZ +IG +IG +IG +AZ +AZ +AZ +AZ +AZ +AZ +AZ +AZ +IG +HF +HF +HF +AZ +MO +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(95,1,1) = {" +HC +HC +HC +HC +HC +HC +Xb +kN +lc +tj +ef +dp +op +Xe +sH +iS +FE +Gz +Qr +th +Kt +SQ +oy +lS +Ll +Tg +Tg +Tg +lS +lS +nJ +pW +mv +rs +mv +Qr +Ca +PH +Dd +fc +Ma +Ma +Ma +wM +wc +MZ +uw +uw +uw +XS +ev +uw +mB +bo +bo +Br +Br +Br +Br +Br +Br +Br +Br +Br +RK +Br +gD +bo +bo +bo +JS +wC +gt +lX +xz +Om +lX +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +ZE +yR +Gz +Qr +HR +Ca +uc +Rx +vp +lf +lf +lf +vp +jk +pG +Ca +Qr +jt +cc +ar +ar +ar +ar +ar +ar +rV +Nl +Cb +Cb +Cb +vb +Cb +Pt +vb +Cb +Cb +Cb +Lm +Lm +Cb +gc +tZ +AZ +AZ +CM +AZ +AZ +IG +AZ +AZ +CM +AZ +AZ +kk +kk +kk +PB +AZ +AZ +AZ +AZ +AZ +CM +AZ +AZ +AZ +AZ +AZ +CM +AZ +IG +HF +HF +HF +AZ +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(96,1,1) = {" +HC +HC +HC +HC +HC +Xb +kN +lc +BJ +ef +op +IB +IB +jk +CY +iS +FE +Gz +TP +Rx +dW +Qr +oy +XA +lS +Tg +Tg +Tg +Yy +lS +ba +pW +mv +mv +mv +Qr +Ca +fc +WZ +fc +Ma +Ma +Ma +nb +uw +uw +uw +uw +uw +uw +uw +nb +uw +uw +bo +vr +pt +pt +pt +pt +kz +kz +kz +pt +lr +pt +pt +tg +mh +ad +lX +lX +rB +rB +rB +Gx +lX +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +eq +eB +JA +lS +Gz +Qr +Ca +Ca +bJ +qM +uF +nk +Jx +gZ +gi +sQ +Se +Ca +Qr +Qr +Qr +dM +eB +eB +eB +eB +Qr +ye +Ct +qV +Uv +qV +qV +qV +qV +qV +rU +qV +aZ +aZ +qV +qV +fw +Ns +Ns +Ns +Ns +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +aF +HF +HF +HF +AZ +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(97,1,1) = {" +HC +HC +HC +HC +HC +Xb +kN +Ca +ld +ld +WY +Hh +Ni +op +dp +fJ +fJ +fJ +Rx +qM +SL +Qr +oy +XA +lS +lS +Tg +Tg +lS +lS +XA +pW +mv +mv +mv +Qr +Ca +fc +fc +fc +Ma +Ma +Ma +uw +uw +uw +uw +dY +uw +uw +uw +uw +uw +uw +Cl +uw +uw +uw +hQ +uw +Jr +Jr +Jr +uw +fR +uB +uB +GD +eC +wG +Ex +PT +KT +PT +PT +cU +rB +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +BM +lS +ai +Eu +Ca +Ca +uc +qM +JC +kf +oH +Jx +gi +sQ +Rx +RA +Pe +mR +RA +yj +yj +Kf +RA +RA +yj +yj +TV +IU +IU +Zx +IU +IU +IU +IU +IU +IU +hZ +IU +lk +IU +IU +HF +HF +jd +HF +HF +HF +Jm +HF +HF +HF +IG +IG +HF +HF +HF +HF +HF +HF +HF +IG +IG +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +AZ +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(98,1,1) = {" +HC +HC +HC +HC +HC +Xb +kN +ld +ld +ld +jk +Ts +Xe +Vl +op +fJ +fJ +fJ +qM +Rx +SL +Qr +oy +XA +lS +Tg +ap +Tg +lS +lS +XA +pW +mv +mv +mv +Qr +Ca +PH +Dd +fc +Ma +Ma +Ma +uw +uw +uw +uw +uw +uw +uw +uw +uw +uw +uw +bo +Gk +Xh +Xh +Xh +Xh +KB +KB +KB +Xh +Xh +Xh +Xh +NI +wZ +ad +lX +wd +wn +rB +rB +CU +rB +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +BM +wW +Jv +Qr +SL +FT +uc +sQ +uF +ld +eY +Jx +gi +sQ +Kt +MI +Lu +ru +Lu +Lu +de +Lu +SL +qZ +qZ +Lu +Zh +hZ +TV +TV +IU +IU +hZ +IU +IU +IU +lk +IU +IU +IU +gC +HF +HF +HF +Jm +HF +QB +HF +HF +HF +HF +HF +IG +jd +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +HF +IG +IG +IG +HF +HF +HF +QB +AZ +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(99,1,1) = {" +HC +HC +HC +HC +HC +Xb +kN +lc +Mo +IB +op +IB +ef +jk +CY +Af +FE +Gz +Qr +Be +Rx +SL +oy +XA +lS +Tg +Tg +Tg +lS +lS +XA +pW +SM +mv +mv +Qr +Ca +fc +WZ +fc +Ma +Ma +Ma +wM +wc +XS +ev +uw +uw +MZ +uw +Sy +bP +bo +bo +Kz +Kz +Kz +Lw +Kz +Kz +Kz +Kz +vV +Kz +LK +VO +bo +bo +bo +LZ +wd +is +JK +lX +SX +lX +rB +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +BM +Tg +Jv +Qr +Ca +Ca +uc +sQ +uF +Bc +Jx +wY +gi +sQ +BI +Ca +Qr +Qr +dW +Qr +Qr +Qr +Eu +Qr +bW +CT +jn +hZ +kx +kx +kW +kx +Gl +wr +Gl +pM +Gl +kx +kx +kx +Gl +sv +na +na +na +na +na +na +na +na +mM +na +mM +mM +mM +mM +mM +mM +sv +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +HF +HF +QB +AZ +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(100,1,1) = {" +HC +HC +HC +HC +HC +HC +Xb +kN +lc +hk +ef +Xe +ef +IB +pA +Hf +FE +Gz +Qr +SL +dz +SL +oy +lS +Yy +Tg +Tg +Tg +Tg +lS +lS +pW +mv +mv +mv +Qr +il +fc +fc +fc +Ma +Ma +Ma +kZ +uw +MS +MZ +DC +MZ +MZ +kZ +uw +bo +bo +bo +hQ +uw +wc +uw +uw +hQ +uw +uw +uw +uw +np +bo +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +Sd +rB +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +BM +Tg +Jv +Qr +HR +dW +PK +Rx +vp +nn +nn +nn +vp +Rx +BI +Ca +bW +Su +gf +gf +gf +gf +gf +gf +gf +rV +VY +vj +VY +VY +vj +vj +vj +vj +vj +vj +VY +vj +vj +vj +gc +tZ +fg +fg +CM +AZ +AZ +AZ +AZ +IG +CM +AZ +AZ +AZ +AZ +AZ +CM +AZ +AZ +IG +AZ +AZ +CM +AZ +AZ +AZ +AZ +AZ +CM +AZ +AZ +HF +HF +QB +AZ +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(101,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lc +hk +KD +dp +pA +iS +FE +ba +Ka +SQ +Rx +uV +SL +Sk +lS +lS +eG +JR +Tg +zS +lS +lS +RZ +Ti +mv +rs +Qr +Ca +Ma +Ma +Ma +Ma +Ma +Ma +kZ +kZ +bP +uw +nb +bP +kZ +kZ +bo +bo +bo +bo +bo +bP +hQ +uw +xf +uw +uw +uw +uw +hQ +VN +bo +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +rB +JK +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +eB +BM +Ww +ai +Qr +Ca +es +Qt +Rx +Rx +Rx +cG +sQ +Rx +NV +nF +SL +bW +ZE +XA +jq +XA +td +vL +XA +yR +rV +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +Uw +gc +bM +AZ +AZ +AZ +IG +IG +AZ +AZ +AZ +AZ +fg +IG +AZ +IG +IG +AZ +AZ +IG +IG +AZ +kk +kk +kk +kk +kk +AZ +IG +IG +IG +AZ +HF +QB +QB +AZ +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(102,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +kN +tp +iS +FE +XA +XA +Ka +Qr +ld +It +Pn +Sk +lS +Tg +Tg +Tg +Tg +wW +lS +lS +nJ +pW +mv +mv +eB +Ca +ld +zr +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +bo +bo +rK +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +rB +lX +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +Oe +Ca +Qr +GV +Tg +lS +xH +Eu +Ca +es +Qj +ld +jk +jk +Rx +dW +nF +Ca +Ca +Qr +JA +lS +lS +fo +XA +XA +XA +XA +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +VI +IG +VI +PZ +VI +VI +IG +fg +VI +VI +VI +VI +VI +VI +VI +VI +VI +VI +VI +VI +VI +VI +VI +IG +IG +IG +AZ +HF +QB +HF +fg +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(103,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +QI +XA +XA +XA +lS +Ad +Qr +FK +Zw +yd +Sk +lS +Tg +Tg +Tg +Tg +Tg +UV +lS +lS +pW +mv +mv +eB +Ca +Ca +ld +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +bo +bo +ER +bo +bo +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +lX +TZ +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +Ca +eB +Qr +JA +XA +XA +xH +Qr +es +es +Qt +ld +jk +NW +nF +EU +SL +Qr +Tl +lS +lS +lS +lS +rV +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +IG +IG +VI +IG +VI +VI +VI +GZ +GZ +ib +ib +nj +NY +JJ +JJ +JJ +JJ +jl +ib +ib +GZ +GZ +VI +VI +VI +AZ +HF +HF +HF +fg +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(104,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +tM +XA +XA +yN +lS +Ka +Qr +Rx +SL +zB +oy +lS +lS +Tg +ap +Tg +Tg +Tg +Yy +lS +pW +mv +mv +eB +Ca +Ca +Ca +YK +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +oD +gz +ER +ER +Uo +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +cr +Ma +JK +lX +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +aH +Ca +dM +hX +XA +sf +XA +xH +Qr +dW +Ca +ld +Lo +Rx +Ca +Ca +Qr +Tl +Tg +Tg +ap +lS +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +Od +Od +Od +VI +VI +Qh +ON +UE +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +UE +UE +TD +VI +VI +AZ +AZ +AZ +AZ +fg +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(105,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +lS +an +lS +Tg +LU +Qr +Rx +dW +ld +oy +lS +lS +Tg +Tg +Tg +JR +Tg +lS +lS +pW +mv +mv +eB +Ca +Ca +Ca +Bj +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +SJ +ER +ER +ER +zt +Ma +Ma +ur +ur +ur +ur +ur +ur +ur +ur +ur +ur +ur +ur +Ma +cr +Ma +uj +uj +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +aH +Ca +eB +Qr +ZE +XA +XA +XA +bi +Qr +Qr +qN +Kt +Kt +Qr +Qr +ZQ +lS +Tg +Tg +Tg +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +VI +VI +VI +Od +VI +Qh +dq +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +IV +YB +YB +YB +YB +YB +fg +VI +Fx +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(106,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +lS +lS +fr +Tg +gN +eB +Rx +dW +jG +oy +XA +lS +xA +Tg +Tg +Tg +Tg +lS +kj +RZ +Ti +mv +yd +Ca +Ca +Ca +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ER +ER +gz +gz +ER +Ma +Ma +ur +Ve +DE +cz +cz +ur +JN +Oz +ur +sY +HE +ur +Ma +cr +Ma +uj +om +zO +HC +HC +HC +HC +HC +HC +HC +HC +HC +rV +Ca +Ca +es +eB +hX +lS +Dx +lS +HM +sq +Qr +Rx +yK +aE +Qr +zg +lS +JO +Dx +Tg +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +AD +AD +bM +AD +bM +dq +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +bM +bM +bM +bM +VI +VI +Qh +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(107,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +mU +Tg +Tg +Tt +eB +rq +UO +Zw +GE +XA +lS +lS +lS +mU +Tg +Tg +Tg +lS +lS +RZ +Ti +eB +dW +Ca +Ca +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +gz +SA +BP +gw +ER +Ma +Ma +ur +fA +cz +cz +cz +ur +jB +EC +ur +cz +He +ur +Ma +cr +Ma +uj +uj +zO +BX +ID +ID +ID +BX +ID +ID +BX +BX +BX +ID +Ca +eq +eB +eB +GV +lS +Tg +mU +ai +bW +Rx +Rx +Rx +Qr +Sk +Tg +mU +ky +rV +rV +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +zT +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +zT +ct +ct +ct +ct +bM +GW +GW +nN +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(108,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +ap +NM +NM +NM +NM +oS +eB +Rx +ld +Pz +oy +XA +wk +lS +lS +lS +lS +Tg +JR +Tg +lS +lS +RZ +Qr +es +Ca +yx +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ER +SA +pH +lU +ER +Ma +Ma +ur +BQ +VX +cz +VX +ur +gs +cm +ur +FY +kb +ur +lX +os +lX +JK +lX +zO +To +we +As +To +BX +uJ +uJ +BX +uJ +uJ +uJ +ID +Ca +KD +Qr +Qr +RS +Cc +Cc +kJ +Qr +Rx +Rx +Rx +Qr +pi +OL +OL +rV +rV +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ra +ct +ct +ct +ct +ct +ct +ct +ct +ct +xI +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(109,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Qr +Qr +Qr +sW +Qr +Qr +Kt +Rx +ld +dI +dI +sX +dI +Zm +yG +PS +lS +Tg +Tg +lS +lS +XA +Qr +es +Ca +ld +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ER +gz +jJ +Hq +ER +Ma +Ma +ur +BQ +cz +cz +cz +cz +Tn +Tj +xt +WM +CQ +ur +lX +nq +lX +lX +lX +zO +IO +Vu +As +To +BX +Pc +uJ +zD +uJ +uJ +uJ +uJ +ID +Ca +Ca +Qr +Rx +Rx +Ca +Qr +Qr +Rx +Rx +aE +Qr +Qr +Qr +Qr +Qr +Qr +TP +Qr +eB +eB +eB +eB +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +ub +HC +HC +HC +HC +"} +(110,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +sW +KD +Ca +Ca +Ca +KD +Ca +es +Ca +Ca +Hk +Ca +Ca +Ca +Ca +DW +yG +PS +lS +Tg +mU +lS +lS +Qr +es +Ca +Ca +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +yS +gz +ER +XB +cZ +zv +zv +Et +AP +AP +AP +AP +AP +LC +FO +ed +Ld +mi +OX +lX +os +BX +Pc +BX +BX +AE +we +To +Pc +zD +uJ +uJ +BX +Db +Db +uJ +uJ +uJ +BX +Ca +Eu +Rx +Rx +Qr +TP +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +eB +eB +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +ub +HC +HC +HC +HC +HC +"} +(111,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Ca +IL +Qg +uT +qd +qd +oi +qd +ld +ld +gb +ld +ld +ld +gg +IL +es +Pp +PS +Tg +Tg +lS +lS +Qr +es +Ca +Ca +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +jW +ER +TE +rn +cH +Ma +Ma +ur +Yc +cz +cl +cz +HU +cz +qX +ed +ks +Dh +cz +lX +lN +BX +uJ +BX +vh +Pc +To +Pc +To +BX +Ss +Pc +uJ +uJ +Db +uJ +Pc +uJ +fZ +Ca +Qr +rC +QG +Qr +Ca +IL +FC +Tf +FC +Tf +FC +Tf +FC +aK +FC +aK +Es +aK +FC +IL +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(112,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +es +Qg +ld +ld +ld +It +ld +jk +jk +ld +ld +ld +ld +ld +Zo +Zo +es +kR +PS +Tg +Tg +Tg +Tg +Qr +Ca +Ca +Ca +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ur +yF +mH +AF +NF +pb +Ro +cz +cz +OB +OB +ur +JK +os +BX +uJ +BX +vh +Pc +Rq +To +Yv +BX +Fz +Pc +uJ +uJ +Db +uJ +uJ +uJ +uJ +Ca +eB +ZE +oN +eB +Ca +Pj +mp +jk +Zd +Zd +Zd +Zd +Xz +Zd +zC +jk +jk +bf +Xz +Zd +tR +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Rh +ct +ct +ct +ct +ct +ct +ct +bM +Oa +Oa +yu +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +ub +HC +HC +HC +HC +HC +HC +"} +(113,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +es +nL +ld +ld +ld +ld +ld +rq +jk +jk +jk +ld +ld +zr +ld +NK +SL +kR +PS +ap +Tg +JR +Tg +Qr +SL +Ca +Ca +EK +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ur +Bp +jQ +HU +cz +bQ +yQ +NC +Pw +OB +OB +ur +lX +os +BX +uJ +BX +BX +BX +BX +BX +BX +BX +Fz +Pc +Pc +uJ +Db +uJ +uJ +uJ +BX +yY +eB +JA +aq +eB +Ca +nL +Zd +jk +jk +Zd +Ow +Zd +mp +Qn +Zd +Zd +ld +ld +ld +Fh +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +Hj +Hj +XI +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(114,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +es +cw +ld +ld +ld +XE +ld +ld +Pz +Zo +ld +ld +ld +ld +jk +ld +SL +pl +PS +Tg +Tg +Tg +Cc +eB +Ca +Ca +Ca +ld +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ur +Yw +AF +AF +NF +pb +vZ +Qd +ej +cz +cz +ur +lX +Gx +BX +Pc +uJ +uJ +uJ +uJ +uJ +uJ +fj +uJ +uJ +uJ +uJ +Db +uJ +Pc +Pc +ID +Ca +eB +dr +Ka +eB +tR +Pj +RM +ld +YF +oh +Zd +BG +Zd +Zd +RM +Zd +RM +Zd +Zd +Zd +es +eB +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +Hj +Vo +XI +GH +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +GM +ub +HC +HC +HC +HC +HC +HC +HC +"} +(115,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Ca +es +Wf +sl +sl +ZM +lG +sl +sl +aT +nk +ld +Ry +YH +SW +IL +SL +oR +PS +Tg +Tg +gN +Qr +eB +Ca +Ca +ld +VT +Jb +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ur +yF +XJ +XJ +rl +cz +ur +ur +ur +OB +cz +ur +oc +os +BX +Pc +uJ +Pc +Pc +uJ +uJ +Pc +KI +Pc +uJ +BX +Db +Db +uJ +uJ +uJ +ID +Ca +eB +RS +Ee +eB +Ca +IL +RF +Cr +bB +Os +RF +WL +RF +WL +RF +WL +RF +WL +tC +pa +es +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +VI +VI +Qh +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +HC +HC +HC +HC +HC +HC +HC +HC +"} +(116,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Qr +es +es +dW +Ca +Ca +Ca +Ca +KD +Ca +SL +SL +Ca +Ca +Ca +Ca +oR +xL +Tg +wo +lS +Ka +Qr +es +Ca +Pz +ld +ld +cr +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ur +hJ +nH +nH +nH +cz +cz +cz +dy +OB +oA +ur +lX +FJ +BX +Pc +Ws +lh +uJ +Zl +Ws +ot +KI +wf +uJ +zD +uJ +uJ +Pc +uJ +uJ +ID +Ca +Qr +Rx +Rx +eB +Qr +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +es +Ca +TP +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +VI +VI +Qh +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +"} +(117,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Qr +Qr +eB +eB +Qr +sW +Kt +Kt +SL +SL +wL +Kg +Kg +Kg +oR +xL +Oo +Tg +lS +lS +Ka +Qr +es +Ca +ld +ld +dj +cr +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +ur +cz +ZR +iI +iI +hM +NF +NF +kK +hM +ZW +ur +lX +lN +BX +Pc +Ws +HI +Ws +Zl +Ws +HI +uP +Zl +uJ +BX +uJ +uJ +tb +uJ +uJ +ID +Ca +Eu +Rx +Rx +yd +eB +eB +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +VI +VI +Qh +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(118,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Gi +lS +lS +lS +lS +lS +ld +Rx +Kt +XE +wm +PS +lS +Tg +Tg +Tg +Tg +Tg +lS +xA +lS +oN +Qr +es +Ca +zO +zO +zO +Hi +aI +aI +aI +IR +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +Lc +Lc +Lc +Lc +Lc +kQ +ur +OB +xh +cD +ur +ur +lX +os +BX +BX +BX +BX +BX +BX +BX +BX +vm +BX +BX +BX +BX +BX +BX +BX +BX +BX +Ca +Qr +gu +ew +zk +hB +Qr +SL +Rx +Rx +eB +iC +AU +AU +zk +mN +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +Od +VI +Qh +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(119,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Gi +Tg +Tg +Tg +kj +lS +Di +hn +Un +Kt +wm +PS +lS +Tg +Oo +Tg +Tg +UV +lS +XA +XA +XA +Qr +es +Ca +lX +rB +lX +jf +CL +jf +ix +os +ix +ix +jf +ix +ix +jf +Zp +ix +jf +rB +rB +rB +rB +jf +rB +rB +rB +rB +rB +ix +rB +rB +rB +rB +ix +jf +zx +PT +oB +PT +uN +BE +PT +BE +QQ +QQ +PT +PT +BE +Fn +lX +KH +lX +oc +lX +KH +lX +lX +zO +Ca +Eu +BM +Nk +Yy +Ka +Qr +Rx +Rx +Rx +TP +lB +XA +lS +Tg +Tg +rV +rV +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +AD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +Od +VI +Qh +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(120,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +JP +Tg +Tg +lS +lS +eB +SL +Kt +Qr +Pp +PS +lS +Tg +wo +lS +lS +XA +ba +wk +XA +Tm +Tm +Tm +jf +jf +jf +jf +lX +lX +rB +CU +lX +ix +uo +jf +jf +jf +jf +jf +jf +kX +lX +jf +jf +jf +jf +JK +lX +jf +ix +ix +Dm +jf +jf +CL +jf +lX +os +lX +lW +LZ +lX +lX +oc +oc +lX +lX +lX +rB +SU +rB +oc +rB +lX +rB +rB +rB +SU +rB +rB +Ca +Qr +BM +Tg +Tg +Ka +Qr +Rx +nt +Rx +eB +JA +lS +lS +Nk +Tg +rV +rV +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +bM +sI +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +VA +VI +Qh +bM +ct +DX +ct +ct +ct +ct +DX +ct +ct +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(121,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Tg +Tg +Tg +wo +lS +eB +SL +Kt +Kt +VW +PS +lS +Tg +lS +lS +XA +XA +XA +ba +XA +Tm +es +il +Ma +Ma +Ma +Ma +Ma +Ma +DJ +cr +Ma +Ma +jf +Zp +jf +Up +jf +zO +zO +zO +zO +zO +zO +zO +PD +PD +PD +PD +PD +PD +PD +PD +PD +PD +PD +zO +CR +lX +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +zO +Ca +eB +RS +Cc +Cc +KJ +Qr +Rx +Rx +Rx +eB +nr +Cc +Cc +Cc +Cc +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +dR +bM +VI +Ze +bM +bM +bM +bM +Am +Am +Am +dT +bM +bM +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(122,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Tg +Tg +Oo +Tg +Tg +Tg +kj +eB +Qr +Rx +SL +nk +Pp +PS +lS +lS +wk +XA +WA +XA +XA +XA +Qr +es +Ca +hx +Zk +Zk +Zk +Zk +Zk +Zk +HN +pK +Ma +Rt +WX +jf +jf +jf +WX +tz +tz +tz +tz +tz +Bb +PD +lg +fG +lg +PD +lg +fG +lg +PD +PD +PD +zO +os +lX +zO +lX +lX +rw +rw +zO +rw +rw +rw +rw +zO +ce +rw +rw +Uy +zO +ce +rw +rw +Uy +zO +oI +eB +Rx +Rx +Qr +eB +eB +qM +Rx +NW +Qr +Qr +eB +eB +yd +yd +eB +eB +Qr +Qr +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +bM +ct +ct +nD +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +AM +AM +GO +GO +GO +wT +AM +AM +AM +JW +iP +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(123,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Tg +Tg +Tg +lS +lS +lS +lS +bK +Kt +Kt +Xy +kR +PS +lS +lS +XA +ba +XA +td +XA +oN +Qr +es +Ca +hx +sC +Zk +Mm +Ma +Dv +Zk +HN +lK +Ma +tz +tz +WX +ql +jb +jf +WX +tz +tz +tz +tz +tz +PD +wz +hO +eE +PD +wz +hO +eE +jx +Zy +zN +zO +Gx +xz +zO +rw +rw +rw +rw +zO +rw +rw +rw +rw +zO +gO +rw +rw +Hn +zO +gO +rw +rw +Hn +zO +oI +eB +Kt +Kt +eB +eB +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +es +Ca +Ca +Ca +Ca +Ca +Ca +Qr +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +QO +ct +ct +bM +PG +AM +AM +AM +AM +AM +AM +pc +ke +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(124,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +sc +lS +Qr +Qr +Qr +Qr +jK +Qr +Qr +Qr +sZ +wX +Qr +Bx +dI +Zm +Pp +FE +XA +XA +vL +oN +Qr +es +Ca +hx +sC +Zk +HP +Ma +Cw +Zk +Ht +OQ +Ma +tz +tz +WX +ql +ql +ql +ql +wA +tz +tz +tz +tz +PD +kF +kF +kF +kF +kF +kF +kF +PW +iO +NQ +zO +os +TZ +zO +lX +rw +rw +rw +zO +rw +rw +rw +rw +zO +aQ +rw +rw +Qm +zO +aQ +rw +rw +Qm +zO +oI +eB +rd +QG +eB +Ca +IL +Vc +Xo +Xo +Xo +Xo +Xo +Xo +Xo +Xo +Xo +qd +uT +qd +IL +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +AM +Eq +Eq +AM +Eq +AM +AM +Cv +al +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(125,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Gi +Qr +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +Ca +KD +Ca +Ca +Ca +Ca +Pp +FE +XA +XA +oN +Qr +es +Ca +hx +Zk +Zk +Mm +Ma +uk +ZO +HN +fM +Ma +tz +tz +tz +wA +ql +ql +Yb +ql +wA +wA +tz +tz +PD +PD +kF +PD +Ev +Ar +kF +kF +PW +St +ao +zO +CU +lX +zO +lX +lX +lX +rw +zO +rw +rw +rw +rw +zO +hN +rw +rw +rw +zO +hN +rw +rw +rw +zO +Ca +Qr +ZE +oN +eB +Ca +Pj +Zd +gA +Zd +Zd +Zd +ld +Di +PM +Zd +Fe +Ow +ld +ld +je +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +AM +AM +Eq +AM +hp +AM +AM +Eq +al +JW +dk +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(126,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Gi +Ca +IL +FC +aK +pN +lm +pN +II +Es +ph +Es +lm +pN +ym +Es +IL +Ca +Pp +FE +ba +oN +Qr +es +il +Ma +Ma +Ma +Ma +Ma +Vs +Zk +HN +vS +Ma +tz +tz +tz +tz +wA +ql +ql +iy +IX +ql +tz +tz +PD +Pv +kF +PD +gk +zj +PD +ax +PW +ak +yM +zO +CU +JK +zO +rB +lX +lX +lX +zO +aW +aW +LH +PY +zO +zO +zO +zO +xz +zO +zO +zO +zO +tz +zO +Ca +Qr +ZE +QJ +eB +Ca +nL +Zd +Zd +Ow +Zd +ld +ld +ld +kf +ld +Pz +Zd +Zd +Pz +ld +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +AM +AM +AM +AM +AM +AM +Eq +Eq +AM +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(127,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +Gi +Ca +Pj +jk +jk +ld +ld +ld +ld +cB +nQ +zC +jk +jk +ld +cB +gr +Ca +kR +FE +XA +oN +Qr +es +Ca +GB +Zk +Zk +sC +Zk +sC +yv +xB +fd +Ma +tz +tz +tz +tz +tz +wA +wA +ql +ql +ql +tz +tz +PD +it +kF +PD +gk +zj +PD +XQ +PW +kF +Og +Da +si +lX +zO +rB +rB +lX +lX +zO +tz +PY +PY +tz +zO +LY +JS +wy +rB +zO +Sq +ui +wy +sj +zO +Ca +Qr +JA +oN +eB +Ca +Pj +Zd +Zd +Zd +Di +ld +ld +ld +ld +ld +ld +je +Zd +Zd +Pz +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +pc +mD +AM +Eq +qz +mD +AM +Eq +pq +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(128,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Ca +nL +VL +jk +jk +xs +jG +ld +jk +uC +ld +ld +ld +ld +bp +Fh +Ca +kR +FE +XA +Ka +Qr +eB +Ca +AM +sC +sC +sC +jV +rv +rP +Li +MJ +Ma +Rt +tz +tz +tz +tz +tz +tz +wA +ql +Ft +wA +Bb +PD +ak +bE +PD +gk +zj +PD +ax +cx +jp +LR +zO +rB +lX +zO +lX +rB +rB +lX +zO +PY +PY +aW +tz +zO +hy +Ic +zO +rB +zO +zU +GX +zO +tz +zO +oI +Qr +rf +Ee +Qr +Ca +IL +IT +Zd +ld +ld +nX +ld +ld +ld +Bg +sl +sl +OM +OM +IL +Ca +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +pc +al +We +AM +pc +BO +OP +fC +iz +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(129,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Ca +Pj +YF +ld +YF +kt +nk +Ls +ld +dP +YF +ld +YF +xs +gr +Zd +es +RC +FE +XA +Yy +zk +Qr +es +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +tz +tz +tz +tz +tz +tz +tz +tz +ql +ql +ql +wA +PD +PD +PD +PD +PD +PD +PD +PD +pz +pz +PD +zO +lX +lX +zO +lX +lX +lX +lX +zO +aW +aW +aW +tz +zO +zO +zO +zO +lX +zO +zO +zO +zO +tz +zO +Ca +eB +Rx +Rx +bW +Qr +Ca +Ca +SL +Ca +Ca +Ca +Ca +es +es +es +pm +Ca +Ca +Ca +Ca +Qr +Qr +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +Za +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +Am +JW +JW +JW +JW +JW +JW +JW +JW +JW +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(130,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Ca +IL +RF +WL +RF +mQ +bB +bL +bB +Os +RF +WL +RF +WL +tC +IL +es +kR +PS +Ll +lS +lS +Qr +Ca +es +es +RD +tj +tj +Ca +Ca +Ca +RD +RD +es +Ca +es +es +es +es +Ca +Ca +rp +XA +XA +XA +XA +rp +Ca +tj +RD +RD +es +es +es +Ca +Ca +tj +Ca +lp +Ca +Ca +es +es +Ca +Ca +Ca +Ca +Ca +Ca +lp +tj +tj +tj +Ca +Ca +tj +tj +Ca +lp +Ca +es +eB +Kt +Rx +Qr +eB +Jp +Rx +qM +Rx +Qr +Qr +eB +eB +eB +eB +eB +eB +Qr +Qr +Qr +Qr +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +sr +JW +JW +JW +JW +JW +Ps +JW +JW +JW +JW +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(131,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +Qr +Ca +Ca +SL +Ca +Ca +Ca +Ca +Ca +Ca +Ca +lp +Ca +Ca +Ca +Ca +Qr +kR +PS +lS +lS +Yy +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +eB +eB +eB +eB +eB +fu +fu +lS +lS +lS +rp +eB +eB +Qr +Qr +Qr +Qr +Qr +Qr +ga +Qr +Qr +Qr +eB +eB +Qr +Qr +Qr +Qr +Qr +Qr +Qr +eB +eB +eB +eB +eB +eB +eB +Qr +Qr +Qr +Qr +eB +eB +Qr +rC +zk +AA +eV +eB +SL +Rx +Rx +Qr +iC +AU +AU +zk +ew +rV +rV +ri +ri +ri +ri +ri +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +kG +kG +kG +kG +kG +kG +kG +kG +kG +kG +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(132,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +Qr +Qr +Qr +Qr +eB +eB +eB +eB +eB +eB +eB +Qr +Qr +qM +Rx +Rx +Qr +Pp +PS +lS +lS +rk +gf +gf +Ji +xH +Rx +cd +ew +ue +ew +ew +ew +ht +mN +ew +jZ +jZ +Xu +Rx +cd +zk +vi +Tg +ew +wo +zk +zk +lb +gf +xH +Rx +cd +ew +ew +co +mN +jZ +jZ +yr +yr +em +AU +oO +Rx +cd +ew +ew +ht +zk +qa +qa +ew +ew +zk +jZ +jZ +jZ +bi +Rx +cd +zk +Uc +lS +oN +eB +eB +Rx +Rx +Qr +Qr +ZE +XA +lS +lS +Tg +ri +ri +ri +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(133,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +UY +lS +lS +lS +lS +Tg +Tg +Tg +io +lS +lS +kj +lS +Qr +Qr +Rx +SL +qM +Qr +Pp +xL +Tg +lP +lS +lS +lS +oN +Rx +cd +Tg +Tg +lS +uI +lS +XA +lS +lS +Uc +Yy +Ka +Rx +cd +lS +OZ +Tg +mU +Tg +Tg +Tg +lS +lS +oN +Rx +cd +Tg +Tg +Tg +Tg +lS +UV +Uc +lS +XA +XA +oN +Rx +cd +Tg +Tg +Tg +Yy +lS +lS +Tg +Tg +Tg +Nk +Tg +lS +Gh +Rx +cd +lS +lS +tm +fl +Qr +Kt +Rx +Rx +eB +TG +XA +XA +lS +wW +ri +ri +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +DX +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +ct +rQ +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(134,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +lS +Tg +eS +Tg +Tg +JP +Tg +lS +lS +kj +lS +lS +Qr +Qr +Kt +SL +Rx +Qr +Pp +Fs +jC +Cc +Cc +BL +uU +Rx +cd +Cc +OL +ar +ar +ar +Jh +tm +OL +OL +gj +Kq +Rx +cd +OL +gj +zH +zH +zH +Cc +Cc +Cc +pX +Kq +Rx +cd +Cc +GN +Cc +Cc +gj +gj +gj +ar +tm +tm +zq +Rx +cd +QA +zH +zH +aJ +gj +Cc +Cc +Cc +zH +zH +Cc +Cc +WI +Rx +cd +tm +fl +Qr +eB +eB +Rx +Rx +eB +eB +ZE +XA +lS +Tg +yo +ri +ri +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +bM +bM +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +if +bM +bM +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(135,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +lS +Tg +wo +Tg +Tg +Tg +Tg +Tg +lS +kj +lS +lS +lS +Qr +eB +Kt +Rx +Rx +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +je +ld +ld +ld +rq +Qr +dW +Qr +Qr +Qr +Qr +Qr +SL +SL +Qr +Qr +Qr +ga +Qr +Qr +Qr +Qr +Qr +Qr +Qr +SL +SL +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +Qr +mW +dW +dW +dW +dW +eB +eB +eB +eB +eB +Qr +Qr +Qr +eB +eB +Kt +Rx +Rx +Rx +eB +TG +XA +lS +lS +Nk +ri +ri +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(136,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +lS +lS +lS +Tg +Tg +Tg +Tg +OZ +lS +Tg +Tg +lS +lS +lS +Qr +Qr +Rx +Rx +Kt +dW +Kt +Rx +Rx +Rx +Rx +Rx +Kt +Kt +Kt +dW +Kt +dW +dW +ld +ld +ld +gx +dW +SL +SL +Rx +DN +Rx +Rx +SL +Rx +Kt +Rx +Rx +Kt +Kt +Kt +dW +dW +Kt +Kt +Kt +Rx +SL +SL +Rx +Rx +Rx +Rx +SL +dW +dW +SL +pJ +ld +Xk +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Kt +Rx +Rx +NW +Rx +eB +eB +ZE +lS +lS +Tg +Dj +ri +ri +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(137,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +lS +lS +lS +lS +Tg +Tg +Tg +lS +Tg +JR +lS +lS +lS +lS +Qr +Qr +Rx +Rx +dW +dW +JG +Kt +dW +SL +Rx +Rx +Rx +Kt +Kt +Kt +Kt +Kt +Kt +It +Kt +dW +SL +SL +Rx +Rx +Rx +Kt +Kt +Kt +Kt +Rx +Rx +dW +dW +Rx +dW +dW +Kt +Kt +Rx +Rx +Rx +Rx +Rx +Rx +Rx +Kt +dW +dW +dW +ld +ld +ld +ld +je +dW +dW +Kt +Rx +Rx +Rx +Rx +SL +Rx +Rx +Rx +Rx +Rx +Qr +Qr +Qr +TG +lS +lS +Tg +yo +ri +ri +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(138,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +kN +kN +kN +lS +lS +wo +Tg +lS +lS +Tg +Tg +Tg +lS +lS +lS +lS +Qr +Qr +Qr +Qr +Qr +Tx +Tx +Tx +Qr +Qr +eB +eB +eB +Qr +Qr +Tx +Tx +Tx +Tx +Tx +Tx +Qr +ga +Qr +eB +eB +lT +lT +Tx +Ks +Tx +Tx +lT +eB +eB +Qr +Qr +Qr +Qr +eB +lT +Tx +Tx +Qr +RX +Xa +eB +eB +eB +eB +ld +Di +ld +yz +eB +lT +Tx +Qr +SL +SL +Qr +Tx +lT +lT +lT +eB +eB +eB +yd +TG +AU +XA +Tg +yo +ri +ri +ri +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(139,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +lS +lS +lS +lS +lS +Io +lS +lS +lS +lS +lS +XA +wk +XA +XA +FM +FM +FM +FM +FM +FM +Gy +rJ +FM +FM +FM +FM +FM +FM +FM +FM +FM +FM +Gy +rJ +FM +FM +FM +FM +FM +FM +FM +FM +FM +FM +Gy +rJ +FM +FM +FM +FM +FM +FM +FM +FM +FM +MX +Gy +xQ +FM +FM +FM +FM +FM +XF +XF +XF +XF +XF +qS +tJ +XF +XF +XF +XF +XF +zk +AU +AU +AU +XA +Tg +Dj +ri +ri +ri +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(140,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +Tg +TR +TR +TR +TR +TR +TR +Wx +Wx +Wx +Wx +Wx +Wx +FM +Jk +UC +UC +MM +MM +hI +hI +hI +FM +Xl +iw +FM +oe +UC +UC +MM +MM +hI +hI +hI +FM +MM +MM +FM +oe +oe +Pl +MM +MM +hI +hI +hI +FM +Ej +MM +FM +IJ +UC +UC +GS +wU +MM +MM +hI +FM +MM +MM +FM +qS +qS +rA +AN +AN +AN +AN +AN +XF +AN +AN +XF +sg +Tg +Tg +Tg +Nk +ri +ri +ri +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(141,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +kN +FM +Sr +UC +UC +MM +MM +MM +MM +Pm +FM +MM +Ed +FM +oe +UC +oe +Pm +MM +MM +MM +MM +FM +MM +Pm +FM +oe +UC +UC +Pm +MM +Pm +Pm +MM +FM +MM +MM +FM +UC +Pl +UC +Pm +xZ +MM +MM +hI +FM +MM +MM +FM +qS +qS +qS +Xs +AN +Xs +AN +AN +jE +Xs +AN +XF +ri +ri +ri +ri +ri +ri +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(142,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +Xb +FM +FM +UC +FM +ou +MM +MM +MM +MM +Wo +MM +FM +FM +oe +UC +FM +KE +MM +MM +Pm +MM +MM +MM +FM +FM +YL +UC +FM +MM +MM +MM +Pm +MM +MM +MM +FM +FM +YL +UC +FM +MM +Pm +MM +MM +PL +MM +MM +FM +FM +pw +qS +XF +AN +AN +AN +AN +AN +AN +AN +XF +XF +Xb +Xb +Xb +Xb +Xb +Xb +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(143,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +Pl +Pl +FM +MM +MM +KE +MM +MM +FM +FM +FM +HC +YL +Ci +FM +MM +MM +MM +Pm +MM +FM +FM +FM +HC +YL +YL +FM +MM +MM +Pm +MM +MM +FM +FM +FM +HC +YL +YL +FM +hI +hI +fO +PL +hI +FM +FM +FM +HC +pw +pw +XF +lQ +AN +AN +AN +AN +XF +XF +XF +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(144,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +UC +FM +UC +Pm +Pm +MM +Pl +YL +FM +HC +HC +HC +YL +FM +oe +MM +MM +MM +oe +YL +FM +HC +HC +HC +YL +FM +UC +MM +MM +KE +UC +oe +FM +HC +HC +HC +YL +FM +Pl +MM +MM +Pm +IJ +YL +FM +HC +HC +HC +pw +XF +qS +AN +AN +Xs +qS +pw +XF +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(145,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +UC +Pl +Pl +Pl +Pl +UC +YL +HC +HC +HC +HC +HC +YL +YL +Pl +UC +UC +MY +YL +HC +HC +HC +HC +HC +UC +UC +UC +UC +UC +UC +YL +HC +HC +HC +HC +HC +UC +UC +Pl +UC +Pl +YL +YL +HC +HC +HC +HC +HC +pw +pw +jE +jE +qS +pw +pw +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(146,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +UC +Pl +Pl +UC +UC +HC +HC +HC +HC +HC +HC +HC +YL +UC +UC +MY +YL +HC +HC +HC +HC +HC +HC +HC +YL +UC +YL +MY +UC +HC +HC +HC +HC +HC +HC +ub +UC +Pl +YL +MY +YL +HC +HC +HC +HC +HC +HC +HC +pw +pw +pw +pw +pw +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(147,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +ub +ub +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(148,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +ub +ub +ub +ub +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(149,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(150,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(151,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(152,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(153,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(154,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(155,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(156,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(157,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(158,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(159,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(160,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(161,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(162,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(163,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(164,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(165,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(166,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(167,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(168,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(169,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(170,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(171,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(172,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(173,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(174,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(175,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(176,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(177,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(178,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(179,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(180,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(181,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(182,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(183,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(184,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(185,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(186,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(187,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(188,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(189,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(190,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(191,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} +(192,1,1) = {" +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +HC +"} diff --git a/maps/sectors/nebula_tradeport/levels/nebula_tradeport.dmm b/maps/sectors/nebula_tradeport/levels/nebula_tradeport.dmm index 3e42a9f5e23b..9762a57a72b0 100644 --- a/maps/sectors/nebula_tradeport/levels/nebula_tradeport.dmm +++ b/maps/sectors/nebula_tradeport/levels/nebula_tradeport.dmm @@ -274,6 +274,9 @@ /obj/effect/floor_decal/techfloor/orange/corner{ dir = 8 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "aaR" = ( @@ -295,6 +298,7 @@ name = "Adventurer Airtight Hatch"; req_one_access = null }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/adventurer) "aaS" = ( @@ -320,7 +324,7 @@ dir = 1 }, /obj/item/paper{ - info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK M4RIA, AT BEHIND THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; + info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK THE MOTEL VENDING MACHINE NEAR THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; name = "Nebula Motel" }, /obj/effect/floor_decal/corner/green/border, @@ -452,6 +456,7 @@ /area/tradeport) "abr" = ( /obj/spawner/window/low_wall/full/firelocks/nogrille, +/obj/structure/curtain/open/black, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel) "abs" = ( @@ -684,6 +689,9 @@ /obj/structure/railing/grey{ dir = 1 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "acd" = ( @@ -910,10 +918,6 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/engineering) -"acK" = ( -/obj/structure/bed/chair/bay/chair/padded/teal, -/turf/simulated/floor/tiled/techfloor/grid, -/area/sector/nebula_tradeport/engineering) "acL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1040,13 +1044,15 @@ /turf/simulated/floor/carpet/bcarpet, /area/shuttle/trade_ship/general) "adb" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 4 +/obj/machinery/air_alarm/alarms_hidden/north_mount{ + req_one_access = null }, -/obj/machinery/air_alarm/alarms_hidden/north_mount, /obj/structure/window/reinforced/tinted{ dir = 4 }, +/obj/machinery/atmospherics/valve{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/adventurer) "adc" = ( @@ -1090,10 +1096,10 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/spine) "adj" = ( +/obj/effect/floor_decal/corner/green/border, /obj/structure/cable/orange{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/commhall) "adk" = ( @@ -1244,9 +1250,6 @@ /turf/simulated/wall/r_wall, /area/tradeport/dock) "adC" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, /obj/structure/window/reinforced/tinted, /obj/structure/cable/green{ icon_state = "1-8" @@ -1254,6 +1257,9 @@ /obj/machinery/atmospherics/pipe/tank/air{ dir = 1 }, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/tug) "adD" = ( @@ -1378,6 +1384,7 @@ name = "Tug hauler shuttle Airlock"; opacity = 0 }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/tug) "adV" = ( @@ -1482,6 +1489,9 @@ /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/marker_beacon/yellow, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "aei" = ( @@ -1856,7 +1866,6 @@ "afb" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/machinery/door/window/brigdoor/eastleft, -/obj/map_helper/access_helper/airlock/station/security/general, /turf/simulated/floor/tiled/old_tile/red, /area/sector/nebula_tradeport/security) "afc" = ( @@ -2108,24 +2117,6 @@ /obj/machinery/biogenerator, /turf/simulated/floor/grass, /area/tradeport) -"afM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, -/obj/structure/cable/orange{ - icon_state = "4-10" - }, -/obj/effect/floor_decal/corner/green/border{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/tradeport/commhall) "afP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -2133,7 +2124,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/cryopod/robot/door/gateway, +/obj/machinery/cryopod/robot/door/gateway/trade/visitor, +/obj/landmark/spawnpoint/latejoin/outsider, /turf/simulated/floor/tiled/old_tile/beige, /area/tradeport/commhall) "afS" = ( @@ -2181,6 +2173,7 @@ /obj/effect/floor_decal/borderfloorblack{ dir = 9 }, +/obj/machinery/photocopier, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "afY" = ( @@ -2209,6 +2202,7 @@ id_tag = "trade_space_lock"; pixel_x = -25 }, +/obj/effect/shuttle_landmark/trade/hangar, /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/general) "agc" = ( @@ -2362,6 +2356,9 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, +/obj/machinery/newscaster{ + pixel_y = 35 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/comroom) "agt" = ( @@ -2394,13 +2391,15 @@ /turf/simulated/floor/tiled/neutral, /area/tradeport/commons) "agw" = ( -/obj/machinery/door/airlock/multi_tile/glass, /obj/machinery/door/firedoor{ req_one_access = list(160) }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/old_tile/beige, +/obj/machinery/door/airlock/multi_tile/glass/polarized{ + id_tint = "med_office" + }, +/turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "agx" = ( /obj/machinery/seed_extractor, @@ -2664,6 +2663,7 @@ icon_state = "1-2" }, /obj/effect/floor_decal/rust, +/obj/machinery/air_alarm/alarms_hidden/east_mount, /turf/simulated/floor/plating, /area/shuttle/udang/main) "ahi" = ( @@ -2676,7 +2676,9 @@ "ahk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/machinery/computer/shuttle_control/explore/utilitymicro, -/obj/machinery/air_alarm/alarms_hidden/north_mount, +/obj/machinery/air_alarm/alarms_hidden/north_mount{ + req_one_access = null + }, /obj/item/gps/internal/base{ name = "UtilityMicro beacon"; gps_tag = "UTILITY" @@ -2852,7 +2854,12 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/simulated/wall/r_wall, +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/structure/window/reinforced/polarized{ + dir = 1; + id = "med_office" + }, +/turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "ahH" = ( /obj/machinery/light/flamp, @@ -2926,8 +2933,8 @@ /obj/structure/bed/chair/comfy/brown{ dir = 8 }, -/obj/structure/closet/walllocker/emerglocker{ - pixel_y = -32 +/obj/machinery/newscaster{ + pixel_y = -28 }, /turf/simulated/floor/carpet/patterened/blue, /area/shuttle/caravan) @@ -3059,6 +3066,7 @@ /obj/structure/sign/nosmoking_2{ pixel_y = 32 }, +/obj/machinery/space_heater, /turf/simulated/floor/tiled/techfloor/monogrid, /area/sector/nebula_tradeport/dock2) "aig" = ( @@ -3197,7 +3205,8 @@ /area/space) "aiz" = ( /obj/machinery/computer/ship/helm{ - dir = 4 + dir = 4; + req_one_access = null }, /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 @@ -3983,6 +3992,10 @@ icon_state = "4-8" }, /obj/structure/bed/chair/bay/chair/padded/red/smallnest, +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 10 + }, +/obj/machinery/holopad/ship, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/runabout) "akv" = ( @@ -4040,6 +4053,7 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "akD" = ( +/obj/landmark/spawnpoint/latejoin/outsider, /turf/simulated/floor/tiled/old_tile/beige, /area/tradeport/commhall) "akE" = ( @@ -4113,7 +4127,9 @@ /obj/machinery/computer/ship/sensors{ dir = 4 }, -/obj/machinery/power/apc/alarms_hidden/south_mount, +/obj/machinery/power/apc/alarms_hidden/south_mount{ + req_access = null + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/adventurer) "akP" = ( @@ -4174,13 +4190,6 @@ }, /turf/simulated/floor/tiled/old_tile/purple, /area/tradeport/spine) -"akY" = ( -/obj/structure/metal_edge, -/obj/structure/cable/orange{ - icon_state = "5-10" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/sector/nebula_tradeport/dock2) "ala" = ( /obj/machinery/holopad/ship, /obj/machinery/light{ @@ -4414,11 +4423,11 @@ }, /obj/machinery/door/blast/regular{ density = 0; - icon_state = "pdoor1"; id = "Runabout'"; name = "Teshari Runabout Airlock"; opacity = 0 }, +/obj/structure/fans/tiny, /turf/simulated/floor/tiled/techfloor, /area/shuttle/runabout) "alF" = ( @@ -4632,6 +4641,9 @@ /obj/structure/table/rack/shelf/steel, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/engineering) "aml" = ( @@ -4706,6 +4718,7 @@ dir = 4; old_wall = 1 }, +/obj/machinery/space_heater, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/adventurer) "amu" = ( @@ -5098,7 +5111,8 @@ /turf/space, /area/tradeport/spine) "anA" = ( -/obj/machinery/cryopod/robot/door/gateway, +/obj/machinery/cryopod/robot/door/gateway/trade/visitor, +/obj/landmark/spawnpoint/latejoin/outsider, /turf/simulated/floor/tiled/old_tile/beige, /area/tradeport/commhall) "anB" = ( @@ -5131,9 +5145,6 @@ /turf/simulated/shuttle/floor/white, /area/tradeport/commons) "anF" = ( -/obj/structure/cable/green{ - icon_state = "1-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, @@ -5141,6 +5152,9 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/carpet/patterened/brown, /area/shuttle/caravan) "anG" = ( @@ -5225,7 +5239,9 @@ }, /obj/machinery/computer/ship/engines, /obj/structure/railing/grey, -/obj/machinery/air_alarm/alarms_hidden/north_mount, +/obj/machinery/air_alarm/alarms_hidden/north_mount{ + req_one_access = null + }, /turf/simulated/floor/tiled/monodark, /area/shuttle/runabout) "anT" = ( @@ -5238,6 +5254,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/utilitymicro) "anV" = ( @@ -5271,7 +5290,6 @@ /area/sector/nebula_tradeport/dock2) "anY" = ( /obj/machinery/door/airlock/security, -/obj/map_helper/access_helper/airlock/station/security/general, /turf/simulated/floor/tiled/old_tile/red, /area/sector/nebula_tradeport/security) "anZ" = ( @@ -5317,6 +5335,7 @@ name = "Spacenat Caravan Airlock"; opacity = 0 }, +/obj/structure/fans/tiny, /turf/simulated/floor/plating, /area/shuttle/caravan) "aof" = ( @@ -5635,11 +5654,6 @@ /obj/machinery/appliance/cooker/oven, /turf/simulated/floor/wmarble, /area/sector/nebula_tradeport/motel/vip) -"apb" = ( -/obj/effect/floor_decal/techfloor, -/obj/machinery/light, -/turf/simulated/wall/r_wall, -/area/tradeport/commhall) "apc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5742,12 +5756,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, /obj/effect/floor_decal/industrial/halfstair{ dir = 8 }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/commhall) "aps" = ( @@ -6110,8 +6124,8 @@ /turf/simulated/floor/tiled/old_tile/yellow, /area/tradeport/safari) "aqq" = ( -/obj/item/modular_computer/console/preset/civilian{ - dir = 1 +/obj/structure/bed/chair/bay/chair/padded/teal{ + dir = 8 }, /turf/simulated/floor/glass/reinforced, /area/sector/nebula_tradeport/engineering) @@ -6504,6 +6518,9 @@ /obj/machinery/light{ dir = 1 }, +/obj/machinery/newscaster{ + pixel_y = 35 + }, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/adventurer) "ars" = ( @@ -6584,7 +6601,6 @@ /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/vip) "arA" = ( -/obj/machinery/photocopier, /obj/effect/floor_decal/spline/fancy/wood{ dir = 6 }, @@ -6644,7 +6660,9 @@ /area/tradeport/cafeteria) "arL" = ( /obj/structure/table/steel_reinforced, -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_one_access = null + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/adventurer) "arM" = ( @@ -6694,6 +6712,9 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, +/obj/machinery/newscaster{ + pixel_y = 35 + }, /turf/simulated/floor/tiled/monodark, /area/tradeport/commhall) "arU" = ( @@ -6791,6 +6812,9 @@ /obj/effect/floor_decal/corner_oldtile/blue{ dir = 5 }, +/obj/machinery/newscaster{ + pixel_y = 35 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/engineering) "asj" = ( @@ -6833,6 +6857,14 @@ /area/shuttle/udang/main) "aso" = ( /obj/machinery/light, +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/button/remote/blast_door{ + pixel_x = 8; + pixel_y = -23; + dir = 1; + id = "tugdoor1b"; + name = "Tug Barge door" + }, /turf/simulated/floor/plating, /area/shuttle/tug) "asp" = ( @@ -6858,9 +6890,6 @@ /turf/simulated/floor/tiled/asteroid_steel/airless, /area/tradeport/pads) "ass" = ( -/obj/structure/cable/orange{ - icon_state = "1-4" - }, /obj/effect/floor_decal/industrial/halfstair{ dir = 8 }, @@ -7075,6 +7104,7 @@ name = "Caravan Airtight Hatch"; req_one_access = null }, +/obj/structure/fans/tiny, /turf/simulated/floor/plating, /area/shuttle/caravan) "asV" = ( @@ -7088,10 +7118,6 @@ }, /turf/simulated/floor/airless, /area/space) -"asZ" = ( -/obj/structure/loot_pile/surface/drone, -/turf/simulated/mineral/floor/vacuum, -/area/space) "ata" = ( /obj/machinery/door/firedoor{ dir = 8 @@ -7160,6 +7186,10 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable/orange{ + icon_state = "1-4"; + dir = 4 + }, /turf/simulated/floor/tiled/techfloor/monogrid, /area/sector/nebula_tradeport/dock2) "atk" = ( @@ -7228,7 +7258,6 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/window/reinforced, /turf/simulated/floor/tiled/monodark, /area/sector/nebula_tradeport/comroom) "att" = ( @@ -7289,6 +7318,12 @@ /obj/machinery/light{ dir = 1 }, +/obj/machinery/button/remote/blast_door{ + pixel_x = 8; + pixel_y = 27; + id = "tugdoor1a"; + name = "Tug Barge door" + }, /turf/simulated/floor/plating, /area/shuttle/tug) "atB" = ( @@ -7386,12 +7421,12 @@ /turf/simulated/floor/tiled/freezer, /area/tradeport) "atJ" = ( -/obj/structure/cable/green{ - icon_state = "1-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/wall/prepainted, /area/shuttle/adventurer) "atK" = ( @@ -7591,15 +7626,6 @@ }, /turf/simulated/floor/wood, /area/tradeport/cyndi) -"auk" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 4 - }, -/turf/simulated/wall/prepainted, -/area/shuttle/adventurer) "aum" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -7708,7 +7734,7 @@ /area/tradeport/pads) "auC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 6 + dir = 4 }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/adventurer) @@ -8143,9 +8169,6 @@ /obj/structure/bed/chair/shuttle{ dir = 4 }, -/obj/structure/window/reinforced/polarized{ - id = "udang_cargo" - }, /obj/effect/floor_decal/borderfloorblack, /turf/simulated/floor/tiled/old_tile/yellow, /area/shuttle/udang/main) @@ -8198,7 +8221,13 @@ /turf/simulated/floor/tiled/white, /area/tradeport/medical) "avI" = ( -/obj/random/multiple/corp_crate/no_weapons, +/obj/machinery/button/remote/blast_door{ + pixel_x = 8; + pixel_y = -23; + dir = 1; + id = "tugdoor1"; + name = "Tug Barge door" + }, /turf/simulated/floor/plating, /area/shuttle/tug) "avJ" = ( @@ -8659,10 +8688,15 @@ pixel_x = -6; id_tag = "tradeport_adventurer_docker" }, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 6 + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/adventurer) "awJ" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_one_access = null + }, /obj/structure/table/steel_reinforced, /obj/machinery/embedded_controller/radio/airlock/docking_port{ pixel_y = 30; @@ -8718,6 +8752,9 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/commhall) "awP" = ( @@ -8840,11 +8877,9 @@ /turf/simulated/floor/tiled/old_tile/purple, /area/tradeport/cafeteria) "axh" = ( -/obj/structure/fuel_port{ - dir = 4; - pixel_x = 29 +/obj/machinery/air_alarm/alarms_hidden/east_mount{ + req_one_access = null }, -/obj/machinery/air_alarm/alarms_hidden/east_mount, /obj/machinery/computer/shuttle_control/explore/tug{ dir = 8 }, @@ -8855,6 +8890,9 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/tug) "axi" = ( @@ -8888,6 +8926,12 @@ /obj/machinery/computer/ship/sensors{ pixel_x = -27 }, +/obj/machinery/power/apc/alarms_hidden/north_mount{ + req_access = null + }, +/obj/structure/cable/green{ + icon_state = "0-2" + }, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/utilitymicro) "axo" = ( @@ -9451,9 +9495,6 @@ /obj/structure/bed/chair/shuttle{ dir = 4 }, -/obj/structure/window/reinforced/polarized{ - id = "udang_cargo" - }, /obj/effect/floor_decal/borderfloorblack, /turf/simulated/floor/tiled/old_tile/yellow, /area/shuttle/udang/main) @@ -9477,7 +9518,7 @@ /obj/machinery/door/firedoor{ req_one_access = list(160) }, -/turf/simulated/floor/tiled/old_tile/beige, +/turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "ayV" = ( /obj/structure/cable/green{ @@ -9504,11 +9545,15 @@ /turf/simulated/floor/outdoors/beach/sand/desert/indoors, /area/tradeport/safarizoo) "ayY" = ( -/obj/structure/metal_edge{ - layer = 2.8 - }, /obj/structure/closet/crate/corporate/nanotrasen, /obj/structure/handrail, +/obj/structure/window/reinforced/polarized{ + id = "udang_cargo"; + dir = 1 + }, +/obj/structure/metal_edge{ + layer = 1 + }, /turf/simulated/floor/plating, /area/shuttle/udang/main) "ayZ" = ( @@ -9811,6 +9856,13 @@ /obj/effect/floor_decal/techfloor/orange/corner{ dir = 8 }, +/obj/structure/cable/orange{ + icon_state = "1-4"; + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "azK" = ( @@ -9911,7 +9963,6 @@ /turf/simulated/floor/outdoors/dirt, /area/tradeport/cyndishow) "aAb" = ( -/obj/structure/window/reinforced/tinted, /obj/structure/window/reinforced/tinted{ dir = 1 }, @@ -9983,6 +10034,9 @@ /obj/structure/railing/grey{ dir = 1 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "aAj" = ( @@ -10052,14 +10106,12 @@ dir = 1 }, /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_one_access = null }, /obj/structure/railing/grey{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/green{ - dir = 5 - }, /obj/structure/panic_button{ pixel_y = -28 }, @@ -10067,9 +10119,6 @@ /turf/simulated/floor/tiled/monodark, /area/shuttle/runabout) "aAu" = ( -/obj/structure/metal_edge{ - layer = 2.8 - }, /obj/structure/table/rack/shelf/steel, /obj/item/clothing/head/helmet/space/void/explorer, /obj/item/clothing/head/helmet/space/void/explorer, @@ -10083,6 +10132,13 @@ /obj/machinery/light{ dir = 1 }, +/obj/structure/window/reinforced/polarized{ + id = "udang_cargo"; + dir = 1 + }, +/obj/structure/metal_edge{ + layer = 1 + }, /turf/simulated/floor/plating, /area/shuttle/udang/main) "aAv" = ( @@ -10128,6 +10184,9 @@ "aAA" = ( /obj/effect/floor_decal/rust, /obj/structure/bed/chair/bay/chair/padded/red/smallnest, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 + }, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/runabout) "aAB" = ( @@ -10188,7 +10247,9 @@ }, /obj/machinery/computer/ship/sensors, /obj/structure/railing/grey, -/obj/machinery/power/apc/alarms_hidden/north_mount, +/obj/machinery/power/apc/alarms_hidden/north_mount{ + req_access = null + }, /obj/structure/cable/green{ icon_state = "0-2" }, @@ -10228,6 +10289,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, +/obj/machinery/space_heater, /turf/simulated/floor/plating, /area/sector/nebula_tradeport/engineering) "aAQ" = ( @@ -10293,6 +10355,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/machinery/holopad/ship, /turf/simulated/floor/carpet/patterened/blue, /area/shuttle/caravan) "aBb" = ( @@ -11000,6 +11063,9 @@ }, /obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/effect/floor_decal/corner/green/border, +/obj/structure/sign/department/medbay{ + pixel_y = 29 + }, /turf/simulated/floor/tiled, /area/tradeport/commhall) "aCK" = ( @@ -11027,20 +11093,6 @@ /obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/tradeport/commons) -"aCN" = ( -/obj/machinery/door/blast/shutters{ - id = "Tug2" - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 4; - icon_state = "pdoorc0"; - id = "tugdoor2"; - name = "Tug hauler shuttle Airlock"; - opacity = 0 - }, -/turf/simulated/floor/tiled/techfloor, -/area/shuttle/tug) "aCP" = ( /obj/effect/floor_decal/techfloor{ dir = 1 @@ -11076,7 +11128,9 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/machinery/air_alarm/alarms_hidden/north_mount, +/obj/machinery/air_alarm/alarms_hidden/north_mount{ + req_one_access = null + }, /turf/simulated/floor/tiled/old_tile/white, /area/shuttle/caravan) "aCU" = ( @@ -11110,6 +11164,12 @@ /obj/structure/window/reinforced{ dir = 4 }, +/obj/structure/cable/orange{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/utilitymicro) "aCZ" = ( @@ -11120,6 +11180,9 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/commhall) "aDa" = ( @@ -11209,10 +11272,6 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/paper{ - info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK M4RIA, AT BEHIND THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; - name = "Nebula Motel" - }, /obj/machinery/computer/cryopod/gateway{ pixel_x = -31 }, @@ -11279,13 +11338,11 @@ /turf/simulated/floor/tiled/old_tile/purple, /area/tradeport/spine) "aDx" = ( -/obj/machinery/light{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/holopad/ship, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/tug) "aDy" = ( @@ -11367,17 +11424,6 @@ /obj/item/trash/liquidprotein, /turf/simulated/floor/tiled/monotechmaint, /area/tradeport/spine) -"aDJ" = ( -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/obj/machinery/air_alarm/alarms_hidden{ - pixel_y = 22; - req_one_access = list(160) - }, -/obj/effect/floor_decal/corner/green/border, -/turf/simulated/floor/tiled, -/area/tradeport/commhall) "aDL" = ( /obj/machinery/smartfridge, /turf/simulated/floor/grass, @@ -11578,16 +11624,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor/monogrid, /area/sector/nebula_tradeport/dock2) -"aEs" = ( -/obj/structure/cable/orange{ - icon_state = "5-10" - }, -/obj/structure/cable/orange{ - icon_state = "5-8" - }, -/obj/effect/floor_decal/corner/green/border, -/turf/simulated/floor/tiled/techfloor/grid, -/area/tradeport/commhall) "aEt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -11618,6 +11654,7 @@ /obj/effect/floor_decal/industrial/halfstair{ dir = 8 }, +/obj/landmark/spawnpoint/latejoin/outsider, /turf/simulated/floor/tiled, /area/tradeport/commhall) "aEy" = ( @@ -11712,6 +11749,7 @@ charge = 15000; cur_coils = 3 }, +/obj/structure/cable/green, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/utilitymicro) "aEL" = ( @@ -12084,9 +12122,6 @@ /obj/structure/bed/chair/shuttle{ dir = 4 }, -/obj/structure/window/reinforced/polarized{ - id = "udang_cargo" - }, /obj/effect/floor_decal/borderfloorblack, /turf/simulated/floor/tiled/old_tile/yellow, /area/shuttle/udang/main) @@ -12130,6 +12165,7 @@ /area/tradeport/spine) "aFJ" = ( /obj/effect/floor_decal/spline/plain, +/obj/machinery/vending/voidsuit, /turf/simulated/floor/tiled/techfloor/lythios43c, /area/tradeport/spine) "aFK" = ( @@ -12555,6 +12591,7 @@ name = "Spacenat Caravan Airlock"; opacity = 0 }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/plating, /area/shuttle/adventurer) "aGV" = ( @@ -12600,6 +12637,9 @@ /area/tradeport/cyndishow) "aHa" = ( /obj/effect/floor_decal/industrial/halfstair, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "aHb" = ( @@ -12613,6 +12653,10 @@ /obj/structure/table/rack/shelf/steel, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/engineering) "aHe" = ( @@ -12735,6 +12779,7 @@ name = "Tug hauler shuttle Airlock"; opacity = 0 }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/techfloor, /area/shuttle/tug) "aHv" = ( @@ -12788,6 +12833,7 @@ /area/tradeport/commons) "aHD" = ( /obj/effect/floor_decal/spline/plain, +/obj/machinery/vending/winter, /turf/simulated/floor/carpet/purcarpet, /area/tradeport/spine) "aHE" = ( @@ -12835,6 +12881,7 @@ /obj/effect/floor_decal/grass_edge{ dir = 8 }, +/obj/machinery/vending/farmer, /turf/simulated/floor/tiled/monotechmaint, /area/tradeport/spine) "aHM" = ( @@ -12856,6 +12903,9 @@ /obj/structure/bed/chair/sofa/beige/left{ dir = 1 }, +/obj/structure/closet/walllocker/emerglocker{ + pixel_y = -32 + }, /turf/simulated/floor/carpet/patterened/blue, /area/shuttle/caravan) "aHP" = ( @@ -12883,9 +12933,6 @@ /area/shuttle/trade_ship/general) "aHR" = ( /obj/structure/railing/grey, -/obj/structure/window/reinforced/polarized{ - id = "udang_cargo" - }, /obj/structure/bed/chair/shuttle{ dir = 4 }, @@ -13012,6 +13059,7 @@ /obj/item/reagent_containers/glass/beaker{ pixel_x = 5 }, +/obj/machinery/appliance/cooker/oven, /turf/simulated/floor/tiled/old_tile/white, /area/shuttle/caravan) "aIj" = ( @@ -13031,6 +13079,9 @@ /area/tradeport/safari) "aIl" = ( /obj/machinery/telecomms/relay/preset/telecomms, +/obj/structure/cable/green{ + icon_state = "2-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/utilitymicro) "aIm" = ( @@ -13299,9 +13350,6 @@ /turf/simulated/floor/carpet/patterened/red, /area/sector/nebula_tradeport/motel/vip) "aJa" = ( -/obj/structure/cable/green{ - icon_state = "2-4" - }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 }, @@ -13357,6 +13405,9 @@ /obj/effect/floor_decal/corner/green/border{ dir = 1 }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/commhall) "aJi" = ( @@ -13780,7 +13831,9 @@ /obj/machinery/computer/ship/sensors{ dir = 1 }, -/obj/machinery/power/apc/alarms_hidden/south_mount, +/obj/machinery/power/apc/alarms_hidden/south_mount{ + req_access = null + }, /turf/simulated/floor/tiled/old_tile/beige, /area/shuttle/caravan) "aKm" = ( @@ -14182,6 +14235,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/engineering) "aLu" = ( @@ -14237,13 +14294,18 @@ /turf/simulated/floor/tiled/neutral, /area/tradeport/facility) "aLD" = ( -/obj/structure/metal_edge{ - layer = 2.8 - }, /obj/structure/curtain/open/shower/engineering, /obj/structure/railing/grey{ dir = 8 }, +/obj/structure/window/reinforced/polarized{ + id = "udang_cargo"; + dir = 1 + }, +/obj/structure/reagent_dispensers/beerkeg, +/obj/structure/metal_edge{ + layer = 1 + }, /turf/simulated/floor/plating, /area/shuttle/udang/main) "aLE" = ( @@ -14341,12 +14403,16 @@ /turf/space, /area/sector/nebula_tradeport/motel/vip) "aLT" = ( -/obj/structure/metal_edge{ - layer = 2.8 - }, /obj/machinery/portable_atmospherics/canister/empty/phoron, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/structure/handrail, +/obj/structure/window/reinforced/polarized{ + id = "udang_cargo"; + dir = 1 + }, +/obj/structure/metal_edge{ + layer = 1 + }, /turf/simulated/floor/plating, /area/shuttle/udang/main) "aLU" = ( @@ -14643,9 +14709,6 @@ /obj/machinery/light{ light_range = 12 }, -/obj/structure/cable/orange{ - icon_state = "5-10" - }, /obj/effect/floor_decal/corner/green/border{ dir = 1 }, @@ -14732,14 +14795,18 @@ }, /obj/effect/shuttle_landmark/triumph/trade/utilitymicro, /obj/overmap/entity/visitable/ship/landable/trade/utilitymicro, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/holopad/ship, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/utilitymicro) "aMX" = ( /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 9 }, /turf/simulated/floor/carpet/patterened/blue, /area/shuttle/caravan) @@ -14807,6 +14874,9 @@ /area/tradeport/cyndi) "aNh" = ( /obj/effect/floor_decal/techfloor/orange, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) "aNi" = ( @@ -14836,7 +14906,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/green{ - dir = 4 + dir = 5 }, /turf/simulated/floor/tiled/monodark, /area/shuttle/runabout) @@ -14914,6 +14984,9 @@ /obj/structure/window/reinforced{ dir = 4 }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/utilitymicro) "aNx" = ( @@ -15115,10 +15188,6 @@ /turf/simulated/floor/tiled/old_tile/yellow, /area/tradeport/safari) "aNU" = ( -/obj/machinery/door/airlock/hatch{ - name = "Tug Airtight Hatch"; - req_one_access = list(173) - }, /obj/machinery/door/blast/regular{ density = 0; dir = 4; @@ -15127,6 +15196,11 @@ name = "Tug hauler shuttle Airlock"; opacity = 0 }, +/obj/machinery/door/airlock/hatch{ + name = "Tug Airtight Hatch"; + req_one_access = null + }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/tug) "aNV" = ( @@ -15201,6 +15275,18 @@ dir = 8; light_range = 12 }, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/item/tank/jetpack/oxygen, +/obj/structure/table/rack/shelf/steel, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, /turf/simulated/floor/glass/reinforced, /area/sector/nebula_tradeport/engineering) "aOh" = ( @@ -15221,14 +15307,6 @@ }, /turf/simulated/floor/tiled/red, /area/shuttle/trade_ship/general) -"aOj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/obj/effect/floor_decal/corner/green/border, -/turf/simulated/floor/tiled/techfloor/grid, -/area/tradeport/commhall) "aOk" = ( /obj/machinery/atmospherics/pipe/tank/air{ dir = 1 @@ -15310,6 +15388,7 @@ /obj/machinery/door/firedoor{ req_one_access = list(160) }, +/obj/structure/curtain/open/black, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel) "aOA" = ( @@ -15498,11 +15577,11 @@ dir = 8 }, /obj/structure/cable/orange{ - icon_state = "1-4"; - dir = 4 + icon_state = "1-2" }, /obj/structure/cable/orange{ - icon_state = "1-2" + icon_state = "1-4"; + dir = 4 }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) @@ -15696,7 +15775,7 @@ icon_state = "4-8" }, /turf/simulated/floor/airless, -/area/tradeport/exterior) +/area/space) "aPJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -15711,15 +15790,13 @@ name = "Adventurer Airtight Hatch"; req_one_access = null }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/adventurer) "aPK" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/cable/orange{ - icon_state = "5-10" - }, -/obj/structure/cable/orange{ - icon_state = "2-5" + icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor/grid, /area/sector/nebula_tradeport/dock2) @@ -15827,14 +15904,14 @@ /turf/simulated/floor/tiled/old_tile/blue, /area/tradeport/cafeteria) "aQb" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, /obj/structure/window/reinforced/tinted, /obj/machinery/power/smes/buildable{ charge = 15000; cur_coils = 3 }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/tug) "aQd" = ( @@ -15984,6 +16061,9 @@ /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/general) "aQz" = ( +/obj/structure/fuel_port{ + pixel_x = -27 + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/tug) "aQA" = ( @@ -16063,17 +16143,6 @@ /obj/item/storage/box/glasses/meta, /turf/simulated/floor/tiled/old_tile/white, /area/shuttle/caravan) -"aQL" = ( -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning, -/obj/structure/cable/orange{ - icon_state = "5-8" - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled/techfloor/grid, -/area/sector/nebula_tradeport/dock2) "aQM" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable/yellow{ @@ -16279,9 +16348,6 @@ /turf/simulated/floor, /area/tradeport/pads) "aRn" = ( -/obj/structure/closet/walllocker/emerglocker{ - pixel_y = -32 - }, /obj/machinery/light_switch{ dir = 1; pixel_y = -24 @@ -16531,7 +16597,6 @@ /turf/space/basic, /area/space) "aRU" = ( -/obj/structure/window/reinforced/tinted, /obj/structure/window/reinforced/tinted{ dir = 1 }, @@ -16937,16 +17002,6 @@ }, /turf/simulated/floor/tiled/neutral, /area/tradeport/commons) -"aTi" = ( -/obj/item/paper{ - info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK M4RIA, AT BEHIND THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; - name = "Nebula Motel" - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor/monogrid, -/area/sector/nebula_tradeport/dock2) "aTj" = ( /obj/effect/floor_decal/techfloor, /obj/structure/sign/warning/mail_delivery{ @@ -17191,9 +17246,7 @@ /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/general) "aTM" = ( -/obj/structure/cable/orange{ - dir = 2 - }, +/obj/structure/cable/orange, /obj/machinery/power/terminal, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/tug) @@ -17532,7 +17585,9 @@ /obj/structure/cable/green{ icon_state = "0-8" }, -/obj/machinery/power/apc/alarms_hidden/south_mount, +/obj/machinery/power/apc/alarms_hidden/south_mount{ + req_access = null + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/tug) "aUz" = ( @@ -17600,11 +17655,10 @@ /turf/simulated/floor/wood, /area/tradeport/commons) "aUE" = ( -/obj/structure/metal_edge, /obj/structure/railing/grey{ dir = 4 }, -/turf/simulated/floor/tiled/techfloor/monogrid, +/turf/simulated/wall/r_wall, /area/sector/nebula_tradeport/dock2) "aUF" = ( /obj/structure/cable/pink{ @@ -17631,23 +17685,21 @@ }, /turf/simulated/floor/wood, /area/shuttle/trade_ship/general) -"aUI" = ( -/obj/structure/bed/chair/bay/chair/padded/teal{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/sector/nebula_tradeport/engineering) "aUJ" = ( /obj/structure/stasis_cage, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/old_tile/yellow, /area/tradeport/safari) "aUK" = ( -/obj/structure/metal_edge{ - layer = 2.8 - }, /obj/machinery/portable_atmospherics/canister/empty/phoron, /obj/structure/handrail, +/obj/structure/window/reinforced/polarized{ + id = "udang_cargo"; + dir = 1 + }, +/obj/structure/metal_edge{ + layer = 1 + }, /turf/simulated/floor/plating, /area/shuttle/udang/main) "aUL" = ( @@ -17899,7 +17951,8 @@ /area/shuttle/adventurer) "aVw" = ( /obj/machinery/computer/ship/helm/adv{ - dir = 4 + dir = 4; + req_one_access = null }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/monotechmaint, @@ -18153,6 +18206,9 @@ /obj/structure/bed/chair/bay/chair/padded/black{ dir = 8 }, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/adventurer) "aWh" = ( @@ -18214,9 +18270,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/atmospherics/component/unary/vent_pump/on{ - dir = 1 - }, +/obj/machinery/holopad/ship, /turf/simulated/floor/tiled/techfloor, /area/shuttle/adventurer) "aWr" = ( @@ -18239,7 +18293,7 @@ /turf/space/basic, /area/sector/nebula_tradeport/motel/vip) "aWu" = ( -/obj/machinery/vending/security, +/obj/structure/table/rack/shelf/steel, /turf/simulated/floor/tiled/old_tile/red, /area/sector/nebula_tradeport/security) "aWv" = ( @@ -18836,7 +18890,6 @@ "aYd" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/machinery/door/window/brigdoor/eastright, -/obj/map_helper/access_helper/airlock/station/security/general, /turf/simulated/floor/tiled/old_tile/red, /area/sector/nebula_tradeport/security) "aYe" = ( @@ -18997,11 +19050,13 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/tradeport/dock) "aYC" = ( -/obj/machinery/atmospherics/component/unary/vent_pump/on, /obj/structure/cable/green{ icon_state = "1-4" }, /obj/structure/bed/chair/bay/chair/padded/red/smallnest, +/obj/machinery/atmospherics/valve{ + dir = 4 + }, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/runabout) "aYD" = ( @@ -19048,6 +19103,7 @@ name = "Shuttle Utility Door"; pixel_x = 30 }, +/obj/structure/fans/tiny, /turf/simulated/floor/tiled/monotechmaint, /area/shuttle/utilitymicro) "aYJ" = ( @@ -19076,13 +19132,6 @@ id = "tugdoor1"; name = "Tug Barge door" }, -/obj/machinery/button/remote/blast_door{ - pixel_x = 33; - pixel_y = -2; - dir = 8; - id = "Tug2"; - name = "Tug Air refuel" - }, /obj/machinery/button/remote/blast_door{ pixel_x = 23; pixel_y = -2; @@ -19142,6 +19191,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/machinery/space_heater, /turf/simulated/floor/plating, /area/sector/nebula_tradeport/engineering) "aYV" = ( @@ -19233,7 +19283,10 @@ /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/general) "aZf" = ( -/obj/machinery/door/blast/regular, +/obj/machinery/door/blast/regular{ + id = "tugdoor1" + }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/techfloor, /area/shuttle/tug) "aZg" = ( @@ -19383,6 +19436,9 @@ /turf/simulated/floor/carpet/patterened/blue/alt, /area/sector/nebula_tradeport/motel/vip) "aZE" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/utilitymicro) "aZF" = ( @@ -19443,9 +19499,6 @@ pixel_x = 32; pixel_y = -3 }, -/obj/structure/window/reinforced/polarized{ - id = "udang_cargo" - }, /obj/effect/floor_decal/borderfloorblack{ dir = 6 }, @@ -19503,8 +19556,11 @@ /turf/simulated/floor/tiled/neutral, /area/tradeport/commons) "aZT" = ( -/obj/structure/railing, -/turf/simulated/mineral/floor/vacuum, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/machinery/power/solar, +/turf/simulated/floor/airless, /area/tradeport/exterior) "aZU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -19581,7 +19637,7 @@ req_access = list(160) }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "bcr" = ( /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/white, @@ -19611,6 +19667,9 @@ }, /turf/simulated/floor/tiled/old_tile/white, /area/tradeport/cafeteria) +"bfF" = ( +/turf/simulated/wall/r_wall/prepainted/medical, +/area/sector/nebula_tradeport/medical/public) "bfK" = ( /obj/effect/floor_decal/techfloor{ dir = 9 @@ -19656,9 +19715,6 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel) -"bqy" = ( -/turf/simulated/wall/prepainted/exploration, -/area/shuttle/scoophead/cockpit) "bqF" = ( /obj/effect/floor_decal/corner/red/border{ dir = 9 @@ -19670,7 +19726,7 @@ }, /obj/item/material/knife/machete/armblade, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "brm" = ( /obj/structure/table/marble, /obj/item/reagent_containers/food/snacks/crayonburger_rbw, @@ -19702,11 +19758,10 @@ "brN" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/window/reinforced/polarized{ - dir = 2; id = "scoophead_office" }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "bsc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19727,7 +19782,7 @@ dir = 9 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "btw" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -19747,7 +19802,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "bwj" = ( /obj/structure/barricade, /turf/simulated/floor/wood, @@ -19761,13 +19816,13 @@ /area/sector/nebula_tradeport/motel/room2) "bAj" = ( /obj/structure/railing/grey, -/obj/machinery/atmospherics/pipe/simple/hidden/red{ - dir = 4 - }, /obj/effect/floor_decal/techfloor{ dir = 1 }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/obj/machinery/atmospherics/valve{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "bAO" = ( /obj/machinery/camera{ @@ -19812,7 +19867,7 @@ id = "scoophead_office" }, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "bEl" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 10 @@ -19855,7 +19910,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "bHd" = ( /obj/structure/aquarium/prefilled, /turf/simulated/floor/carpet/turcarpet, @@ -19869,7 +19924,7 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "bNF" = ( /obj/effect/floor_decal/techfloor{ dir = 1 @@ -19884,6 +19939,14 @@ /obj/machinery/holopad, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room1) +"bPs" = ( +/obj/machinery/door/blast/regular{ + id = "tugdoor1a"; + dir = 4 + }, +/obj/machinery/atmospheric_field_generator/perma, +/turf/simulated/floor/plating, +/area/shuttle/tug) "bSu" = ( /obj/effect/floor_decal/techfloor{ dir = 4 @@ -19915,15 +19978,12 @@ /turf/simulated/floor/wood, /area/tradeport/commons) "bXL" = ( -/obj/structure/table/hardwoodtable, /obj/item/material/knife, -/obj/machinery/recharger{ - pixel_x = 9; - pixel_y = 2 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/machinery/appliance/cooker/oven, +/obj/structure/table/hardwoodtable, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room3) "bYr" = ( @@ -19934,9 +19994,7 @@ dir = 8; nightshift_allowed = 0 }, -/obj/structure/bed/roller, -/obj/structure/medical_stand/anesthetic, -/obj/machinery/iv_drip, +/obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "bYS" = ( @@ -19983,12 +20041,17 @@ /turf/simulated/floor/tiled/old_tile/gray, /area/tradeport/cafeteria) "cfu" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/structure/medical_stand/anesthetic, /obj/effect/floor_decal/corner/blue/border{ dir = 8 }, +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/obj/machinery/power/apc/alarms_hidden/west_mount, +/obj/structure/cable/yellow{ + dir = 4; + icon_state = "0-2" + }, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "cfJ" = ( @@ -20056,20 +20119,18 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel5" + id_tag = "motel5"; + req_access = list(165) }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room5) "crj" = ( -/obj/structure/table/hardwoodtable, /obj/item/material/knife, -/obj/machinery/recharger{ - pixel_x = 9; - pixel_y = 2 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/machinery/appliance/cooker/oven, +/obj/structure/table/hardwoodtable, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room1) "csb" = ( @@ -20097,7 +20158,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 4 }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "cyy" = ( /obj/machinery/portable_atmospherics/canister/empty/phoron, @@ -20236,10 +20297,11 @@ }, /obj/structure/curtain/black, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "cQi" = ( /obj/structure/bed/padded, /obj/structure/curtain/open/bed, +/obj/item/bedsheet, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room2) "cQQ" = ( @@ -20275,6 +20337,10 @@ /obj/machinery/gear_painter, /turf/simulated/floor/tiled/steel, /area/tradeport/commons) +"cTW" = ( +/obj/structure/catwalk, +/turf/space/basic, +/area/space) "cUz" = ( /obj/structure/shuttle/engine/heater{ dir = 4 @@ -20437,7 +20503,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "dqN" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, @@ -20492,7 +20558,7 @@ req_one_access = null }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "dzE" = ( /obj/structure/toilet{ dir = 4 @@ -20530,7 +20596,7 @@ id = "scoophead_room" }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "dCd" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 9 @@ -20587,7 +20653,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "dGF" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/curtain/black, @@ -20663,12 +20729,19 @@ /obj/machinery/light/small, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room4) -"dPi" = ( -/obj/structure/cable/pink{ - icon_state = "1-8" +"dPa" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main) +/obj/machinery/fire_alarm/south_mount, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel/room1) +"dQr" = ( +/obj/structure/bed/padded, +/obj/machinery/fire_alarm/north_mount, +/obj/item/bedsheet, +/turf/simulated/floor/carpet/patterened/blue, +/area/sector/nebula_tradeport/motel/room7) "dQx" = ( /obj/structure/bed/chair/comfy/black{ dir = 1 @@ -20676,6 +20749,18 @@ /obj/effect/floor_decal/spline/fancy/wood, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/vip) +"dRV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/monogrid, +/area/sector/nebula_tradeport/dock2) "dSv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -20693,6 +20778,10 @@ }, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) +"dUe" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/turf/simulated/floor/tiled/steel_dirty/red, +/area/shuttle/arrowhead) "dVq" = ( /obj/machinery/button/remote/blast_door{ id = "Arrowhead Airlock"; @@ -20708,8 +20797,19 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/atmospheric_field_generator/perma, /turf/simulated/floor/tiled/steel_dirty/dark, /area/shuttle/arrowhead) +"dWa" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/corner/green/border{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "dXo" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 @@ -20742,6 +20842,15 @@ }, /turf/simulated/floor/plating, /area/shuttle/scoophead/main) +"dYD" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/component/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/shuttle/caravan) "dYK" = ( /obj/structure/transit_tube, /obj/effect/floor_decal/industrial/warning{ @@ -20811,6 +20920,16 @@ /obj/item/storage/bag/trash, /turf/simulated/floor/carpet/turcarpet, /area/sector/nebula_tradeport/motel) +"eiO" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/plastic, +/obj/effect/floor_decal/corner_oldtile/blue{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/sector/nebula_tradeport/engineering) "eiW" = ( /obj/structure/railing/grey, /turf/space/basic, @@ -20834,10 +20953,6 @@ dir = 8; light_range = 12 }, -/obj/machinery/power/apc/hyper/west_mount, -/obj/structure/cable/pink{ - dir = 8 - }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "ekB" = ( @@ -20905,8 +21020,17 @@ name = "Arrowhead beacon"; gps_tag = "ARROWHEAD" }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) +"evN" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/airless, +/area/space) "evZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -20992,7 +21116,7 @@ pixel_x = -32 }, /turf/simulated/floor/carpet/patterened/blue, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "eEX" = ( /obj/structure/simple_door/hardwood, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -21037,6 +21161,10 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 }, +/obj/machinery/newscaster{ + pixel_x = -35; + pixel_y = 3 + }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/vip) "eKY" = ( @@ -21113,13 +21241,21 @@ /obj/machinery/recharger, /obj/structure/curtain/black, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "eSp" = ( /obj/structure/bed/chair/sofa/brown/right{ dir = 1 }, /turf/simulated/floor/carpet/turcarpet, /area/sector/nebula_tradeport/motel) +"eSH" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/structure/window/reinforced/polarized{ + dir = 1; + id = "med_office" + }, +/turf/simulated/floor/tiled/white, +/area/sector/nebula_tradeport/medical/public) "eXQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -21198,10 +21334,13 @@ id = "scoophead_office" }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "fir" = ( /obj/machinery/computer/ship/sensors, -/turf/simulated/floor/tiled/steel_dirty/dark, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "fkY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21260,6 +21399,12 @@ }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room6) +"fwS" = ( +/obj/item/modular_computer/console/preset/civilian{ + dir = 8 + }, +/turf/simulated/floor/glass/reinforced, +/area/sector/nebula_tradeport/engineering) "fxW" = ( /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room3) @@ -21307,7 +21452,7 @@ }, /obj/machinery/power/apc/alarms_hidden/south_mount, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "fFF" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/component/unary/vent_pump/on{ @@ -21339,6 +21484,14 @@ }, /turf/space/basic, /area/space) +"fHX" = ( +/obj/machinery/atmospheric_field_generator/perma, +/obj/machinery/door/blast/regular{ + id = "tugdoor1a"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/shuttle/tug) "fIa" = ( /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 @@ -21358,6 +21511,25 @@ /obj/machinery/shipsensors, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/arrowhead) +"fNR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/cable/orange{ + icon_state = "1-4"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/tradeport/commhall) "fOy" = ( /obj/structure/table/bench/wooden, /turf/simulated/floor/carpet/patterened/blue, @@ -21507,6 +21679,17 @@ /obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, /area/shuttle/scoophead/main) +"gxH" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/orange, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/sector/nebula_tradeport/dock2) "gzZ" = ( /obj/structure/bed/chair/sofa/red{ dir = 4 @@ -21522,6 +21705,15 @@ }, /turf/simulated/floor/tiled/old_tile/red, /area/tradeport/cafeteria) +"gCI" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/machinery/fire_alarm/west_mount{ + pixel_x = -26 + }, +/turf/simulated/floor/airless, +/area/sector/nebula_tradeport/motel) "gCP" = ( /obj/structure/table/glass, /obj/item/reagent_containers/food/snacks/milosoup, @@ -21580,7 +21772,6 @@ pixel_x = -25 }, /obj/overmap/entity/visitable/ship/landable/trade, -/obj/effect/shuttle_landmark/trade/hangar, /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/general) "gLI" = ( @@ -21622,6 +21813,7 @@ pixel_y = 22; req_one_access = list(160) }, +/obj/machinery/body_scanconsole, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "gPE" = ( @@ -21667,7 +21859,8 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel8" + id_tag = "motel8"; + req_access = list(169) }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room8) @@ -21776,6 +21969,13 @@ /obj/structure/barricade, /turf/simulated/floor/wood, /area/tradeport/safarizoo) +"hhH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/fire_alarm/south_mount, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel/room4) "hhI" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 @@ -21846,7 +22046,8 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel4" + id_tag = "motel4"; + req_access = list(164) }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room4) @@ -21905,7 +22106,7 @@ id = "scoophead_office" }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "hyI" = ( /obj/structure/table/hardwoodtable, /obj/machinery/chemical_dispenser/catering/bar_coffee{ @@ -21935,6 +22136,13 @@ /obj/machinery/light{ dir = 8 }, +/obj/item/surgical/bonesetter, +/obj/item/surgical/cautery, +/obj/item/surgical/circular_saw, +/obj/item/surgical/bonegel, +/obj/item/surgical/retractor, +/obj/item/surgical/scalpel, +/obj/item/surgical/surgicaldrill, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "hCk" = ( @@ -22005,7 +22213,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "hJt" = ( /obj/effect/debris/cleanable/generic, /turf/simulated/floor/tiled/steel, @@ -22021,6 +22229,9 @@ /obj/machinery/light{ dir = 4 }, +/obj/structure/cable/pink{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "hMU" = ( @@ -22046,7 +22257,7 @@ }, /obj/machinery/suit_storage_unit/syndicate, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "hQo" = ( /obj/effect/floor_decal/spline/fancy{ dir = 10 @@ -22097,7 +22308,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "hTW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22131,7 +22342,18 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) +"hZh" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/border, +/obj/landmark/spawnpoint/job/outsider/override, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "hZT" = ( /obj/machinery/light{ dir = 1 @@ -22188,6 +22410,9 @@ /obj/structure/bed/chair/sofa/brown/right{ dir = 4 }, +/obj/machinery/newscaster{ + pixel_y = -28 + }, /turf/simulated/floor/carpet/turcarpet, /area/sector/nebula_tradeport/motel) "ifH" = ( @@ -22409,7 +22634,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "iQo" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/meter, @@ -22458,7 +22683,7 @@ /obj/structure/curtain/open/shower, /obj/structure/simple_door/wood, /turf/simulated/floor/tiled/neutral, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "jdu" = ( /obj/machinery/washing_machine, /obj/item/storage/laundry_basket{ @@ -22526,9 +22751,11 @@ /area/tradeport/spine) "job" = ( /obj/effect/floor_decal/corner/blue/border, -/obj/structure/cable/yellow, -/obj/machinery/power/apc/alarms_hidden/south_mount{ - req_access = list(160) +/obj/structure/table/carbon/reinforced, +/obj/machinery/button/windowtint{ + pixel_x = -5; + pixel_y = 7; + id = "med_office" }, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) @@ -22540,7 +22767,7 @@ pixel_x = 32 }, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "jpc" = ( /obj/structure/window/reinforced/polarized{ dir = 8; @@ -22548,7 +22775,7 @@ }, /obj/spawner/window/low_wall/reinforced/full/firelocks, /turf/simulated/floor/plating, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "juq" = ( /obj/effect/debris/cleanable/dirt, /turf/simulated/floor/tiled/old_tile/blue, @@ -22647,6 +22874,10 @@ }, /turf/simulated/floor/carpet/arcadecarpet, /area/sector/nebula_tradeport/motel/arcade) +"jGT" = ( +/mob/living/simple_mob/animal/passive/cat, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel) "jHF" = ( /obj/structure/table/rack/shelf/steel, /obj/machinery/air_alarm/alarms_hidden{ @@ -22727,7 +22958,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "jQe" = ( /obj/machinery/computer/ship/helm{ dir = 1 @@ -22736,7 +22967,7 @@ pixel_y = 7; pixel_x = -6 }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "jQK" = ( /obj/structure/handrail, @@ -22848,6 +23079,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/item/storage/box/glasses/meta, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room4) "keh" = ( @@ -22890,8 +23122,19 @@ /obj/structure/closet/secure_closet/personal, /obj/item/storage/box/glasses/meta, /obj/item/storage/box/donkpockets, +/obj/item/pizzabox/meat{ + pixel_y = 8 + }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room6) +"khV" = ( +/obj/machinery/atmospheric_field_generator/perma, +/obj/machinery/door/blast/regular{ + id = "tugdoor1b"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/shuttle/tug) "kji" = ( /obj/effect/floor_decal/spline/fancy/wood, /obj/structure/railing, @@ -22904,15 +23147,7 @@ /obj/structure/table/hardwoodtable, /obj/effect/floor_decal/spline/fancy/wood, /obj/item/paper{ - info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK M4RIA, AT BEHIND THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; - name = "Nebula Motel" - }, -/obj/item/paper{ - info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK M4RIA, AT BEHIND THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; - name = "Nebula Motel" - }, -/obj/item/paper{ - info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK M4RIA, AT BEHIND THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; + info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK THE MOTEL VENDING MACHINE NEAR THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; name = "Nebula Motel" }, /turf/simulated/floor/carpet/turcarpet, @@ -22986,15 +23221,12 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel4" + id_tag = "motel4"; + req_access = list(163) }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room3) "kDN" = ( -/obj/structure/table/bench/wooden, -/obj/item/pizzabox/meat{ - pixel_y = 8 - }, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -23034,6 +23266,10 @@ /obj/machinery/atmospherics/pipe/tank/air{ dir = 8 }, +/obj/structure/cable/pink{ + icon_state = "2-4"; + dir = 8 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/scoophead/engineering) "kJj" = ( @@ -23067,15 +23303,12 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/scoophead/engineering) "kKj" = ( -/obj/structure/table/hardwoodtable, /obj/item/material/knife, -/obj/machinery/recharger{ - pixel_x = 9; - pixel_y = 2 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/machinery/appliance/cooker/oven, +/obj/structure/table/hardwoodtable, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room2) "kKq" = ( @@ -23117,6 +23350,18 @@ }, /turf/simulated/floor/tiled/neutral, /area/tradeport/facility) +"kRE" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/carpet/patterened/red, +/area/sector/nebula_tradeport/motel/vip) "kVa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -23207,6 +23452,17 @@ }, /turf/simulated/mineral/floor/vacuum, /area/tradeport/pads) +"lcX" = ( +/obj/machinery/atmospherics/component/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/corner/green/border{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "lfu" = ( /obj/machinery/chemical_dispenser/catering/bar_soft{ dir = 4 @@ -23290,9 +23546,6 @@ /obj/map_helper/access_helper/airlock/station/external_airlock, /turf/simulated/floor/tiled/dark, /area/tradeport/facility) -"lmT" = ( -/turf/simulated/wall/prepainted/command, -/area/shuttle/scoophead/main2) "lnx" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -23316,9 +23569,6 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 8 }, -/obj/structure/cable/pink{ - icon_state = "1-2" - }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "ltU" = ( @@ -23329,12 +23579,19 @@ /area/sector/nebula_tradeport/motel) "luK" = ( /turf/simulated/floor/wood, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "luQ" = ( /obj/spawner/window/low_wall/reinforced/full/firelocks, /obj/structure/curtain/open/black, /turf/simulated/floor/tiled/techmaint, /area/sector/nebula_tradeport/motel/room6) +"lwa" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/machinery/fire_alarm/alarms_hidden/west_mount, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel) "lwk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -23368,15 +23625,14 @@ /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room2) "lAe" = ( -/obj/machinery/door/firedoor{ - req_one_access = list(160) - }, /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel1" + id_tag = "motel1"; + req_access = list(161) }, +/obj/machinery/door/firedoor, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room1) "lAm" = ( @@ -23413,6 +23669,13 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, /area/tradeport/commons) +"lHW" = ( +/obj/machinery/power/apc/alarms_hidden/north_mount, +/obj/structure/cable/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/monogrid, +/area/sector/nebula_tradeport/dock2) "lIN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -23488,8 +23751,7 @@ }, /obj/machinery/button/remote/blast_door{ id = "nebulacafe"; - pixel_y = 27; - req_access = list(160) + pixel_y = 27 }, /obj/machinery/door/window/westleft, /turf/simulated/floor/wood, @@ -23563,29 +23825,11 @@ }, /turf/simulated/floor/tiled/old_tile/blue, /area/tradeport/cafeteria) -"mcB" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ - dir = 1 - }, -/obj/structure/cable/pink{ - icon_state = "4-8" - }, -/obj/structure/cable/pink{ - icon_state = "2-4" - }, -/turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) "mdG" = ( /obj/structure/bed/double/padded, /obj/item/bedsheet/captaindouble, /turf/simulated/floor/carpet/patterened/blue/alt, /area/sector/nebula_tradeport/motel/vip) -"mdQ" = ( -/obj/structure/cable/pink{ - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) "meD" = ( /obj/machinery/computer/arcade/orion_trail, /obj/effect/floor_decal/spline/plain{ @@ -23635,6 +23879,7 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 1 }, +/obj/machinery/bodyscanner, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "mlI" = ( @@ -23751,12 +23996,12 @@ /obj/effect/floor_decal/corner/blue/border{ dir = 4 }, -/obj/structure/cable/pink{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 6 }, +/obj/structure/cable/pink{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "mAL" = ( @@ -23788,7 +24033,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "mCV" = ( /obj/structure/table/glass, /obj/item/reagent_containers/food/snacks/cheesyfries, @@ -23810,6 +24055,10 @@ "mGF" = ( /obj/structure/table/hardwoodtable, /obj/random/alcohol, +/obj/machinery/recharger{ + pixel_x = 9; + pixel_y = 2 + }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room1) "mHd" = ( @@ -23858,9 +24107,6 @@ }, /turf/simulated/wall/r_wall/prepainted/command, /area/shuttle/arrowhead) -"mLx" = ( -/turf/simulated/wall/prepainted/command, -/area/shuttle/scoophead/cockpit) "mMt" = ( /obj/effect/shuttle_landmark/triumph/trade/arrowhead, /obj/overmap/entity/visitable/ship/landable/trade/arrowhead, @@ -23899,6 +24145,10 @@ "mOb" = ( /obj/structure/table/hardwoodtable, /obj/random/alcohol, +/obj/machinery/recharger{ + pixel_x = 9; + pixel_y = 2 + }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room2) "mOl" = ( @@ -23952,7 +24202,7 @@ /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 4 }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "ncQ" = ( /obj/structure/cable/yellow{ @@ -23978,6 +24228,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/item/storage/box/glasses/meta, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room1) "ngf" = ( @@ -24011,15 +24262,17 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "nkf" = ( /obj/machinery/atmospherics/pipe/tank/air{ dir = 8 }, -/obj/machinery/air_alarm/alarms_hidden/north_mount, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/air_alarm/alarms_hidden/north_mount{ + req_one_access = null + }, /turf/simulated/floor/tiled/techfloor/monogrid, /area/shuttle/arrowhead) "nlw" = ( @@ -24119,9 +24372,18 @@ }, /turf/simulated/floor/tiled/old_tile/blue, /area/tradeport/commons) +"nHT" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/border, +/obj/landmark/spawnpoint/job/outsider, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "nIB" = ( /obj/structure/curtain/open/bed, /obj/structure/bed/double/padded, +/obj/item/bedsheet/double, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room4) "nIU" = ( @@ -24183,9 +24445,6 @@ req_access = list(160); req_one_access = null }, -/obj/structure/cable/pink{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 }, @@ -24229,7 +24488,7 @@ /obj/item/hand_labeler, /obj/structure/curtain/black, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "nZW" = ( /obj/structure/table/bench/wooden, /obj/machinery/air_alarm/alarms_hidden{ @@ -24250,6 +24509,13 @@ /obj/structure/flora/pottedplant/smalltree, /turf/simulated/floor/tiled/monotechmaint, /area/tradeport/spine) +"ojj" = ( +/obj/machinery/door/blast/regular{ + id = "tugdoor1" + }, +/obj/machinery/atmospheric_field_generator/perma, +/turf/simulated/floor/plating, +/area/shuttle/tug) "ojq" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 @@ -24294,11 +24560,8 @@ /obj/structure/cable/pink{ icon_state = "1-8" }, -/obj/structure/cable/pink{ - icon_state = "1-2" - }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "omb" = ( /obj/machinery/door/firedoor/glass{ dir = 8 @@ -24455,7 +24718,7 @@ /obj/item/pen/fountain, /obj/item/pen, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "oFP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -24564,7 +24827,7 @@ id = "scoophead_room" }, /turf/simulated/floor/wood, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "pfv" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -24626,6 +24889,7 @@ "phM" = ( /obj/structure/bed/padded, /obj/structure/curtain/open/bed, +/obj/item/bedsheet, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room3) "piK" = ( @@ -24746,6 +25010,13 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, +/obj/machinery/vending/motel, +/obj/item/paper{ + info = "WELCOME TO THE NEBULA MOTEL \ TO BUY A PASS, SEEK THE MOTEL VENDING MACHINE NEAR THE COUNTER. \ \ We have 9 rooms. \ Room 1 to 4 have a small kitchen, and washing room. \ Room 1 and 4 have 1 Double bed. \ 2 has 1 single bed \ 3 have 2 single beds. \ Those rooms are 30 Thrallers the 3 to 5 hours. \ \ Room 5 to 8 have no kitchen, and washing room. \ Room 6 and 8 have 1 Double bed. \ 5 has 1 single bed \ 7 have 2 single beds. \ Those rooms are 15 Thrallers the 3 to 5 hours. \ \ Room 9 is our VIP Suite. This suite has 2 bed rooms, 1 office, 1 fully equipped kitchen, 1 washroom, 1 laundry room, And its own shuttle call the Arrowhead, used by ex Tajaran racer Cheuk'Yager. the suite is 80 Thrallers the 3 to 5 hours. \ \ The Sauna is free to use. The public laundry machine and public bathroom are free to use. Guest pass are available if the rooms are shared."; + name = "Nebula Motel"; + pixel_x = -7; + pixel_y = 1 + }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel) "pJb" = ( @@ -24757,10 +25028,6 @@ /obj/structure/curtain/open/black, /turf/simulated/floor/carpet/patterened/blue/alt, /area/sector/nebula_tradeport/motel/vip) -"pPt" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/shuttle/scoophead/main2) "pRx" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/reagent_containers/food/snacks/meat, @@ -24773,6 +25040,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/item/storage/box/glasses/meta, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room2) "pSM" = ( @@ -24798,9 +25066,9 @@ /obj/effect/floor_decal/techfloor{ dir = 5 }, -/obj/structure/closet/crate/mimic/safe, /obj/item/clothing/under/tajaran/pra_uniform, /obj/item/clothing/under/tajaran/nka_uniform/sailor, +/obj/structure/closet/crate/plastic, /turf/simulated/floor/tiled/monotechmaint, /area/tradeport/spine) "qdi" = ( @@ -24883,6 +25151,8 @@ /area/sector/nebula_tradeport/motel/room4) "qnM" = ( /obj/structure/bed/double/padded, +/obj/machinery/fire_alarm/north_mount, +/obj/item/bedsheet/double, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room6) "qnU" = ( @@ -24891,6 +25161,12 @@ }, /turf/simulated/floor/tiled/old_tile/white, /area/sector/nebula_tradeport/motel/room3) +"qox" = ( +/obj/item/modular_computer/console/preset/civilian{ + dir = 4 + }, +/turf/simulated/floor/glass/reinforced, +/area/sector/nebula_tradeport/engineering) "qoI" = ( /obj/machinery/camera{ dir = 8 @@ -25027,13 +25303,15 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel2" + id_tag = "motel2"; + req_access = list(162) }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room2) "qOg" = ( /obj/structure/curtain/open/bed, /obj/structure/bed/double/padded, +/obj/item/bedsheet/double, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room1) "qOs" = ( @@ -25119,6 +25397,12 @@ }, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) +"qOQ" = ( +/obj/structure/cable/pink{ + icon_state = "4-8" + }, +/turf/simulated/wall/prepainted/command, +/area/shuttle/scoophead/engineering) "qPf" = ( /obj/effect/debris/cleanable/molten_item, /turf/simulated/floor/plating, @@ -25191,14 +25475,7 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "qXy" = ( -/obj/structure/cable/pink{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, -/obj/structure/cable/pink{ - icon_state = "2-4"; - dir = 4 - }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/scoophead/engineering) "qYk" = ( @@ -25222,7 +25499,19 @@ /obj/structure/bed/pod, /obj/item/bedsheet/brown, /turf/simulated/floor/carpet/patterened/blue, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) +"rbV" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/air_alarm/alarms_hidden{ + pixel_y = 22; + req_one_access = list(160) + }, +/obj/effect/floor_decal/corner/green/border, +/obj/landmark/spawnpoint/job/outsider, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "rch" = ( /obj/structure/closet/crate/bin{ anchored = 1 @@ -25236,6 +25525,13 @@ /obj/item/reagent_containers/food/snacks/candy_corn, /turf/simulated/floor/tiled/old_tile/blue, /area/tradeport/commons) +"rdP" = ( +/obj/spawner/window/low_wall/reinforced/full/firelocks, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/utilitymicro) "rfq" = ( /obj/machinery/newscaster{ pixel_y = 35 @@ -25274,10 +25570,8 @@ /obj/effect/floor_decal/corner/red/border{ dir = 6 }, -/obj/machinery/power/apc/hyper/west_mount, -/obj/structure/cable/pink, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "rpe" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -25291,9 +25585,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 }, -/obj/structure/cable/pink{ - icon_state = "1-2" - }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "rrC" = ( @@ -25304,7 +25595,7 @@ }, /obj/structure/curtain/black, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "rtl" = ( /obj/structure/sign/directions/roomnum{ dir = 8 @@ -25348,8 +25639,17 @@ /area/sector/nebula_tradeport/motel/arcade) "rEe" = ( /obj/machinery/computer/ship/engines, -/turf/simulated/floor/tiled/steel_dirty/dark, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) +"rIw" = ( +/obj/structure/bed/chair/bay/chair/padded/teal{ + dir = 4 + }, +/turf/simulated/floor/glass/reinforced, +/area/sector/nebula_tradeport/engineering) "rJb" = ( /obj/machinery/door/firedoor/glass, /obj/structure/grille, @@ -25404,6 +25704,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/item/storage/box/glasses/meta, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room3) "rMJ" = ( @@ -25448,7 +25749,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "rRx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, @@ -25481,24 +25782,17 @@ }, /turf/simulated/floor/tiled/old_tile/white, /area/sector/nebula_tradeport/motel/room2) +"rXg" = ( +/obj/effect/floor_decal/corner_oldtile/blue{ + dir = 10 + }, +/obj/machinery/lathe/autolathe, +/turf/simulated/floor/tiled/techfloor/grid, +/area/sector/nebula_tradeport/engineering) "rXJ" = ( /obj/structure/undies_wardrobe, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room7) -"rYx" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Quarters"; - req_access = list(160); - req_one_access = null - }, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 4 - }, -/obj/structure/cable/pink{ - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/shuttle/scoophead/cockpit) "rYV" = ( /obj/machinery/light, /obj/structure/flora/pottedplant/drooping, @@ -25544,7 +25838,7 @@ /obj/item/modular_computer/console/preset/civilian{ dir = 4 }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "sjP" = ( /turf/simulated/floor/tiled/white, @@ -25590,13 +25884,9 @@ /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room3) "svz" = ( -/obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 }, -/obj/structure/cable/pink{ - icon_state = "4-8" - }, /turf/simulated/wall/rshull, /area/shuttle/scoophead/main) "swc" = ( @@ -25644,11 +25934,20 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "sDd" = ( /obj/structure/inflatable, /turf/simulated/floor/tiled/old_tile/yellow, /area/tradeport/spine) +"sEm" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/valve{ + dir = 4 + }, +/turf/simulated/floor/carpet/patterened/blue, +/area/shuttle/caravan) "sFL" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 @@ -25707,6 +26006,8 @@ /area/sector/nebula_tradeport/motel/sauna) "sKi" = ( /obj/structure/bed/double/padded, +/obj/machinery/fire_alarm/north_mount, +/obj/item/bedsheet/double, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room8) "sLr" = ( @@ -25715,6 +26016,13 @@ }, /turf/simulated/floor/carpet/turcarpet, /area/sector/nebula_tradeport/motel) +"sLJ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/fire_alarm/south_mount, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel/room2) "sMT" = ( /obj/machinery/power/apc/alarms_hidden/north_mount, /obj/structure/cable/yellow{ @@ -25778,7 +26086,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 4 }, -/turf/simulated/floor/tiled/steel_dirty/dark, +/turf/simulated/floor/tiled/steel_dirty/red, /area/shuttle/arrowhead) "tcJ" = ( /obj/structure/flora/pottedplant/smelly, @@ -25788,10 +26096,12 @@ /turf/simulated/floor/outdoors/grass/heavy/indoors, /area/tradeport/spine) "tcM" = ( -/obj/machinery/bodyscanner, /obj/structure/cable/yellow{ icon_state = "2-8" }, +/obj/structure/bed/chair/office/light{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "tdH" = ( @@ -25837,7 +26147,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "tjw" = ( /obj/machinery/door/firedoor{ req_one_access = list(160) @@ -25960,7 +26270,7 @@ /obj/item/storage/single_use/mre/random, /obj/item/storage/single_use/mre/random, /turf/simulated/floor/carpet/patterened/blue, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "tBI" = ( /obj/structure/closet/secure_closet/personal, /obj/item/storage/box/glasses/meta, @@ -25988,6 +26298,16 @@ }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room7) +"tDW" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/border, +/obj/structure/sign/department/medbay{ + pixel_y = 29 + }, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "tEL" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 4 @@ -26012,9 +26332,6 @@ "tFV" = ( /turf/simulated/wall/r_wall, /area/sector/nebula_tradeport/motel) -"tHv" = ( -/turf/simulated/wall/prepainted/exploration, -/area/shuttle/scoophead/main2) "tHJ" = ( /obj/machinery/light/small, /obj/structure/cable/yellow{ @@ -26042,10 +26359,6 @@ /obj/machinery/holopad, /turf/simulated/floor/tiled/old_tile/yellow, /area/tradeport/spine) -"tQK" = ( -/obj/machinery/body_scanconsole, -/turf/simulated/floor/tiled/white, -/area/sector/nebula_tradeport/medical/public) "tRl" = ( /obj/structure/flora/pottedplant/minitree, /obj/machinery/light{ @@ -26133,6 +26446,17 @@ /obj/machinery/vending/coffee, /turf/simulated/floor/wood, /area/tradeport/commons) +"ugx" = ( +/obj/structure/metal_edge, +/obj/structure/railing/grey{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/orange, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/sector/nebula_tradeport/dock2) "ugZ" = ( /obj/item/stool/padded, /obj/structure/cable/yellow{ @@ -26159,10 +26483,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 6 }, +/obj/machinery/power/apc/hyper/west_mount, /obj/structure/cable/pink{ + icon_state = "0-8"; dir = 1 }, -/obj/machinery/power/apc/hyper/west_mount, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/scoophead/engineering) "umb" = ( @@ -26177,7 +26505,7 @@ gps_tag = "SCOOP" }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "umU" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 10 @@ -26220,7 +26548,7 @@ dir = 4 }, /turf/simulated/wall/prepainted/command, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "uuk" = ( /obj/structure/noticeboard{ pixel_y = 29 @@ -26268,6 +26596,8 @@ /obj/machinery/light/spot{ dir = 1 }, +/obj/item/roller, +/obj/item/roller, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) "uxP" = ( @@ -26315,6 +26645,7 @@ /area/sector/nebula_tradeport/motel) "uyE" = ( /obj/structure/bed/padded, +/obj/item/bedsheet, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room7) "uBu" = ( @@ -26339,7 +26670,7 @@ "uFC" = ( /obj/structure/table/woodentable, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "uHN" = ( /obj/machinery/light{ dir = 1 @@ -26372,7 +26703,8 @@ "uNh" = ( /obj/machinery/door/airlock/multi_tile/metal{ dir = 8; - id_tag = "motel9" + id_tag = "motel9"; + req_access = list(170) }, /obj/machinery/door/firedoor{ req_one_access = list(160) @@ -26413,6 +26745,10 @@ /obj/machinery/light, /turf/simulated/floor/tiled/steel_dirty/dark, /area/shuttle/arrowhead) +"uVC" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/simulated/floor/plating, +/area/shuttle/tug) "uWr" = ( /obj/effect/floor_decal/corner/red/border{ dir = 1 @@ -26422,7 +26758,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "uXV" = ( /obj/effect/floor_decal/techfloor{ dir = 9 @@ -26438,6 +26774,10 @@ /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/wmarble, /area/tradeport/commons) +"uZU" = ( +/obj/machinery/vending/survivalist, +/turf/simulated/floor/tiled/monotechmaint, +/area/tradeport/spine) "ves" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -26458,7 +26798,7 @@ pixel_x = 32 }, /turf/simulated/floor/wood, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "vff" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26520,6 +26860,15 @@ }, /turf/simulated/floor/bmarble, /area/tradeport/commons) +"vqO" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel/vip) "vrJ" = ( /obj/structure/bed/chair/sofa/red/corner{ dir = 8 @@ -26568,15 +26917,12 @@ /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room3) "vym" = ( -/obj/structure/table/hardwoodtable, /obj/item/material/knife, -/obj/machinery/recharger{ - pixel_x = 9; - pixel_y = 2 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/machinery/appliance/cooker/oven, +/obj/structure/table/hardwoodtable, /turf/simulated/floor/tiled/dark, /area/sector/nebula_tradeport/motel/room4) "vzd" = ( @@ -26596,8 +26942,8 @@ /obj/effect/floor_decal/techfloor{ dir = 1 }, -/obj/structure/closet/crate/secure/corporate/saare, /obj/item/clothing/head/helmet/tajaran, +/obj/structure/closet/crate/secure, /turf/simulated/floor/tiled/monotechmaint, /area/tradeport/spine) "vDS" = ( @@ -26727,6 +27073,12 @@ /obj/machinery/power/apc/alarms_hidden/north_mount, /turf/simulated/floor/airless, /area/sector/nebula_tradeport/motel) +"weC" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced, +/area/sector/nebula_tradeport/dock2) "wgI" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -26741,17 +27093,12 @@ /obj/machinery/light{ dir = 4 }, -/obj/structure/cable/pink{ - icon_state = "0-8"; - dir = 8 - }, -/obj/machinery/power/apc/alarms_hidden/east_mount, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "wlu" = ( /obj/machinery/shipsensors, /turf/simulated/floor/plating, -/area/shuttle/scoophead/main2) +/area/shuttle/scoophead/main) "wmD" = ( /obj/structure/sink/kitchen{ dir = 4; @@ -26799,7 +27146,7 @@ dir = 4 }, /turf/simulated/floor/tiled/neutral, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "wqt" = ( /obj/structure/shuttle/engine/heater{ dir = 4 @@ -26841,11 +27188,18 @@ dir = 9 }, /turf/simulated/floor/carpet/patterened/red, -/area/shuttle/scoophead/office) +/area/shuttle/scoophead/main) "wvG" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/neutral, /area/tradeport/facility) +"wwE" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/fire_alarm/south_mount, +/turf/simulated/floor/wood, +/area/sector/nebula_tradeport/motel/room3) "wAb" = ( /obj/machinery/atmospherics/component/unary/engine{ dir = 8 @@ -26898,7 +27252,6 @@ /turf/simulated/floor/tiled/old_tile/blue, /area/tradeport/commons) "wEN" = ( -/obj/structure/table/hardwoodtable, /obj/item/reagent_containers/food/drinks/shaker{ pixel_x = -6 }, @@ -26918,6 +27271,7 @@ /obj/item/reagent_containers/food/snacks/pancakes, /obj/item/reagent_containers/food/snacks/pancakes, /obj/item/reagent_containers/food/snacks/pancakes, +/obj/machinery/appliance/cooker/oven, /turf/simulated/floor/wood, /area/tradeport/cafeteria) "wFr" = ( @@ -26985,8 +27339,7 @@ dir = 8 }, /obj/structure/cable/pink{ - icon_state = "2-4"; - dir = 8 + icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/scoophead/engineering) @@ -27006,12 +27359,10 @@ }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room7) -"wSZ" = ( -/obj/spawner/window/low_wall/reinforced/full/firelocks, -/turf/simulated/floor/plating, -/area/shuttle/scoophead/cockpit) "wUd" = ( /obj/structure/bed/padded, +/obj/machinery/fire_alarm/north_mount, +/obj/item/bedsheet, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room5) "wWB" = ( @@ -27024,9 +27375,6 @@ /obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/structure/cable/pink{ - icon_state = "2-4" - }, /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "wXc" = ( @@ -27073,8 +27421,9 @@ /turf/simulated/floor/tiled/techfloor, /area/shuttle/scoophead/main) "xcp" = ( +/obj/structure/table/carbon/reinforced, /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "4-8" }, /turf/simulated/floor/tiled/white, /area/sector/nebula_tradeport/medical/public) @@ -27096,7 +27445,8 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel7" + id_tag = "motel7"; + req_access = list(167) }, /turf/simulated/floor/airless, /area/sector/nebula_tradeport/motel/room7) @@ -27224,13 +27574,13 @@ }, /obj/machinery/computer/shuttle_control/explore/trade/scoophead, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "xvE" = ( /obj/structure/bed/chair/shuttle{ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/shuttle/scoophead/cockpit) +/area/shuttle/scoophead/main) "xwL" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 @@ -27252,6 +27602,13 @@ /obj/structure/undies_wardrobe, /turf/simulated/floor/carpet/patterened/blue, /area/sector/nebula_tradeport/motel/room3) +"xGT" = ( +/obj/structure/table/carbon/reinforced, +/obj/structure/flora/pottedplant/thinbush{ + pixel_y = 11 + }, +/turf/simulated/floor/tiled/white, +/area/sector/nebula_tradeport/medical/public) "xHj" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/machinery/computer/arcade/orion_trail, @@ -27290,6 +27647,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel) +"xTF" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/machinery/fire_alarm/west_mount{ + pixel_x = -26 + }, +/turf/simulated/floor/carpet/patterened, +/area/sector/nebula_tradeport/motel) "xTL" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -27359,6 +27725,18 @@ /obj/structure/catwalk, /turf/simulated/floor/plating, /area/shuttle/scoophead) +"ygF" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/camera, +/obj/effect/floor_decal/corner/green/border, +/obj/machinery/air_alarm/alarms_hidden{ + pixel_y = 22; + req_one_access = list(160) + }, +/turf/simulated/floor/tiled, +/area/tradeport/commhall) "ygJ" = ( /obj/effect/floor_decal/spline/fancy{ dir = 6 @@ -27408,7 +27786,8 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/silver{ - id_tag = "motel6" + id_tag = "motel6"; + req_access = list(166) }, /turf/simulated/floor/wood, /area/sector/nebula_tradeport/motel/room6) @@ -27440,6 +27819,9 @@ }, /turf/simulated/floor/tiled/old_tile/white, /area/sector/nebula_tradeport/motel/room3) +"yjZ" = ( +/turf/simulated/floor/tiled/old_tile/beige, +/area/tradeport/commhall) (1,1,1) = {" acd @@ -29845,8 +30227,8 @@ acd aDh aDh nBl -nBl -nBl +dUe +dUe aDh acd acd @@ -30038,9 +30420,9 @@ acd acd aDh aDh -nBl +dUe sfh -nBl +dUe aDh acd acd @@ -30232,10 +30614,10 @@ acd acd aDh nBl -nBl +dUe naT -nBl -nBl +dUe +dUe acd acd aDh @@ -30429,7 +30811,7 @@ nBl fir tbk jQe -nBl +dUe acd acd aDh @@ -30623,7 +31005,7 @@ nBl rEe cuq etX -nBl +dUe acd acd acd @@ -33727,7 +34109,7 @@ aei sSX eok dMM -dMM +vqO mtk aCH aAF @@ -34120,7 +34502,7 @@ asa aAg ayA aIZ -aLh +kRE aLh aSb aMf @@ -35113,7 +35495,7 @@ adU aog aog aNU -aCN +aog aCS aEd aKa @@ -35485,7 +35867,7 @@ aMf aVE aXl aIh -anj +dYD aHO aXl atV @@ -35666,7 +36048,7 @@ tFV tFV wtb sFL -sFL +lwa mAL umU aFw @@ -35679,11 +36061,11 @@ aMf aVE aPx aQK -anj +sEm aRn aXl atV -aTp +aIs aza aZQ aId @@ -36225,22 +36607,22 @@ vTE tsd lfZ uci -xAe +hhH vLz dgI tEL gPE -vHl +wwE vey byE lxm pFo -rpe +sLJ sqy bOU ikV lLF -uMy +dPa sqy vLW mHz @@ -36254,7 +36636,7 @@ cXs aOy aHW aJz -akD +yjZ axS aoN apv @@ -36271,14 +36653,14 @@ aUh amt aIs aeg -aog +bPs agT agT agT agT agT agT -aog +khV aEd aKa awk @@ -36460,19 +36842,19 @@ aAl aIG azA aNF -auk +aza atJ aXB arH aeg -aog +fHX agT agT agT agT agT awv -aog +khV aEd aKa awk @@ -36659,14 +37041,14 @@ aeo awi aTn aeg -aog +fHX aVR aXQ agT agT agT ayE -aog +khV aEd aKa awk @@ -36834,13 +37216,13 @@ cXs lFD jlU abr -aby +nHT awO -adj +aYp aVm aoN apv -aQL +aWO aPj aNB aIW @@ -36853,14 +37235,14 @@ apL aqP avN aeg -aog +fHX aVM -avI +aij agT agT agT aaf -aog +khV aEd aKa awk @@ -37030,10 +37412,10 @@ hGc abr awu aCZ -aOj +akM aWb aoN -akY +apv aeh aEd aEd @@ -37050,7 +37432,7 @@ aeg aog aXG aij -agT +uVC agT agT axJ @@ -37214,7 +37596,7 @@ lAe sqy wMY pIG -ime +jGT kji vuw gPc @@ -37222,10 +37604,10 @@ eSp cXs koU aFw -aDJ -awO +rbV +fNR adj -aVm +dWa aPK afA azJ @@ -37390,7 +37772,7 @@ dIo hjC jNt fCA -qfx +gCI ooi dXo mHd @@ -37401,7 +37783,7 @@ kKq bbg fCA ltU -ltU +xTF cUF bbg fCA @@ -37416,13 +37798,13 @@ cXs cXs cWD aFw -aCP +hZh awO -adj +aYp aMJ atf aUE -azI +lHW azI aHl ayN @@ -37436,12 +37818,12 @@ atV atV atV aog -aog -aog +ojj +ojj aZf aZf -aog -aog +ojj +ojj aog aEd aKa @@ -37612,7 +37994,7 @@ bEl aIe aKB aJh -aEs +aYp aVm aoN aWH @@ -37805,7 +38187,7 @@ wpW bnC aaB aby -afM +aCQ aYp aVm aoN @@ -38008,7 +38390,7 @@ aHw aCo aHl aEd -aHi +aBm axn anT aBm @@ -38361,7 +38743,7 @@ dhw pSM snj cWp -uyE +dQr nZW uyE rXJ @@ -38398,7 +38780,7 @@ aHl aEd ahe aLz -aLz +rdP aBm aEd aHv @@ -38774,10 +39156,10 @@ eaJ kXi gaH asP -aBb +apj anJ aoq -apb +apj atf aif aHw @@ -38788,8 +39170,8 @@ auK add aNu aCY -aEd -aHv +weC +ugx atV acr acr @@ -38971,7 +39353,7 @@ aSQ awu aFe akM -aWb +lcX aoN azZ aHw @@ -39177,7 +39559,7 @@ aOt aEd aEd ayN -aHv +gxH atV aEd aak @@ -40534,8 +40916,8 @@ auX atP arA afX -aTi -aTE +aOq +dRV aOq aOq aOq @@ -41133,7 +41515,7 @@ aIp aIp aRR aGH -aGH +qox aXk ajk acd @@ -41324,11 +41706,11 @@ aiJ aqu azw aKw -aUI -aQZ -amc -aqq +aIp +rXg aGH +aqq +qox ajk acd acd @@ -41489,8 +41871,8 @@ vKs mBg cfu bYr -abx -avS +bfF +ygF aCQ aYp aVm @@ -41518,11 +41900,11 @@ aiJ aJr aJu aMb -aUI +aIp aQZ -acK -aqq aGH +aGH +amc ajk acd acd @@ -41680,11 +42062,11 @@ eGH bcr iVZ itm -sjP +xGT xcp job -abx -aDJ +eSH +aby aCQ aYp aVm @@ -41712,11 +42094,11 @@ aiJ ajT aCv aJQ -aUI -aQZ -amc -aqq +aIp +eiO aGH +rIw +fwS ajk acd acd @@ -41909,7 +42291,7 @@ asi aIp aZo aGH -aGH +fwS aXk ajk acd @@ -42069,10 +42451,10 @@ vLJ vLJ mlq qGd -tQK +sjP bcr -abx -aby +bfF +tDW aCQ aYp aVm @@ -42653,7 +43035,7 @@ uvg qOL xhP hqi -abx +bfF aCJ aFe akM @@ -45530,7 +45912,7 @@ acd acd acd aDh -aDh +acd aDh aDh aDh @@ -45722,8 +46104,6 @@ acd acd acd acd -acd -aDh aDh abs abs @@ -45732,6 +46112,8 @@ abs abs abs abs +abs +abs aWv apJ adm @@ -45916,8 +46298,6 @@ acd acd acd acd -acd -aDh aMr aEi aEi @@ -45927,6 +46307,8 @@ aEi aEi aEi aEi +aEi +aEi acT aEi aEi @@ -46110,8 +46492,6 @@ acd acd acd acd -acd -aDh aMr aBg aVZ @@ -46121,6 +46501,8 @@ aVZ aVZ aVZ aVZ +aVZ +aVZ aPp aPQ aPQ @@ -46304,8 +46686,6 @@ acd acd acd acd -acd -aDh aMr aag aag @@ -46315,6 +46695,8 @@ aag aag aag aag +aag +aag acT aag aag @@ -46498,8 +46880,6 @@ acd acd acd acd -acd -aDh aMr aiv aiv @@ -46509,6 +46889,8 @@ aiv aiv aiv aiv +aiv +aiv acT aiv aiv @@ -46692,8 +47074,6 @@ acd acd acd acd -acd -aDh aMr aEi aEi @@ -46703,6 +47083,8 @@ aEi aEi aEi aEi +aEi +aEi acT aEi aEi @@ -46886,8 +47268,6 @@ acd acd acd acd -acd -aDh aMr aBg aVZ @@ -46897,6 +47277,8 @@ aVZ aVZ aVZ aVZ +aVZ +aVZ aPp aPQ aPQ @@ -47080,8 +47462,6 @@ acd acd acd acd -acd -aDh aMr aag aag @@ -47091,6 +47471,8 @@ aag aag aag aag +aag +aag acT aag aag @@ -47274,8 +47656,6 @@ aDh aDh aDh aDh -aDh -aDh aMr aiv aiv @@ -47285,6 +47665,8 @@ aiv aiv aiv aiv +aiv +aiv acT aiv aiv @@ -47468,8 +47850,6 @@ aDh aDh aDh aDh -aDh -aDh aMr aEi aEi @@ -47479,6 +47859,8 @@ aEi aEi aEi aEi +aEi +aEi acT aEi aEi @@ -47662,8 +48044,6 @@ aDh aDh aDh aDh -aDh -aDh aMr aBg aVZ @@ -47673,6 +48053,8 @@ aVZ aVZ aVZ aVZ +aVZ +aVZ aPp aPQ aPQ @@ -47856,8 +48238,6 @@ aDh aDh aDh aDh -aDh -aDh aMr aag aag @@ -47867,6 +48247,8 @@ aag aag aag aag +aag +aag acT aag aag @@ -48050,8 +48432,6 @@ aDh aDh aDh aDh -aDh -aDh aMr aiv aiv @@ -48061,6 +48441,8 @@ aiv aiv aiv aiv +aiv +aiv acT aiv aiv @@ -48244,8 +48626,6 @@ aDh aDh aDh aDh -aDh -aDh aMr aEi aEi @@ -48255,6 +48635,8 @@ aEi aEi aEi aEi +aEi +aEi acT aEi aEi @@ -48438,13 +48820,13 @@ aDh aDh aDh aDh -aDh -aDh aMr aBg aVZ aVZ aVZ +aVZ +aVZ ark aEU aEU @@ -48632,8 +49014,6 @@ aDh aDh aDh aDh -aDh -aDh aQv aag aag @@ -48643,6 +49023,8 @@ aag aag aag aag +aag +aag acT aag aag @@ -48826,8 +49208,6 @@ avW avW aDh aDh -aDh -aDh aQv aOe aiv @@ -48837,6 +49217,8 @@ aiv aiv aiv aiv +aiv +aiv acT aiv aiv @@ -49020,8 +49402,6 @@ avW avW avW avW -aDh -aDh aQv aEi aEi @@ -49031,6 +49411,8 @@ aEi aEi aEi aEi +aEi +aEi acT aEi aEi @@ -49214,13 +49596,13 @@ avW avW avW avW -avW -aDh aQv aBg aVZ aVZ aVZ +aVZ +aVZ ark aEU aEU @@ -49408,8 +49790,6 @@ avW avW avW avW -avW -avW aQv aag aag @@ -49419,6 +49799,8 @@ aag aag aag aag +aag +aag acT aag aag @@ -49602,13 +49984,13 @@ avW avW avW avW -avW -avW aQv aOe aOe aOe aOe +aOe +aOe aiv aiv aiv @@ -49796,8 +50178,6 @@ avW avW avW avW -abk -avW aQv aEi aEi @@ -49807,6 +50187,8 @@ aEi aEi aEi aEi +aEi +aEi acT aEi aEi @@ -49832,7 +50214,7 @@ aMr xsx abK bNF -aWh +uZU amU aWh aWh @@ -49990,13 +50372,13 @@ avW avW avW avW -avW -avW aQv aBg aVZ aVZ aVZ +aVZ +aVZ ark aEU aEU @@ -50161,8 +50543,7 @@ aDh aDh aDh aEh -aEh -avW +axY avW avW avW @@ -50185,7 +50566,8 @@ avW avW avW avW -axY +aQv +aZT aZT aag aag @@ -50390,25 +50772,25 @@ auG auG auG acT -auG -auG -auG -auG -auG -aew -aew -aew -aew -aew -aew -aew -aew -aew -aew -aew -aew -aew -aDh +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +cTW +aSY aTq aMr xsx @@ -50584,25 +50966,25 @@ avW avW avW acT -avW -avW -avW -avW -avW -avW -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aEi +aSY aTq aMr xsx @@ -50777,26 +51159,26 @@ avW avW avW avW -acT -asZ -avW -avW -awV -awV -abk -avW -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh +evN +akv +akv +akv +aml +aPQ +akv +akv +aml +akv +akv +aml +aPQ +aPQ +aPQ +aPQ +aPQ +aPQ +aET +aSY aTq aMr xsx @@ -50972,25 +51354,25 @@ avW awV awV aPI -awV -awV -awV -awV -awV -awV -avW -awV -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aag +aSY aTq aMr xsx @@ -51175,15 +51557,15 @@ awV avt awV awV -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh -aDh +aew +aew +aew +aew +aew +aew +aew +aew +aew aDh aTq aMr @@ -54027,13 +54409,13 @@ aDh aDh acd aDh -wSZ -wSZ -wSZ -bqy -bqy -bqy -bqy +gsa +gsa +gsa +kJj +kJj +kJj +kJj aDh aDh awV @@ -54220,15 +54602,15 @@ aDh aDh aDh acd -wSZ -wSZ +gsa +gsa btq umb -mLx +yfg wqg jbA -bqy -bqy +kJj +kJj aDh aDh awV @@ -54414,11 +54796,11 @@ aDh aDh aDh acd -wSZ +gsa xuJ xvE fES -mLx +yfg rai luK eDY @@ -54608,7 +54990,7 @@ aDh aDh aDh aDh -wSZ +gsa dFp jPy nhC @@ -54802,15 +55184,15 @@ aDh aDh aDh aDh -bqy -bqy -mLx -rYx -mLx +kJj +kJj +yfg +hIZ +yfg utC -mLx +yfg jpc -wSZ +gsa aDh aDh awV @@ -55387,7 +55769,7 @@ aDh aDh ygc brN -mcB +bEV whD joQ fhh @@ -55579,11 +55961,11 @@ aDh aDh aDh wlu -tHv -lmT +kJj +yfg hIZ -lmT -lmT +yfg +yfg yfg kJj iRS @@ -55772,8 +56154,8 @@ aDh aDh aDh aDh -pPt -pPt +gsa +gsa hVq olr rnU @@ -55966,12 +56348,12 @@ aDh aDh aDh aDh -tHv +kJj bqF buw bJN -lmT -lmT +yfg +yfg hHX csb xAd @@ -56160,9 +56542,9 @@ aDh aDh aDh aDh -tHv +kJj uWr -mdQ +nAQ tjk bcm eRa @@ -56354,12 +56736,12 @@ aDh aDh aDh aDh -tHv +kJj hPk mBj sCj hTV -lmT +yfg svz gXc kJj @@ -56548,8 +56930,8 @@ aDh aDh aDh aDh -tHv -lmT +kJj +yfg dpO cMr nZt @@ -56748,7 +57130,7 @@ wWV rqL lsj lsj -dPi +lEv qXs ski aDh @@ -57325,7 +57707,7 @@ aDh aDh aDh qhX -mNP +qOQ nQY mNP mNP diff --git a/maps/sectors/nebula_tradeport/nebula_tradeport-shuttles.dm b/maps/sectors/nebula_tradeport/nebula_tradeport-shuttles.dm index 2d883688a035..e2a7277d220a 100644 --- a/maps/sectors/nebula_tradeport/nebula_tradeport-shuttles.dm +++ b/maps/sectors/nebula_tradeport/nebula_tradeport-shuttles.dm @@ -112,7 +112,7 @@ name = "Scoophead Engine Bay" /area/shuttle/scoophead/main2 - name = "Scoophead TraderSection" + name = "Scoophead Trader Section" //Arrowhead Shuttle diff --git a/maps/sectors/surt/levels/surt_west.dmm b/maps/sectors/surt/levels/surt_west.dmm index 2c7c480c7d07..b49cb8440f0f 100644 --- a/maps/sectors/surt/levels/surt_west.dmm +++ b/maps/sectors/surt/levels/surt_west.dmm @@ -1465,7 +1465,7 @@ req_one_access = list(48); name = "Mining Storage" }, -/obj/item/clothing/glasses/material, +/obj/item/clothing/glasses/meson, /turf/simulated/floor/tiled, /area/sector/surt/mining_base/common) "Hr" = ( @@ -2179,7 +2179,7 @@ req_one_access = list(48); name = "Mining Storage" }, -/obj/item/clothing/glasses/material, +/obj/item/clothing/glasses/meson, /turf/simulated/floor/tiled, /area/sector/surt/mining_base/common) "Wy" = ( diff --git a/maps/templates/admin/dhael_centcom.dmm b/maps/templates/admin/dhael_centcom.dmm index 57ffc8028093..beea1612d512 100644 --- a/maps/templates/admin/dhael_centcom.dmm +++ b/maps/templates/admin/dhael_centcom.dmm @@ -10341,22 +10341,22 @@ /area/centcom/security) "Fo" = ( /obj/structure/table/reinforced, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/unsimulated/floor{ diff --git a/maps/templates/admin/ert.dmm b/maps/templates/admin/ert.dmm index 43203bc1a9b2..4d843ef4d271 100644 --- a/maps/templates/admin/ert.dmm +++ b/maps/templates/admin/ert.dmm @@ -1285,7 +1285,7 @@ "lv" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/laptop, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/effect/floor_decal/industrial/outline/grey, @@ -2447,7 +2447,7 @@ "sz" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/laptop, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/light, @@ -4257,7 +4257,7 @@ "Gw" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/laptop, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/light{ diff --git a/maps/templates/admin/ert_base.dmm b/maps/templates/admin/ert_base.dmm index b82c3d08903c..4bca0261c364 100644 --- a/maps/templates/admin/ert_base.dmm +++ b/maps/templates/admin/ert_base.dmm @@ -211,7 +211,7 @@ "az" = ( /obj/structure/closet/wardrobe/ert, /obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/shuttle/floor/black, @@ -222,7 +222,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/shuttle/floor/black, diff --git a/maps/templates/archive/tradeship.dmm b/maps/templates/archive/tradeship.dmm index 6afaf66f291f..aea81feb4344 100644 --- a/maps/templates/archive/tradeship.dmm +++ b/maps/templates/archive/tradeship.dmm @@ -1537,7 +1537,7 @@ /obj/item/clothing/under/cheongsam, /obj/item/clothing/under/hosformalmale, /obj/item/clothing/under/hosformalfem, -/obj/item/clothing/under/harness, +/obj/item/clothing/under/gear_harness, /obj/item/clothing/under/gladiator, /obj/item/clothing/under/ert, /obj/item/clothing/under/schoolgirl, diff --git a/maps/templates/shelters/shelter_2.dmm b/maps/templates/shelters/shelter_2.dmm index 90940ce2c552..23f6355c0e38 100644 --- a/maps/templates/shelters/shelter_2.dmm +++ b/maps/templates/shelters/shelter_2.dmm @@ -50,7 +50,7 @@ /obj/item/fbp_backup_cell, /obj/item/fbp_backup_cell, /obj/item/storage/pill_bottle/antitox, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/healthanalyzer, /obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/shuttle/floor/voidcraft, diff --git a/maps/templates/shelters/shelter_4.dmm b/maps/templates/shelters/shelter_4.dmm index 4995bc145b32..b7ef075b8aa4 100644 --- a/maps/templates/shelters/shelter_4.dmm +++ b/maps/templates/shelters/shelter_4.dmm @@ -60,15 +60,15 @@ /obj/item/survivalcapsule, /obj/item/survivalcapsule, /obj/item/survivalcapsule, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/gun/energy/frontier/locked/holdout, /obj/item/gun/energy/frontier/locked/holdout, /obj/item/bluespace_radio/commerce, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, /obj/item/binoculars, /obj/item/perfect_tele, /obj/item/storage/pill_bottle/nutriment, @@ -116,7 +116,7 @@ /obj/item/gun/ballistic/pistol, /obj/item/clothing/accessory/storage/black_vest, /obj/item/material/knife/tacknife/survival, -/obj/item/storage/box/survival/comp, +/obj/item/storage/box/legacy_survival/comp, /turf/simulated/floor/carpet/bcarpet, /area/survivalpod) "k" = ( @@ -242,7 +242,7 @@ /obj/item/gun/ballistic/pistol, /obj/item/clothing/accessory/storage/black_vest, /obj/item/material/knife/tacknife/survival, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /turf/simulated/floor/carpet/bcarpet, diff --git a/maps/templates/shelters/shelter_a.dmm b/maps/templates/shelters/shelter_a.dmm index b1df9619c991..0738467e6f0d 100644 --- a/maps/templates/shelters/shelter_a.dmm +++ b/maps/templates/shelters/shelter_a.dmm @@ -68,10 +68,10 @@ /obj/item/storage/firstaid/adv, /obj/item/storage/firstaid/regular, /obj/item/modular_computer/laptop/preset/custom_loadout/rugged, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/extinguisher/mini, /obj/item/radio{ icon_state = "walkietalkieOLD"; diff --git a/maps/templates/shuttles/overmaps/generic/cruiser.dmm b/maps/templates/shuttles/overmaps/generic/cruiser.dmm index edee389cfccd..2a4525f28f68 100644 --- a/maps/templates/shuttles/overmaps/generic/cruiser.dmm +++ b/maps/templates/shuttles/overmaps/generic/cruiser.dmm @@ -1731,11 +1731,11 @@ /area/mothership/dorm1) "eb" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/wood, /area/mothership/dorm1) @@ -1782,11 +1782,11 @@ /area/mothership/teleporter) "ei" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/wood, /area/mothership/dorm2) @@ -3541,25 +3541,25 @@ /area/mothership/dorm3) "ig" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/wood, /area/mothership/dorm3) "ih" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on{ dir = 1 }, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/wood, /area/mothership/dorm4) @@ -4657,11 +4657,11 @@ /area/mothership/dorm5) "kF" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/wood, /area/mothership/dorm5) @@ -4673,11 +4673,11 @@ /area/mothership/dorm6) "kI" = ( /obj/structure/closet/wardrobe/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/machinery/atmospherics/component/unary/vent_scrubber/on, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/wood, /area/mothership/dorm6) @@ -6861,7 +6861,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, /turf/simulated/floor/tiled/techfloor, /area/mothership/holodeck) "pe" = ( @@ -7609,12 +7609,12 @@ dir = 1 }, /obj/structure/closet/emcloset/legacy, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/box/syndie_kit/space, /obj/item/storage/box/syndie_kit/space, /turf/simulated/floor/tiled/steel_grid, diff --git a/maps/templates/shuttles/overmaps/generic/overmap_ship_paperclipper.dmm b/maps/templates/shuttles/overmaps/generic/overmap_ship_paperclipper.dmm index faa824a293f2..9f01169a2c8e 100644 --- a/maps/templates/shuttles/overmaps/generic/overmap_ship_paperclipper.dmm +++ b/maps/templates/shuttles/overmaps/generic/overmap_ship_paperclipper.dmm @@ -705,10 +705,10 @@ /obj/effect/floor_decal/techfloor{ dir = 1 }, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/gps, /obj/item/tank/emergency/oxygen/engi, /obj/item/tank/emergency/oxygen/engi, diff --git a/maps/templates/shuttles/overmaps/generic/shelter_5.dmm b/maps/templates/shuttles/overmaps/generic/shelter_5.dmm index a6bd0886728c..d9a418460e44 100644 --- a/maps/templates/shuttles/overmaps/generic/shelter_5.dmm +++ b/maps/templates/shuttles/overmaps/generic/shelter_5.dmm @@ -44,10 +44,10 @@ /obj/effect/floor_decal/techfloor{ dir = 1 }, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/gps, /obj/item/tank/emergency/oxygen/engi, /obj/item/tank/emergency/oxygen/engi, diff --git a/maps/templates/shuttles/overmaps/generic/shelter_6.dmm b/maps/templates/shuttles/overmaps/generic/shelter_6.dmm index e8d947c2ddd0..35818b65b480 100644 --- a/maps/templates/shuttles/overmaps/generic/shelter_6.dmm +++ b/maps/templates/shuttles/overmaps/generic/shelter_6.dmm @@ -600,14 +600,14 @@ name = "Internals Locker"; pixel_y = -32 }, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, -/obj/item/storage/box/survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, +/obj/item/storage/box/legacy_survival/space, /obj/item/storage/toolbox/emergency, /obj/item/storage/toolbox/emergency, /obj/item/storage/toolbox/emergency, @@ -693,22 +693,22 @@ /obj/item/clothing/under/ert, /obj/item/clothing/under/ert, /obj/item/clothing/under/ert, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, -/obj/item/storage/box/survival/comp{ +/obj/item/storage/box/legacy_survival/comp{ starts_with = list(/obj/item/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/flashlight/glowstick,/obj/item/reagent_containers/food/snacks/wrapped/proteinbar,/obj/item/clothing/mask/breath,/obj/item/tank/emergency/oxygen/engi) }, /obj/item/perfect_tele, diff --git a/maps/tether/tether.dm b/maps/tether/tether.dm index 81c836e6d1dd..7b507168d94f 100644 --- a/maps/tether/tether.dm +++ b/maps/tether/tether.dm @@ -23,6 +23,7 @@ /datum/map/sector/frozen_192, /datum/map/sector/wasteland_192, /datum/map/sector/nebula_tradeport, + /datum/map/sector/delerict_casino, /datum/map/sector/surt, /datum/map/sector/miaphus, /datum/map/sector/roguemining_192/one, @@ -101,7 +102,7 @@ bot_patrolling = FALSE - allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage","Beruang Trading Corp Cryo") + allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage","Beruang Trading Corp Cryo","Nebula Visitor Arrival") spawnpoint_died = /datum/spawnpoint/tram spawnpoint_left = /datum/spawnpoint/tram spawnpoint_stayed = /datum/spawnpoint/cryo diff --git a/maps/triumph/engines.dm b/maps/triumph/engines.dm index b60a1920b55c..ace13e1b3324 100644 --- a/maps/triumph/engines.dm +++ b/maps/triumph/engines.dm @@ -15,12 +15,17 @@ suffix = "sme.dmm" display_name = list("Angry Rock", "The Forbidden Rock Candy", "Death Crystal", "Spicy Crystal") +// disabled because it only worked at all due to an atmos bug +// todo: proper simulation and math this shit out for joules released in total fuel +/* /datum/map_template/engine/triumph/burnchamber name = "ProcEngine_Triumph_Burn" desc = "Burn Chamber Engine" suffix = "burn.dmm" display_name = list("Toxins Lab", "We Knew You Liked Tether Fires, so we Brought One in a Box", "100 Solarmoths", "Teshari's Bane") +*/ +// disabled pending rework /* /datum/map_template/engine/triumph/fission name = "ProcEngine_Triumph_Fission" diff --git a/maps/triumph/levels/flagship.dmm b/maps/triumph/levels/flagship.dmm index 42fa92642510..b738ebc961bb 100644 --- a/maps/triumph/levels/flagship.dmm +++ b/maps/triumph/levels/flagship.dmm @@ -15084,14 +15084,14 @@ /area/centcom/security) "Vj" = ( /obj/structure/table/steel_reinforced, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, -/obj/item/storage/box/survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, +/obj/item/storage/box/legacy_survival/comp, /turf/unsimulated/floor{ icon_state = "dark" }, diff --git a/maps/triumph/triumph.dm b/maps/triumph/triumph.dm index d772bbdcebbf..0e2c0eabe9f4 100644 --- a/maps/triumph/triumph.dm +++ b/maps/triumph/triumph.dm @@ -22,6 +22,7 @@ /datum/map/sector/frozen_192, /datum/map/sector/wasteland_192, /datum/map/sector/nebula_tradeport, + /datum/map/sector/delerict_casino, /datum/map/sector/surt, /datum/map/sector/miaphus, /datum/map/sector/roguemining_192/one, @@ -99,7 +100,7 @@ bot_patrolling = FALSE - allowed_spawns = list(LATEJOIN_METHOD_ARRIVALS_SHUTTLE,LATEJOIN_METHOD_GATEWAY,LATEJOIN_METHOD_CRYOGENIC_STORAGE,LATEJOIN_METHOD_ROBOT_STORAGE,"Beruang Trading Corp Cryo") + allowed_spawns = list(LATEJOIN_METHOD_ARRIVALS_SHUTTLE,LATEJOIN_METHOD_GATEWAY,LATEJOIN_METHOD_CRYOGENIC_STORAGE,LATEJOIN_METHOD_ROBOT_STORAGE,"Beruang Trading Corp Cryo","Nebula Visitor Arrival") spawnpoint_died = /datum/spawnpoint/arrivals spawnpoint_left = /datum/spawnpoint/arrivals spawnpoint_stayed = /datum/spawnpoint/cryo diff --git a/sound/ambience/forest-ambience.ogg b/sound/ambience/forest-ambience.ogg new file mode 100644 index 000000000000..752f96330991 Binary files /dev/null and b/sound/ambience/forest-ambience.ogg differ diff --git a/sound/voice/Hevsounds/administering_medical.wav b/sound/voice/Hevsounds/administering_medical.wav new file mode 100644 index 000000000000..b5034a39651d Binary files /dev/null and b/sound/voice/Hevsounds/administering_medical.wav differ diff --git a/sound/voice/Hevsounds/adrenaline_shot.wav b/sound/voice/Hevsounds/adrenaline_shot.wav new file mode 100644 index 000000000000..ea09a88902a5 Binary files /dev/null and b/sound/voice/Hevsounds/adrenaline_shot.wav differ diff --git a/sound/voice/Hevsounds/antitoxin_shot.wav b/sound/voice/Hevsounds/antitoxin_shot.wav new file mode 100644 index 000000000000..b33d9a6f3bec Binary files /dev/null and b/sound/voice/Hevsounds/antitoxin_shot.wav differ diff --git a/sound/voice/Hevsounds/automedic_on.wav b/sound/voice/Hevsounds/automedic_on.wav new file mode 100644 index 000000000000..b4dbdc67b84e Binary files /dev/null and b/sound/voice/Hevsounds/automedic_on.wav differ diff --git a/sound/voice/Hevsounds/biohazard_detected.wav b/sound/voice/Hevsounds/biohazard_detected.wav new file mode 100644 index 000000000000..4dbfe2f7d741 Binary files /dev/null and b/sound/voice/Hevsounds/biohazard_detected.wav differ diff --git a/sound/voice/Hevsounds/blood_loss.wav b/sound/voice/Hevsounds/blood_loss.wav new file mode 100644 index 000000000000..50c276744402 Binary files /dev/null and b/sound/voice/Hevsounds/blood_loss.wav differ diff --git a/sound/voice/Hevsounds/blood_plasma.wav b/sound/voice/Hevsounds/blood_plasma.wav new file mode 100644 index 000000000000..5b2c73115c79 Binary files /dev/null and b/sound/voice/Hevsounds/blood_plasma.wav differ diff --git a/sound/voice/Hevsounds/blood_toxins.wav b/sound/voice/Hevsounds/blood_toxins.wav new file mode 100644 index 000000000000..52a03e1d3665 Binary files /dev/null and b/sound/voice/Hevsounds/blood_toxins.wav differ diff --git a/sound/voice/Hevsounds/chemical_detected.wav b/sound/voice/Hevsounds/chemical_detected.wav new file mode 100644 index 000000000000..5417cae08a61 Binary files /dev/null and b/sound/voice/Hevsounds/chemical_detected.wav differ diff --git a/sound/voice/Hevsounds/health_critical.wav b/sound/voice/Hevsounds/health_critical.wav new file mode 100644 index 000000000000..d2dcc4cdf1d9 Binary files /dev/null and b/sound/voice/Hevsounds/health_critical.wav differ diff --git a/sound/voice/Hevsounds/health_dropping.wav b/sound/voice/Hevsounds/health_dropping.wav new file mode 100644 index 000000000000..76f7ae9852ac Binary files /dev/null and b/sound/voice/Hevsounds/health_dropping.wav differ diff --git a/sound/voice/Hevsounds/health_dropping2.wav b/sound/voice/Hevsounds/health_dropping2.wav new file mode 100644 index 000000000000..254a764d50a9 Binary files /dev/null and b/sound/voice/Hevsounds/health_dropping2.wav differ diff --git a/sound/voice/Hevsounds/heat_damage.wav b/sound/voice/Hevsounds/heat_damage.wav new file mode 100644 index 000000000000..6f8b844d374d Binary files /dev/null and b/sound/voice/Hevsounds/heat_damage.wav differ diff --git a/sound/voice/Hevsounds/innsuficient_medical.wav b/sound/voice/Hevsounds/innsuficient_medical.wav new file mode 100644 index 000000000000..dfad3c4dbeae Binary files /dev/null and b/sound/voice/Hevsounds/innsuficient_medical.wav differ diff --git a/sound/voice/Hevsounds/internal_bleeding.wav b/sound/voice/Hevsounds/internal_bleeding.wav new file mode 100644 index 000000000000..e82a295cf069 Binary files /dev/null and b/sound/voice/Hevsounds/internal_bleeding.wav differ diff --git a/sound/voice/Hevsounds/major_fracture.wav b/sound/voice/Hevsounds/major_fracture.wav new file mode 100644 index 000000000000..e2759bdb3dcb Binary files /dev/null and b/sound/voice/Hevsounds/major_fracture.wav differ diff --git a/sound/voice/Hevsounds/major_lacerations.wav b/sound/voice/Hevsounds/major_lacerations.wav new file mode 100644 index 000000000000..90ea4a9513b0 Binary files /dev/null and b/sound/voice/Hevsounds/major_lacerations.wav differ diff --git a/sound/voice/Hevsounds/minor_fracture.wav b/sound/voice/Hevsounds/minor_fracture.wav new file mode 100644 index 000000000000..fe432d382e14 Binary files /dev/null and b/sound/voice/Hevsounds/minor_fracture.wav differ diff --git a/sound/voice/Hevsounds/minor_lacerations.wav b/sound/voice/Hevsounds/minor_lacerations.wav new file mode 100644 index 000000000000..9fd434ee7140 Binary files /dev/null and b/sound/voice/Hevsounds/minor_lacerations.wav differ diff --git a/sound/voice/Hevsounds/morphine_shot.wav b/sound/voice/Hevsounds/morphine_shot.wav new file mode 100644 index 000000000000..aba4f15c321e Binary files /dev/null and b/sound/voice/Hevsounds/morphine_shot.wav differ diff --git a/sound/voice/Hevsounds/near_death.wav b/sound/voice/Hevsounds/near_death.wav new file mode 100644 index 000000000000..f1b4e30cc58f Binary files /dev/null and b/sound/voice/Hevsounds/near_death.wav differ diff --git a/sound/voice/Hevsounds/radiation_detected.wav b/sound/voice/Hevsounds/radiation_detected.wav new file mode 100644 index 000000000000..c22971dd2669 Binary files /dev/null and b/sound/voice/Hevsounds/radiation_detected.wav differ diff --git a/sound/voice/Hevsounds/seek_medic.wav b/sound/voice/Hevsounds/seek_medic.wav new file mode 100644 index 000000000000..79dd1422c0fa Binary files /dev/null and b/sound/voice/Hevsounds/seek_medic.wav differ diff --git a/sound/voice/Hevsounds/shock_damage.wav b/sound/voice/Hevsounds/shock_damage.wav new file mode 100644 index 000000000000..7125358cd1e6 Binary files /dev/null and b/sound/voice/Hevsounds/shock_damage.wav differ diff --git a/sound/voice/Hevsounds/wound_sterilized.wav b/sound/voice/Hevsounds/wound_sterilized.wav new file mode 100644 index 000000000000..d2da281e12e2 Binary files /dev/null and b/sound/voice/Hevsounds/wound_sterilized.wav differ diff --git a/sql/README.md b/sql/README.md new file mode 100644 index 000000000000..193118249fc7 --- /dev/null +++ b/sql/README.md @@ -0,0 +1,38 @@ +# SQL + +The SQL database is managed by flyway. + +Migrations are in sql/migrations. + +## What happened to prefixes? + +Prefixes are no longer necessary. + +## How To Deal With Old Tables + +Data may **never** be destroyed by migrations, only deprecated. + +Prefix them with `legacy_`. + +## Table Groupings + +### Backend - `backend_` + +Backend store for server systems. Required for persistence to function and for metrics to be recorded. + +Contains: + +- Metrics +- Repositories +- Filestores + +### Character - `character_` + +Character store. Required for character persistence and fast character setup handling. + +Contains: + +- Characters +- Character records +- Character persistence +- Character things in general diff --git a/SQL/database_schema_prefixed.sql b/sql/migrations/V1.0.1__PrepLegacyTables.sql similarity index 94% rename from SQL/database_schema_prefixed.sql rename to sql/migrations/V1.0.1__PrepLegacyTables.sql index 58b5b32cc103..f0b9dfa48ec9 100644 --- a/SQL/database_schema_prefixed.sql +++ b/sql/migrations/V1.0.1__PrepLegacyTables.sql @@ -1,3 +1,5 @@ +-- DIRECT RIP FROM OLD PREFIXED TABLES FILE!! -- + /** * make sure to bump schema version and mark changes in database_changelog.md! * @@ -184,13 +186,13 @@ CREATE TABLE IF NOT EXISTS `rp_playtime_log` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; DELIMITER $$ -CREATE TRIGGER `playtimeTlogupdate` AFTER UPDATE ON `rp_playtime` FOR EACH ROW BEGIN INSERT into `rp_playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes-OLD.minutes); +CREATE TRIGGER IF NOT EXISTS `playtimeTlogupdate` AFTER UPDATE ON `rp_playtime` FOR EACH ROW BEGIN INSERT into `rp_playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes-OLD.minutes); END $$ -CREATE TRIGGER `playtimeTloginsert` AFTER INSERT ON `rp_playtime` FOR EACH ROW BEGIN INSERT into `rp_playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes); +CREATE TRIGGER IF NOT EXISTS `playtimeTloginsert` AFTER INSERT ON `rp_playtime` FOR EACH ROW BEGIN INSERT into `rp_playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes); END $$ -CREATE TRIGGER `playtimeTlogdelete` AFTER DELETE ON `rp_playtime` FOR EACH ROW BEGIN INSERT into `rp_playtime_log` (player, roleid, delta) VALUES (OLD.player, OLD.roleid, 0-OLD.minutes); +CREATE TRIGGER IF NOT EXISTS `playtimeTlogdelete` AFTER DELETE ON `rp_playtime` FOR EACH ROW BEGIN INSERT into `rp_playtime_log` (player, roleid, delta) VALUES (OLD.player, OLD.roleid, 0-OLD.minutes); END $$ DELIMITER ; @@ -381,13 +383,6 @@ CREATE TABLE IF NOT EXISTS `rp_privacy` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -CREATE TABLE IF NOT EXISTS `rp_vr_player_hours` ( - `ckey` varchar(32) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, - `department` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, - `hours` double NOT NULL, - PRIMARY KEY (`ckey`,`department`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; - CREATE TABLE IF NOT EXISTS `rp_death` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `pod` TEXT NOT NULL COMMENT 'Place of death' , diff --git a/sql/migrations/V1.0.2__DeprefixTables.sql b/sql/migrations/V1.0.2__DeprefixTables.sql new file mode 100644 index 000000000000..5f8f6eaedecb --- /dev/null +++ b/sql/migrations/V1.0.2__DeprefixTables.sql @@ -0,0 +1,33 @@ +RENAME TABLE `rp_schema_revision` TO `schema_revision`; +RENAME TABLE `rp_persistence_bulk_entity` TO `persistence_bulk_entity`; +RENAME TABLE `rp_persistence_static_level_objects` TO `persistence_static_level_objects`; +RENAME TABLE `rp_persistence_static_map_objects` TO `persistence_static_map_objects`; +RENAME TABLE `rp_persistence_static_global_objects` TO `persistence_static_global_objects`; +RENAME TABLE `rp_persistence_dynamic_objects` TO `persistence_dynamic_objects`; +RENAME TABLE `rp_persistence_level_metadata` TO `persistence_level_metadata`; +RENAME TABLE `rp_persistence_string_kv` TO `persistence_string_kv`; +RENAME TABLE `rp_pictures` TO `pictures`; +RENAME TABLE `rp_photographs` TO `photographs`; +RENAME TABLE `rp_player_lookup` TO `player_lookup`; +RENAME TABLE `rp_player` TO `player`; +RENAME TABLE `rp_playtime` TO `playtime`; +RENAME TABLE `rp_playtime_log` TO `playtime_log`; +RENAME TABLE `rp_game_preferences` TO `game_preferences`; +RENAME TABLE `rp_ipintel` TO `ipintel`; +RENAME TABLE `rp_round` TO `round`; +RENAME TABLE `rp_connection_log` TO `connection_log`; +RENAME TABLE `rp_character` TO `character`; +RENAME TABLE `rp_admin` TO `admin`; +RENAME TABLE `rp_admin_log` TO `admin_log`; +RENAME TABLE `rp_ban` TO `ban`; +RENAME TABLE `rp_feedback` TO `feedback`; +RENAME TABLE `rp_poll_option` TO `poll_option`; +RENAME TABLE `rp_poll_question` TO `poll_question`; +RENAME TABLE `rp_poll_textreply` TO `poll_textreply`; +RENAME TABLE `rp_poll_vote` TO `poll_vote`; +RENAME TABLE `rp_privacy` TO `privacy`; +RENAME TABLE `rp_death` TO `death`; +RENAME TABLE `rp_karma` TO `karma`; +RENAME TABLE `rp_karmatotals` TO `karmatotals`; +RENAME TABLE `rp_library` TO `library`; +RENAME TABLE `rp_population` TO `population`; diff --git a/sql/migrations/V1.0.3__RemakePlaytimeTriggerJustInCase.sql b/sql/migrations/V1.0.3__RemakePlaytimeTriggerJustInCase.sql new file mode 100644 index 000000000000..83c30bd678cd --- /dev/null +++ b/sql/migrations/V1.0.3__RemakePlaytimeTriggerJustInCase.sql @@ -0,0 +1,15 @@ +DROP TRIGGER IF EXISTS `playtimeTlogupdate`; +DROP TRIGGER IF EXISTS `playtimeTloginsert`; +DROP TRIGGER IF EXISTS `playtimeTlogdelete`; + +DELIMITER $$ +CREATE TRIGGER `playtimeTlogupdate` AFTER UPDATE ON `playtime` FOR EACH ROW BEGIN INSERT into `playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes-OLD.minutes); +END +$$ +CREATE TRIGGER `playtimeTloginsert` AFTER INSERT ON `playtime` FOR EACH ROW BEGIN INSERT into `playtime_log` (player, roleid, delta) VALUES (NEW.player, NEW.roleid, NEW.minutes); +END +$$ +CREATE TRIGGER `playtimeTlogdelete` AFTER DELETE ON `playtime` FOR EACH ROW BEGIN INSERT into `playtime_log` (player, roleid, delta) VALUES (OLD.player, OLD.roleid, 0-OLD.minutes); +END +$$ +DELIMITER ; diff --git a/sql/migrations/V1.0.4__AddRepositoryStore.sql b/sql/migrations/V1.0.4__AddRepositoryStore.sql new file mode 100644 index 000000000000..cec9f077dba7 --- /dev/null +++ b/sql/migrations/V1.0.4__AddRepositoryStore.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS `backend_repository` ( + `repository` VARCHAR(64) NOT NULL, + `id` VARCHAR(128) NOT NULL, + `version` INT(11) NOT NULL, + `data` MEDIUMTEXT NOT NULL, + `createdTime` DATETIME NOT NULL DEFAULT Now(), + `modifiedTime` DATETIME NOT NULL DEFAULT Now(), + PRIMARY KEY(`repository`, `id`), + INDEX(`repository`), + INDEX(`id`) +) diff --git a/tgui/packages/tgui/interfaces/Clipboard.js b/tgui/packages/tgui/interfaces/Clipboard.tsx similarity index 77% rename from tgui/packages/tgui/interfaces/Clipboard.js rename to tgui/packages/tgui/interfaces/Clipboard.tsx index 15c1fdebee0b..7b48999a5a37 100644 --- a/tgui/packages/tgui/interfaces/Clipboard.js +++ b/tgui/packages/tgui/interfaces/Clipboard.tsx @@ -1,16 +1,28 @@ +import { BooleanLike } from "common/react"; import { useBackend } from "../backend"; import { Box, Button, Divider, - LabeledList, Flex, + LabeledList, Section, } from "../components"; import { Window } from "../layouts"; +type Data = { + pen: string; + integrated_pen: BooleanLike; + top_paper: string; + top_paper_ref: string; + paper: string[]; + paper_ref: string[]; + photo: string[]; + photo_ref: string[]; +}; + export const Clipboard = (props, context) => { - const { act, data } = useBackend(context); + const { act, data } = useBackend(context); const { pen, integrated_pen, @@ -18,6 +30,8 @@ export const Clipboard = (props, context) => { top_paper_ref, paper, paper_ref, + photo, + photo_ref, } = data; return ( @@ -112,6 +126,26 @@ export const Clipboard = (props, context) => { ))} + {photo.length > 0 && } + {photo.map((photo_item, index) => ( + + + {photo_item} + + +