diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 97e2a74364..3e2742de11 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -233,6 +233,8 @@ This prevents nesting levels from getting deeper then they need to be. * All changes to the database's layout(schema) must be specified in the database changelog in SQL, as well as reflected in the schema files +* Any time the schema is changed the `schema_revision` table and `DB_MAJOR_VERSION` or `DB_MINOR_VERSION` defines must be incremented. + * Queries must never specify the database, be it in code, or in text files in the repo. @@ -246,6 +248,8 @@ This prevents nesting levels from getting deeper then they need to be. * Do not divide when you can easily convert it to multiplication. (ie `4/2` should be done as `4*0.5`) +* If you used regex to replace code during development of your code, post the regex in your PR for the benefit of future developers and downstream users. + #### Enforced not enforced The following coding styles are not only not enforced at all, but are generally frowned upon to change for little to no reason: diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt index 5d3c3ccec2..c2625e2663 100644 --- a/SQL/database_changelog.txt +++ b/SQL/database_changelog.txt @@ -1,17 +1,124 @@ +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 3.1; The query to update the schema revision table is: + +INSERT INTO `schema_revision` (`major`, `minor`) VALUES (3, 1); +or +INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (3, 1); + +---------------------------------------------------- + + +20th July 2017, by Shadowlight213 +Added role_time table to track time spent playing departments. +Also, added flags column to the player table. + +CREATE TABLE `role_time` ( `ckey` VARCHAR(32) NOT NULL , `job` VARCHAR(128) NOT NULL , `minutes` INT UNSIGNED NOT NULL, PRIMARY KEY (`ckey`, `job`) ) ENGINE = InnoDB; + +ALTER TABLE `player` ADD `flags` INT NOT NULL default '0' AFTER `accountjoindate`; + + +UPDATE `schema_revision` SET minor = 1; +Remember to add a prefix to the table name if you use them. + +---------------------------------------------------- + +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 3.0; The query to update the schema revision table is: + +INSERT INTO `schema_revision` (`major`, `minor`) VALUES (3, 0); +or +INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (3, 0); + +---------------------------------------------------- +28 June 2017, by oranges +Added schema_revision to store the current db revision, why start at 3.0? + +because: +15:09 <+MrStonedOne> 1.0 was erro, 2.0 was when i removed erro_, 3.0 was when jordie made all the strings that hold numbers numbers + +CREATE TABLE `schema_revision` ( +`major` TINYINT(3) UNSIGNED NOT NULL , +`minor` TINYINT(3) UNSIGNED NOT NULL , +`date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, +PRIMARY KEY ( `major`,`minor` ) +) ENGINE = INNODB; + +INSERT INTO `schema_revision` (`major`, `minor`) VALUES (3, 0); + +Remember to add a prefix to the table name if you use them. + +---------------------------------------------------- + +26 June 2017, by Jordie0608 + +Modified table 'poll_option', adding the column 'default_percentage_calc'. + +ALTER TABLE `poll_option` ADD COLUMN `default_percentage_calc` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' AFTER `descmax` + +Remember to add a prefix to the table name if you use them. + +---------------------------------------------------- + +22 June 2017, by Jordie0608 + +Modified table 'poll_option', removing the column 'percentagecalc'. + +ALTER TABLE `poll_option` DROP COLUMN `percentagecalc` + +Remember to add a prefix to the table name if you use them. + +---------------------------------------------------- + +8 June 2017, by Jordie0608 + +Modified table 'death', adding column 'round_id', removing column 'gender' and replacing column 'coord' with the columns 'x_coord', 'y_coord' and 'z_coord'. + +START TRANSACTION; +ALTER TABLE `death` DROP COLUMN `gender`, ADD COLUMN `x_coord` SMALLINT(5) UNSIGNED NOT NULL AFTER `coord`, ADD COLUMN `y_coord` SMALLINT(5) UNSIGNED NOT NULL AFTER `x_coord`, ADD COLUMN `z_coord` SMALLINT(5) UNSIGNED NOT NULL AFTER `y_coord`, ADD COLUMN `round_id` INT(11) NOT NULL AFTER `server_port`; +SET SQL_SAFE_UPDATES = 0; +UPDATE `death` SET `x_coord` = SUBSTRING_INDEX(`coord`, ',', 1), `y_coord` = SUBSTRING_INDEX(SUBSTRING_INDEX(`coord`, ',', 2), ',', -1), `z_coord` = SUBSTRING_INDEX(`coord`, ',', -1); +SET SQL_SAFE_UPDATES = 1; +ALTER TABLE `death` DROP COLUMN `coord`; +COMMIT; + +Remember to add a prefix to the table name if you use them. + +--------------------------------------------------- + +30 May 2017, by MrStonedOne + +Z levels changed, this query allows you to convert old ss13 death records: + +UPDATE death SET coord = CONCAT(SUBSTRING_INDEX(coord, ',', 2), ', ', CASE TRIM(SUBSTRING_INDEX(coord, ',', -1)) WHEN 1 THEN 2 WHEN 2 THEN 1 ELSE TRIMSUBSTRING_INDEX(coord, ',', -1) END) + +--------------------------------------------------- + +26 May 2017, by Jordie0608 + +Modified table 'ban', adding the column 'round_id'. + +ALTER TABLE `ban` ADD COLUMN `round_id` INT(11) NOT NULL AFTER `server_port` + +Remember to add a prefix to the table name if you use them. + +---------------------------------------------------- + 20 May 2017, by Jordie0608 Created table `round` to replace tracking of the datapoints 'round_start', 'round_end', 'server_ip', 'game_mode', 'round_end_results', 'end_error', 'end_proper', 'emergency_shuttle', 'map_name' and 'station_renames' in the `feedback` table. Once created this table is populated with rows from the `feedback` table. START TRANSACTION; -CREATE TABLE `feedback`.`round` (`id` INT(11) NOT NULL AUTO_INCREMENT, `start_datetime` DATETIME NOT NULL, `end_datetime` DATETIME NULL, `server_ip` INT(10) UNSIGNED NOT NULL, `server_port` SMALLINT(5) UNSIGNED NOT NULL, `commit_hash` CHAR(40) NULL, `game_mode` VARCHAR(32) NULL, `game_mode_result` VARCHAR(64) NULL, `end_state` VARCHAR(64) NULL, `shuttle_name` VARCHAR(64) NULL, `map_name` VARCHAR(32) NULL, `station_name` VARCHAR(80) NULL, PRIMARY KEY (`id`)); -ALTER TABLE `feedback`.`feedback` ADD INDEX `tmp` (`round_id` ASC, `var_name` ASC); -INSERT INTO `feedback`.`round` +CREATE TABLE `round` (`id` INT(11) NOT NULL AUTO_INCREMENT, `start_datetime` DATETIME NOT NULL, `end_datetime` DATETIME NULL, `server_ip` INT(10) UNSIGNED NOT NULL, `server_port` SMALLINT(5) UNSIGNED NOT NULL, `commit_hash` CHAR(40) NULL, `game_mode` VARCHAR(32) NULL, `game_mode_result` VARCHAR(64) NULL, `end_state` VARCHAR(64) NULL, `shuttle_name` VARCHAR(64) NULL, `map_name` VARCHAR(32) NULL, `station_name` VARCHAR(80) NULL, PRIMARY KEY (`id`)); +ALTER TABLE `feedback` ADD INDEX `tmp` (`round_id` ASC, `var_name` ASC); +INSERT INTO `round` (`id`, `start_datetime`, `end_datetime`, `server_ip`, `server_port`, `commit_hash`, `game_mode`, `game_mode_result`, `end_state`, `shuttle_name`, `map_name`, `station_name`) SELECT DISTINCT ri.round_id, IFNULL(STR_TO_DATE(st.details,'%a %b %e %H:%i:%s %Y'), TIMESTAMP(0)), STR_TO_DATE(et.details,'%a %b %e %H:%i:%s %Y'), IFNULL(INET_ATON(SUBSTRING_INDEX(IF(si.details = '', '0', IF(SUBSTRING_INDEX(si.details, ':', 1) LIKE '%_._%', si.details, '0')), ':', 1)), INET_ATON(0)), IFNULL(IF(si.details LIKE '%:_%', CAST(SUBSTRING_INDEX(si.details, ':', -1) AS UNSIGNED), '0'), '0'), ch.details, gm.details, mr.details, IFNULL(es.details, ep.details), ss.details, mn.details, sn.details -FROM `feedback`.`feedback`AS ri -LEFT JOIN `feedback`.`feedback` AS st ON ri.round_id = st.round_id AND st.var_name = "round_start" LEFT JOIN `feedback`.`feedback` AS et ON ri.round_id = et.round_id AND et.var_name = "round_end" LEFT JOIN `feedback`.`feedback` AS si ON ri.round_id = si.round_id AND si.var_name = "server_ip" LEFT JOIN `feedback`.`feedback` AS ch ON ri.round_id = ch.round_id AND ch.var_name = "revision" LEFT JOIN `feedback`.`feedback` AS gm ON ri.round_id = gm.round_id AND gm.var_name = "game_mode" LEFT JOIN `feedback`.`feedback` AS mr ON ri.round_id = mr.round_id AND mr.var_name = "round_end_result" LEFT JOIN `feedback`.`feedback` AS es ON ri.round_id = es.round_id AND es.var_name = "end_state" LEFT JOIN `feedback`.`feedback` AS ep ON ri.round_id = ep.round_id AND ep.var_name = "end_proper" LEFT JOIN `feedback`.`feedback` AS ss ON ri.round_id = ss.round_id AND ss.var_name = "emergency_shuttle" LEFT JOIN `feedback`.`feedback` AS mn ON ri.round_id = mn.round_id AND mn.var_name = "map_name" LEFT JOIN `feedback`.`feedback` AS sn ON ri.round_id = sn.round_id AND sn.var_name = "station_renames"; -ALTER TABLE `feedback`.`feedback` DROP INDEX `tmp`; +FROM `feedback`AS ri +LEFT JOIN `feedback` AS st ON ri.round_id = st.round_id AND st.var_name = "round_start" LEFT JOIN `feedback` AS et ON ri.round_id = et.round_id AND et.var_name = "round_end" LEFT JOIN `feedback` AS si ON ri.round_id = si.round_id AND si.var_name = "server_ip" LEFT JOIN `feedback` AS ch ON ri.round_id = ch.round_id AND ch.var_name = "revision" LEFT JOIN `feedback` AS gm ON ri.round_id = gm.round_id AND gm.var_name = "game_mode" LEFT JOIN `feedback` AS mr ON ri.round_id = mr.round_id AND mr.var_name = "round_end_result" LEFT JOIN `feedback` AS es ON ri.round_id = es.round_id AND es.var_name = "end_state" LEFT JOIN `feedback` AS ep ON ri.round_id = ep.round_id AND ep.var_name = "end_proper" LEFT JOIN `feedback` AS ss ON ri.round_id = ss.round_id AND ss.var_name = "emergency_shuttle" LEFT JOIN `feedback` AS mn ON ri.round_id = mn.round_id AND mn.var_name = "map_name" LEFT JOIN `feedback` AS sn ON ri.round_id = sn.round_id AND sn.var_name = "station_renames"; +ALTER TABLE `feedback` DROP INDEX `tmp`; COMMIT; It's not necessary to delete the rows from the `feedback` table but henceforth these datapoints will be in the `round` table. @@ -24,19 +131,18 @@ Remember to add a prefix to the table names if you use them Modified table 'player', adding the column 'accountjoindate', removing the column 'id' and making the column 'ckey' the primary key. -ALTER TABLE `feedback`.`player` DROP COLUMN `id`, ADD COLUMN `accountjoindate` DATE NULL AFTER `lastadminrank`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`), DROP INDEX `ckey`; +ALTER TABLE `player` DROP COLUMN `id`, ADD COLUMN `accountjoindate` DATE NULL AFTER `lastadminrank`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`), DROP INDEX `ckey`; Remember to add a prefix to the table name if you use them. ---------------------------------------------------- - 10 March 2017, by Jordie0608 Modified table 'death', adding the columns 'toxloss', 'cloneloss', and 'staminaloss' and table 'legacy_population', adding the columns 'server_ip' and 'server_port'. -ALTER TABLE `feedback`.`death` ADD COLUMN `toxloss` SMALLINT(5) UNSIGNED NOT NULL AFTER `oxyloss`, ADD COLUMN `cloneloss` SMALLINT(5) UNSIGNED NOT NULL AFTER `toxloss`, ADD COLUMN `staminaloss` SMALLINT(5) UNSIGNED NOT NULL AFTER `cloneloss`; +ALTER TABLE `death` ADD COLUMN `toxloss` SMALLINT(5) UNSIGNED NOT NULL AFTER `oxyloss`, ADD COLUMN `cloneloss` SMALLINT(5) UNSIGNED NOT NULL AFTER `toxloss`, ADD COLUMN `staminaloss` SMALLINT(5) UNSIGNED NOT NULL AFTER `cloneloss`; -ALTER TABLE `feedback`.`legacy_population` ADD COLUMN `server_ip` INT(10) UNSIGNED NOT NULL AFTER `time`, ADD COLUMN `server_port` SMALLINT(5) UNSIGNED NOT NULL AFTER `server_ip`; +ALTER TABLE `legacy_population` ADD COLUMN `server_ip` INT(10) UNSIGNED NOT NULL AFTER `time`, ADD COLUMN `server_port` SMALLINT(5) UNSIGNED NOT NULL AFTER `server_ip`; Remember to add a prefix to the table name if you use them. @@ -68,18 +174,18 @@ Created table 'messages' to supersede the 'notes', 'memos', and 'watchlist' tabl To create this new table run the following command: -CREATE TABLE `feedback`.`messages` (`id` INT(11) NOT NULL AUTO_INCREMENT , `type` VARCHAR(32) NOT NULL , `targetckey` VARCHAR(32) NOT NULL , `adminckey` VARCHAR(32) NOT NULL , `text` TEXT NOT NULL , `timestamp` DATETIME NOT NULL , `server` VARCHAR(32) NULL , `secret` TINYINT(1) NULL DEFAULT 1 , `lasteditor` VARCHAR(32) NULL , `edits` TEXT NULL , PRIMARY KEY (`id`) ) +CREATE TABLE `messages` (`id` INT(11) NOT NULL AUTO_INCREMENT , `type` VARCHAR(32) NOT NULL , `targetckey` VARCHAR(32) NOT NULL , `adminckey` VARCHAR(32) NOT NULL , `text` TEXT NOT NULL , `timestamp` DATETIME NOT NULL , `server` VARCHAR(32) NULL , `secret` TINYINT(1) NULL DEFAULT 1 , `lasteditor` VARCHAR(32) NULL , `edits` TEXT NULL , PRIMARY KEY (`id`) ) To copy the contents of the 'notes', 'memos', and 'watchlist' tables to this new table run the following commands: -INSERT INTO `feedback`.`messages` -(`id`,`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`server`,`secret`,`lasteditor`,`edits`) SELECT `id`, "note", `ckey`, `adminckey`, `notetext`, `timestamp`, `server`, `secret`, `last_editor`, `edits` FROM `feedback`.`notes` +INSERT INTO `messages` +(`id`,`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`server`,`secret`,`lasteditor`,`edits`) SELECT `id`, "note", `ckey`, `adminckey`, `notetext`, `timestamp`, `server`, `secret`, `last_editor`, `edits` FROM `notes` -INSERT INTO `feedback`.`messages` -(`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`lasteditor`,`edits`) SELECT "memo", `ckey`, `ckey`, `memotext`, `timestamp`, `last_editor`, `edits` FROM `feedback`.`memo` +INSERT INTO `messages` +(`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`lasteditor`,`edits`) SELECT "memo", `ckey`, `ckey`, `memotext`, `timestamp`, `last_editor`, `edits` FROM `memo` -INSERT INTO `feedback`.`messages` -(`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`lasteditor`,`edits`) SELECT "watchlist entry", `ckey`, `adminckey`, `reason`, `timestamp`, `last_editor`, `edits` FROM `feedback`.`watch` +INSERT INTO `messages` +(`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`lasteditor`,`edits`) SELECT "watchlist entry", `ckey`, `adminckey`, `reason`, `timestamp`, `last_editor`, `edits` FROM `watch` It's not necessary to delete the 'notes', 'memos', and 'watchlist' tables but they will no longer be used. @@ -91,7 +197,7 @@ Remember to add a prefix to the table names if you use them Modified table 'notes', adding column 'secret'. -ALTER TABLE `feedback`.`notes` ADD COLUMN `secret` TINYINT(1) NOT NULL DEFAULT '1' AFTER `server` +ALTER TABLE `notes` ADD COLUMN `secret` TINYINT(1) NOT NULL DEFAULT '1' AFTER `server` Remember to add a prefix to the table name if you use them @@ -101,7 +207,7 @@ Remember to add a prefix to the table name if you use them Changed appearance bans to be jobbans. -UPDATE 'feedback'.`ban` SET `job` = "appearance", `bantype` = "JOB_PERMABAN" WHERE `bantype` = "APPEARANCE_PERMABAN" +UPDATE `ban` SET `job` = "appearance", `bantype` = "JOB_PERMABAN" WHERE `bantype` = "APPEARANCE_PERMABAN" Remember to add a prefix to the table name if you use them @@ -111,7 +217,7 @@ Remember to add a prefix to the table name if you use them Modified table 'poll_question', adding column 'dontshow' which was recently added to the server schema. -ALTER TABLE `feedback`.`poll_question` ADD COLUMN `dontshow` TINYINT(1) NOT NULL DEFAULT '0' AFTER `for_trialmin` +ALTER TABLE `poll_question` ADD COLUMN `dontshow` TINYINT(1) NOT NULL DEFAULT '0' AFTER `for_trialmin` Remember to add a prefix to the table name if you use them @@ -121,7 +227,7 @@ Remember to add a prefix to the table name if you use them Added ipintel table, only required if ip intel is enabled in the config -CREATE TABLE `ipintel` ( +CREATE TABLE `ipintel` ( `ip` INT UNSIGNED NOT NULL , `date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL , `intel` REAL NOT NULL DEFAULT '0', @@ -134,7 +240,7 @@ PRIMARY KEY ( `ip` ) Modified table 'poll_question', adding columns 'createdby_ckey', 'createdby_ip' and 'for_trialmin' to bring it inline with the schema used by the tg servers. -ALTER TABLE `feedback`.`poll_question` ADD COLUMN `createdby_ckey` VARCHAR(45) NULL DEFAULT NULL AFTER `multiplechoiceoptions`, ADD COLUMN `createdby_ip` VARCHAR(45) NULL DEFAULT NULL AFTER `createdby_ckey`, ADD COLUMN `for_trialmin` VARCHAR(45) NULL DEFAULT NULL AFTER `createdby_ip` +ALTER TABLE `poll_question` ADD COLUMN `createdby_ckey` VARCHAR(45) NULL DEFAULT NULL AFTER `multiplechoiceoptions`, ADD COLUMN `createdby_ip` VARCHAR(45) NULL DEFAULT NULL AFTER `createdby_ckey`, ADD COLUMN `for_trialmin` VARCHAR(45) NULL DEFAULT NULL AFTER `createdby_ip` Remember to add a prefix to the table name if you use them @@ -144,7 +250,7 @@ Remember to add a prefix to the table name if you use them Modified table 'watch', removing 'id' column, making 'ckey' primary and adding the columns 'timestamp', 'adminckey', 'last_editor' and 'edits'. -ALTER TABLE `feedback`.`watch` DROP COLUMN `id`, ADD COLUMN `timestamp` datetime NOT NULL AFTER `reason`, ADD COLUMN `adminckey` varchar(32) NOT NULL AFTER `timestamp`, ADD COLUMN `last_editor` varchar(32) NULL AFTER `adminckey`, ADD COLUMN `edits` text NULL AFTER `last_editor`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`) +ALTER TABLE `watch` DROP COLUMN `id`, ADD COLUMN `timestamp` datetime NOT NULL AFTER `reason`, ADD COLUMN `adminckey` varchar(32) NOT NULL AFTER `timestamp`, ADD COLUMN `last_editor` varchar(32) NULL AFTER `adminckey`, ADD COLUMN `edits` text NULL AFTER `last_editor`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`) Remember to add a prefix to the table name if you use them. @@ -166,7 +272,7 @@ Remember to add prefix to the table name if you use them. Modified table 'memo', removing 'id' column and making 'ckey' primary. -ALTER TABLE `feedback`.`memo` DROP COLUMN `id`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`) +ALTER TABLE `memo` DROP COLUMN `id`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`) Remember to add prefix to the table name if you use them. diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index 72973fb124..12b0b93c6a 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -1,6 +1,3 @@ -CREATE DATABASE IF NOT EXISTS `feedback` /*!40100 DEFAULT CHARACTER SET latin1 */; -USE `feedback`; - /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; @@ -74,6 +71,7 @@ CREATE TABLE `ban` ( `bantime` datetime NOT NULL, `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) NOT NULL, `bantype` enum('PERMABAN','TEMPBAN','JOB_PERMABAN','JOB_TEMPBAN','ADMIN_PERMABAN','ADMIN_TEMPBAN') NOT NULL, `reason` varchar(2048) NOT NULL, `job` varchar(32) DEFAULT NULL, @@ -120,7 +118,6 @@ CREATE TABLE `connection_log` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; - -- -- Table structure for table `death` -- @@ -137,7 +134,7 @@ CREATE TABLE `death` ( `mapname` varchar(32) NOT NULL, `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) unsigned NOT NULL, - `round_id` int(11) NOT NULL + `round_id` int(11) NOT NULL, `tod` datetime NOT NULL COMMENT 'Time of death', `job` varchar(32) NOT NULL, `special` varchar(32) DEFAULT NULL, @@ -152,11 +149,12 @@ CREATE TABLE `death` ( `toxloss` smallint(5) unsigned NOT NULL, `cloneloss` smallint(5) unsigned NOT NULL, `staminaloss` smallint(5) unsigned NOT NULL, + `last_words` varchar(255) DEFAULT NULL, + `suicide` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; - -- -- Table structure for table `feedback` -- @@ -263,6 +261,21 @@ CREATE TABLE `messages` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; +-- +-- Table structure for table `role_time` +-- + +DROP TABLE IF EXISTS `role_time`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; + +CREATE TABLE `role_time` +( `ckey` VARCHAR(32) NOT NULL , + `job` VARCHAR(32) NOT NULL , + `minutes` INT UNSIGNED NOT NULL, + PRIMARY KEY (`ckey`, `job`) + ) ENGINE = InnoDB; + -- -- Table structure for table `player` -- @@ -280,6 +293,7 @@ CREATE TABLE `player` ( `computerid` varchar(32) NOT NULL, `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', `accountjoindate` DATE DEFAULT NULL, + `flags` smallint(5) unsigned DEFAULT '0' NOT NULL, PRIMARY KEY (`ckey`), KEY `idx_player_cid_ckey` (`computerid`,`ckey`), KEY `idx_player_ip_ckey` (`ip`,`ckey`) @@ -297,12 +311,12 @@ CREATE TABLE `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, + `default_percentage_calc` tinyint(1) unsigned NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `idx_pop_pollid` (`pollid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; @@ -399,6 +413,17 @@ CREATE TABLE `round` ( /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +-- +-- Table structure for table `schema_revision` +-- +DROP TABLE IF EXISTS `schema_revision`; +CREATE TABLE `schema_revision` ( + `major` TINYINT(3) unsigned NOT NULL, + `minor` TINYINT(3) unsigned NOT NULL, + `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`major`, `minor`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; diff --git a/SQL/tgstation_schema.sql.rej b/SQL/tgstation_schema.sql.rej new file mode 100644 index 0000000000..51068bed4e --- /dev/null +++ b/SQL/tgstation_schema.sql.rej @@ -0,0 +1,9 @@ +diff a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql (rejected hunks) +@@ -268,7 +283,6 @@ CREATE TABLE `player` ( + `ip` int(10) unsigned NOT NULL, + `computerid` varchar(32) NOT NULL, + `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', +- `exp` mediumtext, + PRIMARY KEY (`id`), + UNIQUE KEY `ckey` (`ckey`), + KEY `idx_player_cid_ckey` (`computerid`,`ckey`), diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql index 8cbca053cc..6c8ea19b0f 100644 --- a/SQL/tgstation_schema_prefixed.sql +++ b/SQL/tgstation_schema_prefixed.sql @@ -1,6 +1,3 @@ -CREATE DATABASE IF NOT EXISTS `feedback` /*!40100 DEFAULT CHARACTER SET latin1 */; -USE `feedback`; - /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; @@ -74,6 +71,7 @@ CREATE TABLE `SS13_ban` ( `bantime` datetime NOT NULL, `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) NOT NULL, `bantype` enum('PERMABAN','TEMPBAN','JOB_PERMABAN','JOB_TEMPBAN','ADMIN_PERMABAN','ADMIN_TEMPBAN') NOT NULL, `reason` varchar(2048) NOT NULL, `job` varchar(32) DEFAULT NULL, @@ -130,10 +128,13 @@ DROP TABLE IF EXISTS `SS13_death`; CREATE TABLE `SS13_death` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pod` varchar(50) NOT NULL, - `coord` varchar(32) NOT NULL, + `x_coord` smallint(5) unsigned NOT NULL, + `y_coord` smallint(5) unsigned NOT NULL, + `z_coord` smallint(5) unsigned NOT NULL, `mapname` varchar(32) NOT NULL, `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) NOT NULL, `tod` datetime NOT NULL COMMENT 'Time of death', `job` varchar(32) NOT NULL, `special` varchar(32) DEFAULT NULL, @@ -141,7 +142,6 @@ CREATE TABLE `SS13_death` ( `byondkey` varchar(32) NOT NULL, `laname` varchar(96) DEFAULT NULL, `lakey` varchar(32) DEFAULT NULL, - `gender` enum('neuter','male','female','plural') NOT NULL, `bruteloss` smallint(5) unsigned NOT NULL, `brainloss` smallint(5) unsigned NOT NULL, `fireloss` smallint(5) unsigned NOT NULL, @@ -149,6 +149,8 @@ CREATE TABLE `SS13_death` ( `toxloss` smallint(5) unsigned NOT NULL, `cloneloss` smallint(5) unsigned NOT NULL, `staminaloss` smallint(5) unsigned NOT NULL, + `last_words` varchar(255) DEFAULT NULL, + `suicide` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; @@ -259,6 +261,21 @@ CREATE TABLE `SS13_messages` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; +-- +-- Table structure for table `SS13_role_time` +-- + +DROP TABLE IF EXISTS `SS13_role_time`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; + +CREATE TABLE `SS13_role_time` +( `ckey` VARCHAR(32) NOT NULL , + `job` VARCHAR(32) NOT NULL , + `minutes` INT UNSIGNED NOT NULL, + PRIMARY KEY (`ckey`, `job`) + ) ENGINE = InnoDB; + -- -- Table structure for table `SS13_player` -- @@ -276,6 +293,7 @@ CREATE TABLE `SS13_player` ( `computerid` varchar(32) NOT NULL, `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', `accountjoindate` DATE DEFAULT NULL, + `flags` smallint(5) unsigned DEFAULT '0' NOT NULL, PRIMARY KEY (`ckey`), KEY `idx_player_cid_ckey` (`computerid`,`ckey`), KEY `idx_player_ip_ckey` (`ip`,`ckey`) @@ -293,12 +311,12 @@ CREATE TABLE `SS13_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, + `default_percentage_calc` tinyint(1) unsigned NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `idx_pop_pollid` (`pollid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; @@ -395,6 +413,17 @@ CREATE TABLE `SS13_round` ( /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +-- +-- Table structure for table `SS13_schema_revision` +-- +DROP TABLE IF EXISTS `SS13_schema_revision`; +CREATE TABLE `SS13_schema_revision` ( + `major` TINYINT(3) unsigned NOT NULL, + `minor` TINYINT(3) unsigned NOT NULL, + `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`major`,`minor`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; diff --git a/SQL/tgstation_schema_prefixed.sql.rej b/SQL/tgstation_schema_prefixed.sql.rej new file mode 100644 index 0000000000..dd4bc6a7f5 --- /dev/null +++ b/SQL/tgstation_schema_prefixed.sql.rej @@ -0,0 +1,9 @@ +diff a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql (rejected hunks) +@@ -268,7 +297,6 @@ CREATE TABLE `SS13_player` ( + `ip` int(10) unsigned NOT NULL, + `computerid` varchar(32) NOT NULL, + `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', +- `exp` mediumtext, + PRIMARY KEY (`id`), + UNIQUE KEY `ckey` (`ckey`), + KEY `idx_player_cid_ckey` (`computerid`,`ckey`), diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm.rej b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm.rej deleted file mode 100644 index 365cc7fdda..0000000000 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm (rejected hunks) -@@ -269,7 +269,7 @@ - "W" = ( - /obj/structure/alien/weeds, - /obj/structure/alien/resin/wall, --/obj/effect/baseturf_helper, -+/obj/effect/baseturf_helper/lava_land/surface, - /turf/open/floor/plating/asteroid/basalt/lava_land_surface, - /area/ruin/unpowered/xenonest) - diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm index 3286290fa5..c4a7c18c98 100644 --- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm +++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm @@ -10,10 +10,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/powered/mechtransport) "d" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "e" = ( /turf/closed/wall/mineral/titanium, @@ -63,10 +60,7 @@ /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/powered/mechtransport) "o" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "p" = ( /obj/machinery/door/airlock/hatch{ @@ -76,10 +70,7 @@ /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "q" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "r" = ( /obj/effect/decal/cleanable/dirt, @@ -200,26 +191,17 @@ /turf/open/floor/plating/airless, /area/ruin/space/has_grav/powered/mechtransport) "T" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "U" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "V" = ( /obj/item/stack/rods, /turf/template_noop, /area/template_noop) "W" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "X" = ( /obj/structure/shuttle/engine/propulsion, diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm index ba93de1bc8..9227ab0fd9 100644 --- a/_maps/RandomZLevels/Academy.dmm +++ b/_maps/RandomZLevels/Academy.dmm @@ -495,15 +495,10 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bG" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bH" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bI" = ( /obj/machinery/light{ @@ -603,10 +598,7 @@ /turf/open/floor/plasteel/floorgrime, /area/awaymission/academy/classrooms) "bW" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bX" = ( /obj/effect/decal/cleanable/ash, @@ -727,9 +719,7 @@ /turf/open/floor/plasteel, /area/awaymission/academy/classrooms) "cs" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "ct" = ( /obj/structure/chair, diff --git a/_maps/RandomZLevels/Cabin.dmm b/_maps/RandomZLevels/Cabin.dmm index a0a4907b02..b4869790a8 100644 --- a/_maps/RandomZLevels/Cabin.dmm +++ b/_maps/RandomZLevels/Cabin.dmm @@ -975,6 +975,10 @@ }, /turf/open/floor/plating, /area/awaymission/cabin) +"dw" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/closed/indestructible/rock/snow, +/area/space) (1,1,1) = {" aa @@ -1231,7 +1235,7 @@ aa aa aa aa -aa +dw "} (2,1,1) = {" aa diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index 024abd1968..5c89b42453 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -2973,6 +2973,10 @@ initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/BMPship) +"gW" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/closed/indestructible/rock, +/area/space) (1,1,1) = {" aa @@ -3229,7 +3233,7 @@ aa aa aa aa -aa +gW "} (2,1,1) = {" aa diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index 2faa93900f..f62787babf 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -365,10 +365,7 @@ /turf/open/floor/plasteel/vault{ dir = 5 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bs" = ( /obj/structure/closet/crate, @@ -429,16 +426,10 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "bD" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bE" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bF" = ( /obj/machinery/door/airlock/external{ @@ -447,22 +438,13 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "bG" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bH" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bJ" = ( /obj/structure/chair/comfy/brown, @@ -557,19 +539,10 @@ /turf/open/floor/mineral/titanium/blue, /area/awaymission/centcomAway/hangar) "bZ" = ( -/turf/open/floor/plasteel/shuttle, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "ca" = ( -/turf/open/floor/plating, -/turf/closed/wall/shuttle{ - dir = 2; - icon_state = "swall_f10"; - layer = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cb" = ( /obj/item/paper_bin, @@ -667,13 +640,7 @@ /turf/closed/wall/r_wall, /area/awaymission/centcomAway/maint) "cw" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cx" = ( /obj/machinery/door/airlock/maintenance_hatch{ @@ -682,13 +649,7 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "cy" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cz" = ( /turf/closed/wall, @@ -726,10 +687,7 @@ /turf/open/floor/plasteel/hydrofloor, /area/awaymission/centcomAway/cafe) "cI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cJ" = ( /obj/structure/table/reinforced, @@ -770,10 +728,7 @@ /turf/open/floor/mineral/titanium/blue, /area/awaymission/centcomAway/hangar) "cQ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cR" = ( /turf/open/floor/plating, @@ -930,10 +885,7 @@ }, /area/awaymission/centcomAway/cafe) "du" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall0"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "dv" = ( /obj/structure/closet/crate, @@ -1061,10 +1013,7 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/cafe) "dR" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "dS" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end/west, @@ -1199,23 +1148,13 @@ /turf/open/floor/plasteel/red, /area/awaymission/centcomAway/cafe) "eq" = ( -/turf/open/floor/plating, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "er" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "es" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "et" = ( /obj/machinery/door/airlock/hatch{ @@ -2054,21 +1993,13 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "hv" = ( -/turf/open/floor/plating, /obj/structure/shuttle/engine/propulsion/burst{ dir = 4 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "hw" = ( -/turf/open/floor/plasteel/black, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "hx" = ( /obj/structure/table, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index b88d60a0f6..22f0169437 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -8006,11 +8006,7 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; heat_capacity = 1e+006 }, -/turf/closed/wall/shuttle{ - dir = 3; - icon_state = "swall_f10"; - layer = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8270,19 +8266,13 @@ name = "MO19 Arrivals" }) "ly" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" }) "lz" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8295,19 +8285,13 @@ name = "MO19 Arrivals" }) "lB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" }) "lC" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8528,10 +8512,7 @@ name = "MO19 Arrivals" }) "lY" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9122,10 +9103,7 @@ name = "MO19 Arrivals" }) "mX" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9194,24 +9172,13 @@ name = "MO19 Arrivals" }) "nd" = ( -/turf/open/floor/plating/asteroid{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; - heat_capacity = 1e+006 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" }) "ne" = ( -/turf/open/floor/plasteel/shuttle, -/turf/closed/wall/shuttle{ - icon_state = "swall_f10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9306,10 +9273,7 @@ name = "MO19 Arrivals" }) "nn" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9409,14 +9373,7 @@ name = "MO19 Arrivals" }) "nv" = ( -/turf/open/floor/plating/asteroid{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; - heat_capacity = 1e+006 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -10618,6 +10575,10 @@ has_gravity = 1; name = "MO19 Research" }) +"oV" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/open/space, +/area/space) (1,1,1) = {" aa @@ -10874,7 +10835,7 @@ aa aa aa aa -aa +oV "} (2,1,1) = {" aa @@ -29986,10 +29947,10 @@ ac ac ac ac -af -ae ad -ae +ad +ad +ad ac ac ac @@ -30243,10 +30204,10 @@ ac ac ad ad -af -hl -ah -af +ad +hk +ag +ad ad ad ac @@ -30498,14 +30459,14 @@ ac ac ac ac -ae +ad ai -ah -al +ag +ag ai hk ai -af +ad ad ac ac @@ -30754,16 +30715,16 @@ ac ac ac ac -ae -af +ad +ad hk -aq +ai ai hk -bb -ar -ah -af +aM +ai +ag +ad ac ac ac @@ -31011,13 +30972,13 @@ ac ac ac ac -af +ad +ai ai -aq aD -an -aq -ar +aj +ai +ai aD ai ad @@ -31270,14 +31231,14 @@ ac ac ad ai -ar -an -ar +ai +aj +ai aT av bj bc -ae +ad ac ac ac @@ -31525,16 +31486,16 @@ ac ac ac ac -ae -ah +ad +ag au ai -aq -ar +ai +ai bc av -ar -af +ai +ad ac ac ac @@ -31782,16 +31743,16 @@ ac ac ac ac -af -ao +ad +aj av -aq +ai ai am -ar -bk -al -ae +ai +au +ag +ad ac ac ac @@ -32042,13 +32003,13 @@ ac ad ap aw -ar -aq -aq -ar -al -aq -af +ai +ai +ai +ai +ag +ai +ad ac ac ac @@ -32296,11 +32257,11 @@ ac ac ac ac -ae -aq -ax -af -aq +ad +ai +av +ad +ai ai ai aD @@ -32554,31 +32515,31 @@ ac ac ac ad -af -ar -ai -ar -ai -ar -ar -aq -af -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -af -ae ad -ae +ai +ai +ai +ai +ai +ai +ai +ad +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ad +ad +ad +ad ac ac ac @@ -32811,15 +32772,15 @@ ac ac ac ac -ae +ad ag -aq ai -aq ai -ar -aq -ae +ai +ai +ai +ai +ad ac ac ac @@ -32831,12 +32792,12 @@ ac ac ac ac -ae +ad ad dO aj -af -ae +ad +ad ac ac ac @@ -33068,15 +33029,15 @@ ac ac ac ac -af -ae -ar -aq -am -ar +ad +ad ai -af -af +ai +am +ai +ai +ad +ad ac ac ac @@ -33088,12 +33049,12 @@ ac ac ac ad -ae +ad ag -aL +av dS -ar -af +ai +ad ac ac ac @@ -33326,12 +33287,12 @@ ac ac ac ac -af -ae +ad +ad ai -ar -aq -ae +ai +ai +ad ad ac ac @@ -33344,12 +33305,12 @@ ac ac ac ac -af +ad aj -ar +ai am ai -ah +ag ad ac ac @@ -33584,11 +33545,11 @@ ac ac ac ac -af -af ad -af -af +ad +ad +ad +ad ac ac ac @@ -33600,13 +33561,13 @@ ac ac ac ad -ae -af -aq +ad +ad +ai +ai ai -ar aj -ae +ad ad ac ac @@ -33841,10 +33802,10 @@ ac ac ac ac -ae +ad am am -ae +ad ac ac ac @@ -33855,14 +33816,14 @@ ac ac ac ac -ae -ae -ar +ad +ad +ai ak ai -ah -ae -af +ag +ad +ad ad ac ac @@ -34098,27 +34059,27 @@ ac ac ac ac -af -ai -aq ad -ae +ai +ai +ad +ad ac ad -ae -af -ae -af ad -ae -ae -af +ad +ad +ad +ad +ad +ad +ad +ai ai -aq -ae -af ad -ae +ad +ad +ad ac ac ac @@ -34356,23 +34317,23 @@ ac ac ac ad -ar -ar -ai -af -af -ae -ar -ai -ar -aq ai ai -af +ai +ad +ad ad ai -af -ae +ai +ai +ai +ai +ai +ad +ad +ai +ad +ad ac ac ac @@ -34612,22 +34573,22 @@ ac ac ac ac -ae -ae +ad +ad +ai +ai +ai +ad +ai +ai ai ai -aq -af ai -ar -aq ai -ar -aq am -ar ai -aq +ai +ai ad ac ac @@ -34864,27 +34825,27 @@ ab ab ac ad -af -ae +ad +ad ad ac ac ac ad -af -aq -am -aq -ar +ad ai -af -ae -af -ae -ar -aq -ar -ae +am +ai +ai +ai +ad +ad +ad +ad +ai +ai +ai +ad ad ac ac @@ -35120,28 +35081,28 @@ ab ab ab ad -af -ah +ad +ag aj -ae -af -ae ad -ae -af -ar -aq +ad +ad +ad +ad +ad ai -aq -ae +ai +ai +ai +ad ad bl bl ad -af +ad ai -aq -af +ai +ad ac ac ac @@ -35376,29 +35337,29 @@ ab ab ab ab -ae +ad ag ai ak ai ad -af -ar +ad ai -aq ai -ar -ar -af +ai +ai +ai +ai +ad ad bl bl bl -ae -ar -ar +ad ai -ae +ai +ai +ad ac ac ac @@ -35634,27 +35595,27 @@ ab ab ab ad -ah +ag ai -al +ag am -ar ai -aq -af -ae -aq -af -ae -af -bl -bl -bl -bl -af ai -aq -af +ai +ad +ad +ai +ad +ad +ad +bl +bl +bl +bl +ad +ai +ai +ad ad ac ac @@ -35890,14 +35851,14 @@ ab ab ab ab -ae -af -af +ad +ad +ad +aj aj -an ad -af -ae +ad +ad ad ad ai @@ -35908,10 +35869,10 @@ bl bl bl bl -af -aq +ad ai -af +ai +ad ac ac ac @@ -36149,17 +36110,17 @@ ab ab ac ac -ae -af -af -ae +ad +ad +ad +ad ac ac ac -af +ad aM -af -ae +ad +ad bl bl bl @@ -36169,7 +36130,7 @@ ad ai dd ad -af +ad ad ac ac @@ -36177,8 +36138,8 @@ ac dA dA dA -dR -dU +dP +dT ba ba ba @@ -36413,27 +36374,27 @@ ac ac ac ac -af -aq +ad ai -ae -bl -bl -bl -bl -bl -ae -ar -aq -ar ai -af -ae -af +ad +bl +bl +bl +bl +bl +ad +ai +ai +ai +ai +ad +ad +ad ac dA dA -dW +dP dP dT ba @@ -36669,30 +36630,30 @@ ac ac ac ad -af -ae -ar -ar -af +ad +ad +ai +ai +ad ad bl bl bl bl -af -af -ai -aq -aq -ai -ar ad -af +ad +ai +ai +ai +ai +ai +ad +ad +dP dP -dR dV dT -dU +dT ba ba ba @@ -36925,31 +36886,31 @@ ac ac ac ad -ae +ad aJ ai -ar +ai am ag -ae +ad bl bl bl ad -af +ad +ai +ai +ad +ad +ai ai -ar -ae -af ai -aq -ar ad dQ dT -dX -dU -dX +dT +dT +dT ba ba ba @@ -37181,32 +37142,32 @@ ac ac ac ac -af +ad aE aK ak ai ag -an -af -bl -bl -bl -ae -ai -aq -af -ae +aj +ad +bl +bl +bl +ad +ai +ai +ad +ad +ad ad -af ai am ad dQ -dU -dX dT -dU +dT +dT +dT ba ba ba @@ -37438,32 +37399,32 @@ ac ac ac ac -af +ad aj -aL -aq -ao -an -af +av +ai +aj +aj +ad ad bl bl bl -af -ar -ae -af -ac -ac -ae -af ad -af -dR +ai +ad +ad +ac +ac +ad +ad +ad +ad +dP dV -dU -dX -dU +dT +dT +dT ba ba ba @@ -37695,20 +37656,20 @@ ac ac ac ac -ae ad -af +ad +ad ai -af -af -ae +ad +ad +ad bl bl bl bl ad -aq -af +ai +ad ad ac ac @@ -37717,9 +37678,9 @@ ac ac dA dA -dR +dP +dT dT -dU ba ba ba @@ -37954,19 +37915,19 @@ ac ac ac ac -ae -aq -ae +ad +ai +ad bl bl bl bl bl bl -ae +ad ai ai -ae +ad ac ac ac @@ -37975,7 +37936,7 @@ ac dA dA dP -dX +dT dT ba ba @@ -38212,27 +38173,27 @@ ac ac ac ad -aq -af +ai +ad bl bl bl bl bl bl -ae -af +ad +ad am -af +ad ac ac ac ac dA dA -dR -dR -dU +dP +dP +dT ba ba ba @@ -38468,7 +38429,7 @@ ac ac ac ac -ae +ad am ad bl @@ -38479,15 +38440,15 @@ bl bl bl ad -aq -ae +ai +ad ac ac ac ac dA dA -dR +dP ba ba ba @@ -38725,9 +38686,9 @@ ac ac ac ac -af -aq -ae +ad +ai +ad bl bl bl @@ -38735,9 +38696,9 @@ bl bl bl bl -af -ar -af +ad +ai +ad ac ac ac @@ -38982,19 +38943,19 @@ ac ac ac ac -ae +ad ai -af +ad bl bl bl bl bl bl -af -ae +ad +ad ai -ae +ad ac ac ac @@ -39239,18 +39200,18 @@ ac ac ac ac -af -ar -ae +ad +ai +ad bl bl bl bl bl ad -ae +ad +ai ai -aq ad ac ac @@ -39496,19 +39457,19 @@ ac ac ac ad -af -aq -af ad -ae -af -af +ai +ad +ad +ad +ad +ad +ad +ad +ai +ai +ad ad -af -aq -ar -ae -af ac ac ac @@ -39752,18 +39713,18 @@ ac ac ac ad -af -ar +ad +ai +ai +ag +ad +ad ai -al -ae -af ai -ar bW ai -ar -af +ai +ad ad ac ac @@ -40008,19 +39969,19 @@ ac ac ac ac -ae -an -aM -aq -ai -ar -aq -aq ad -af -ae -af -ae +aj +aM +ai +ai +ai +ai +ai +ad +ad +ad +ad +ad ac ac ac @@ -40264,16 +40225,16 @@ ac ac ac ac -af -af -ah -ar +ad +ad +ag +ai am ai ag -af -ae -af +ad +ad +ad ac ac ac @@ -40521,13 +40482,13 @@ ac ac ac ac -ae +ad ag -ar ai -ao -an -af +ai +aj +aj +ad ad ac ac @@ -40779,12 +40740,12 @@ ac ac ac as -af -ae -af ad -ae -af +ad +ad +ad +ad +ad ac ac ac @@ -41843,7 +41804,7 @@ ba ba ea eg -ew +eg eI fj fA @@ -43130,7 +43091,7 @@ ea ea eA eq -eD +eq fF gc gu @@ -43386,10 +43347,10 @@ ba ea el er -eE +eq en fG -eG +em gv gM ha @@ -43643,13 +43604,13 @@ ba ea em eB -eG -eR +em +en fH -gd -eC +el +en eB -eE +eq ea ba ba @@ -43899,13 +43860,13 @@ ba ba ea en -eC -eP -eE -fI -eE -eD -eC +en +eH +eq +fH +eq +eq +en eq ea ba @@ -44156,11 +44117,11 @@ ba ba ec eo -eD +eq eq eq fJ -eE +eq eq en hb @@ -44413,11 +44374,11 @@ ba ba ea ep -eE -eP -eD -eD -eE +eq +eH +eq +eq +eq eq eQ hc @@ -44672,9 +44633,9 @@ ea eq eF eQ -fo -eC -ge +eH +en +fp eq en eq @@ -44927,12 +44888,12 @@ ba ba ea er -eG -eR +em +en en eQ -eC -eR +en +en eB eq ea @@ -45183,14 +45144,14 @@ ba ba ba ea -es +el eH eB fp fK eH -fo -eD +eH +eq eq ea ba diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index f80b70ff37..7da8026638 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -4403,10 +4403,7 @@ /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/research/exterior) "mA" = ( /obj/structure/chair{ diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index 7acf9a7b3a..a18c9f18c8 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -5278,6 +5278,10 @@ }, /turf/open/floor/plating/asteroid/snow, /area/awaymission/snowdin) +"nR" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/closed/indestructible/rock/snow, +/area/awaymission/snowdin) (1,1,1) = {" aa @@ -5534,7 +5538,7 @@ aa aa aa aa -aa +nR "} (2,1,1) = {" aa diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index d8f2349de5..1b803966d3 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -540,20 +540,13 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bU" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bV" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bW" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bX" = ( /obj/structure/shuttle/engine/propulsion/burst/left{ @@ -594,9 +587,7 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "ce" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "cf" = ( /obj/structure/shuttle/engine/propulsion{ @@ -681,17 +672,13 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "cs" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "ct" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/awaymission/spacebattle/cruiser) "cu" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "cv" = ( /obj/machinery/power/smes/magical{ @@ -814,9 +801,7 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "cR" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "cS" = ( /obj/effect/mob_spawn/human/engineer{ @@ -937,16 +922,10 @@ /turf/open/floor/plasteel/bar, /area/awaymission/spacebattle/cruiser) "do" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dp" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dq" = ( /turf/open/floor/plasteel{ @@ -973,24 +952,17 @@ }, /area/awaymission/spacebattle/cruiser) "dt" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "du" = ( /obj/effect/decal/cleanable/blood, /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dv" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dx" = ( /obj/structure/chair, @@ -1305,10 +1277,7 @@ /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) "eB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "eC" = ( /obj/structure/table/reinforced, @@ -1344,15 +1313,10 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/cruiser) "eI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "eJ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "eK" = ( /turf/open/floor/mineral/plastitanium, @@ -1494,10 +1458,7 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "fk" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "fl" = ( /obj/machinery/door/airlock/external, @@ -1939,9 +1900,7 @@ /area/awaymission/spacebattle/cruiser) "gE" = ( /obj/effect/decal/cleanable/blood, -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "gF" = ( /obj/effect/mob_spawn/human/doctor{ @@ -2228,10 +2187,7 @@ }, /area/awaymission/spacebattle/syndicate7) "hH" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "hI" = ( /obj/structure/table/reinforced, @@ -2333,18 +2289,14 @@ /turf/open/floor/plasteel/white, /area/awaymission/spacebattle/cruiser) "ia" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "ib" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/plasteel/freezer, /area/awaymission/spacebattle/cruiser) "ic" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "id" = ( /obj/item/storage/firstaid/regular, @@ -3113,6 +3065,10 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) +"kM" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/closed/mineral/random, +/area/space) (1,1,1) = {" aa @@ -3369,7 +3325,7 @@ aa aa aa aa -aa +kM "} (2,1,1) = {" aa @@ -38189,17 +38145,17 @@ bT cd bT bT -eF -eQ -eQ -eQ -eQ -eQ -eQ -eQ -eQ -eQ -eQ +cY +eb +eb +eb +eb +eb +eb +eb +eb +eb +eb ha bT bT @@ -48225,7 +48181,7 @@ jS jS bT kd -ko +ki ix ab ab @@ -48739,7 +48695,7 @@ jS jS bT kd -ko +ki kr kx ab @@ -49253,7 +49209,7 @@ jS jS bT kd -ko +ki kr kx ab @@ -49767,7 +49723,7 @@ jS jS bT kd -ko +ki kr kz ab diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index fec63e34de..a22555c6c8 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -55,19 +55,13 @@ name = "UO45 Central Hall" }) "ah" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" }) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -231,19 +225,13 @@ name = "UO45 Central Hall" }) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" }) "aw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -286,10 +274,7 @@ name = "UO45 Central Hall" }) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -318,9 +303,7 @@ name = "UO45 Central Hall" }) "aE" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4" - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -17851,6 +17834,10 @@ power_light = 0; poweralm = 0 }) +"zi" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/open/space, +/area/space) (1,1,1) = {" aa @@ -18107,7 +18094,7 @@ aa aa aa aa -aa +zi "} (2,1,1) = {" aa @@ -36538,9 +36525,9 @@ ad ad ad ad -ys +yk yw -yx +yn ad ad ad @@ -37053,7 +37040,7 @@ ad ad ad ad -yx +yn eJ yB ad @@ -37315,8 +37302,8 @@ eJ eJ yr ad -yF -yG +yA +yj ad ad ad @@ -37571,8 +37558,8 @@ ad ad yC eJ -yE -yv +yw +ym yH ad ad @@ -37828,7 +37815,7 @@ ad ad ad eJ -yx +yn eJ yz ad @@ -38337,7 +38324,7 @@ ad yl eJ yq -yv +ym ad ad yz @@ -38595,7 +38582,7 @@ ad eJ eJ eJ -yy +yn ad yD eJ @@ -38605,8 +38592,8 @@ ad ad ad ad -yG -yy +yj +yn ad ad ad @@ -38852,17 +38839,17 @@ ad ad yr yn -yy yn -yx +yn +yn eJ eJ ad ad ad ad -yI -yv +yp +ym yA ad ad @@ -39109,7 +39096,7 @@ ad ad ad ad -yx +yn eJ eJ eJ @@ -39370,7 +39357,7 @@ yz eJ eJ eJ -yy +yn eJ eJ eJ @@ -39626,12 +39613,12 @@ ad yp yq eJ -yy yn -yv +yn +ym eJ -yy -yy +yn +yn ad ad ad @@ -39881,14 +39868,14 @@ ad ad ad yA -yx +yn eJ yn ad ad yw -yG -ys +yj +yk ad ad ad diff --git a/_maps/RandomZLevels/wildwest.dmm b/_maps/RandomZLevels/wildwest.dmm index 45e023d24a..61d5c4ee49 100644 --- a/_maps/RandomZLevels/wildwest.dmm +++ b/_maps/RandomZLevels/wildwest.dmm @@ -2094,28 +2094,20 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gK" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gL" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/mineral/titanium/yellow, /area/awaymission/wwrefine) "gM" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gN" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gO" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gP" = ( /obj/structure/chair, @@ -2125,22 +2117,16 @@ /turf/open/floor/mineral/titanium/yellow, /area/awaymission/wwrefine) "gR" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gS" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/awaymission/wwrefine) "gT" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gU" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gV" = ( /obj/effect/landmark/awaystart, diff --git a/_maps/basemap.dm b/_maps/basemap.dm index db5a71afb2..8a838879b8 100644 --- a/_maps/basemap.dm +++ b/_maps/basemap.dm @@ -9,11 +9,10 @@ #include "map_files\Deltastation\DeltaStation2.dmm" #include "map_files\MetaStation\MetaStation.dmm" #include "map_files\OmegaStation\OmegaStation.dmm" -#include "map_files\PubbyStation\PubbyStation.dmm" +// #include "map_files\PubbyStation\PubbyStation.dmm" #include "map_files\BoxStation\BoxStation.dmm" -#include "map_files\Cerestation\cerestation.dmm" #ifdef TRAVISBUILDING #include "templates.dm" #endif -#endif \ No newline at end of file +#endif diff --git a/_maps/boxstation.json b/_maps/boxstation.json index 9cd407ef93..65689d946c 100644 --- a/_maps/boxstation.json +++ b/_maps/boxstation.json @@ -1,7 +1,8 @@ -{ - "map_name": "Box Station", - "map_path": "map_files/BoxStation", - "map_file": "BoxStation.dmm", - "minetype": "lavaland", - "transition_config": "default" -} +{ + "map_name": "Box Station", + "map_path": "map_files/BoxStation", + "map_file": "BoxStation.dmm", + "minetype": "lavaland", + "transition_config": "default", + "allow_custom_shuttles": "yes" +} diff --git a/_maps/cerestation.dm b/_maps/cerestation.dm deleted file mode 100644 index 9345072d05..0000000000 --- a/_maps/cerestation.dm +++ /dev/null @@ -1 +0,0 @@ -#define FORCE_MAP "_maps/cerestation.json" \ No newline at end of file diff --git a/_maps/cerestation.json b/_maps/cerestation.json deleted file mode 100644 index e4c6b52f89..0000000000 --- a/_maps/cerestation.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "map_name": "CereStation", - "map_path": "map_files/Cerestation", - "map_file": "cerestation.dmm", - "minetype": "lavaland", - "transition_config": "default" -} \ No newline at end of file diff --git a/_maps/deltastation.json b/_maps/deltastation.json index 5558cbb1ed..3cfd2d5290 100644 --- a/_maps/deltastation.json +++ b/_maps/deltastation.json @@ -3,5 +3,6 @@ "map_path": "map_files/Deltastation", "map_file": "DeltaStation2.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index e1a6d179b6..95f1cb283c 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -19,9 +19,7 @@ /turf/closed/wall/mineral/plastitanium, /area/shuttle/syndicate) "aad" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall3" - }, +/turf/closed/wall/mineral/plastitanium, /area/shuttle/syndicate) "aae" = ( /obj/effect/landmark/carpspawn, diff --git a/_maps/map_files/Cerestation/cerestation.dmm b/_maps/map_files/Cerestation/cerestation.dmm deleted file mode 100644 index f9f808e392..0000000000 --- a/_maps/map_files/Cerestation/cerestation.dmm +++ /dev/null @@ -1,142082 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aaa" = ( -/turf/open/space, -/area/space) -"aab" = ( -/turf/open/floor/plating/asteroid/airless, -/area/space) -"aac" = ( -/turf/closed/mineral/random/low_chance, -/area/space) -"aad" = ( -/turf/closed/mineral, -/area/space) -"aae" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"aaf" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"aag" = ( -/obj/effect/landmark/carpspawn, -/turf/open/space, -/area/space) -"aai" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate) -"aaj" = ( -/obj/machinery/door/poddoor/shutters{ - id = "syndieshutters"; - name = "blast shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/syndicate) -"aal" = ( -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai) -"aan" = ( -/turf/open/floor/plasteel/black, -/area/shuttle/syndicate) -"aau" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aav" = ( -/obj/machinery/camera/motion{ - c_tag = "AI Core North-West" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaw" = ( -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aax" = ( -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aay" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaz" = ( -/obj/machinery/camera/motion{ - c_tag = "AI Core North-East" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaE" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aaF" = ( -/obj/machinery/ai_slipper{ - uses = 10 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aaG" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaH" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaI" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaJ" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaK" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "AI Core APC"; - areastring = "/area/ai_monitored/turret_protected/ai"; - pixel_y = -24 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaL" = ( -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aaM" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"aaO" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"aaP" = ( -/turf/closed/wall, -/area/space) -"aaQ" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/north) -"aaR" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"aaS" = ( -/turf/closed/wall, -/area/ai_monitored/turret_protected/ai) -"aaT" = ( -/obj/machinery/door/window/southright{ - req_access_txt = "65" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aaU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"aaV" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aaW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/closed/wall, -/area/ai_monitored/turret_protected/ai) -"aaX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"aba" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/space) -"abb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/space) -"abc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/space) -"abd" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/space) -"abe" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/north) -"abf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/north) -"abg" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abh" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abi" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abj" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abk" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/conveyor/auto{ - dir = 6; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abl" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"abm" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abn" = ( -/obj/effect/landmark/tripai, -/obj/item/device/radio/intercom{ - anyai = 1; - broadcasting = 0; - freerange = 1; - frequency = 1447; - name = "Private Channel"; - pixel_y = -25 - }, -/obj/item/device/radio/intercom{ - anyai = 1; - freerange = 1; - listening = 0; - name = "Custom Channel"; - pixel_y = 28 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - freerange = 1; - listening = 1; - name = "Common Channel"; - pixel_x = 27; - pixel_y = 5 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abo" = ( -/obj/effect/landmark/tripai, -/obj/item/device/radio/intercom{ - anyai = 1; - broadcasting = 0; - freerange = 1; - frequency = 1447; - name = "Private Channel"; - pixel_y = -25 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - freerange = 1; - listening = 1; - name = "Common Channel"; - pixel_x = -27; - pixel_y = 5 - }, -/obj/item/device/radio/intercom{ - anyai = 1; - freerange = 1; - listening = 0; - name = "Custom Channel"; - pixel_y = 28 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abp" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"abr" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/space) -"abs" = ( -/turf/open/floor/plating, -/area/space) -"abt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/north) -"abv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abw" = ( -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abx" = ( -/obj/structure/showcase{ - density = 0; - desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze."; - dir = 8; - icon = 'icons/mob/robots.dmi'; - icon_state = "robot_old"; - name = "Cyborg Statue"; - pixel_x = 9; - pixel_y = 2 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aby" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"abz" = ( -/obj/item/device/radio/intercom{ - anyai = 1; - broadcasting = 0; - freerange = 1; - frequency = 1447; - name = "Private Channel"; - pixel_x = 27; - pixel_y = -9 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - freerange = 1; - listening = 1; - name = "Common Channel"; - pixel_x = -27; - pixel_y = -9 - }, -/obj/item/device/radio/intercom{ - anyai = 1; - freerange = 1; - listening = 0; - name = "Custom Channel"; - pixel_y = 25 - }, -/obj/machinery/turretid{ - name = "AI Chamber turret control"; - pixel_x = 24; - pixel_y = 5 - }, -/obj/machinery/flasher{ - id = "AI"; - pixel_x = -11; - pixel_y = 24 - }, -/obj/machinery/requests_console{ - department = "AI"; - departmentType = 5; - pixel_x = -28; - pixel_y = 28 - }, -/obj/effect/landmark/start/ai, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abA" = ( -/obj/structure/showcase{ - density = 0; - desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze."; - dir = 4; - icon = 'icons/mob/robots.dmi'; - icon_state = "robot_old"; - name = "Cyborg Statue"; - pixel_x = -9; - pixel_y = 2 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abB" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate) -"abC" = ( -/obj/structure/lattice, -/turf/open/space, -/area/space) -"abE" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Command Asteroid" - }) -"abF" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/external/north) -"abG" = ( -/obj/machinery/light/small, -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/north) -"abH" = ( -/obj/structure/rack, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/north) -"abI" = ( -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Northern External Waste Belt APC"; - areastring = "/area/maintenance/asteroid/disposal/external/north"; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abJ" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/north) -"abK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/north) -"abL" = ( -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abM" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"abN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"abO" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abP" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abQ" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abR" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"abS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"abV" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/space) -"abW" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Command Asteroid" - }) -"abX" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"abY" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/north) -"abZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aca" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"acc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"aci" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK" - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate) -"acj" = ( -/obj/structure/disposaloutlet, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/space) -"ack" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/north) -"acl" = ( -/obj/machinery/disposal/deliveryChute, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/north) -"acm" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_n"; - name = "north of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"acn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"aco" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall, -/area/ai_monitored/turret_protected/ai) -"acp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acr" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/syndicate) -"acu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"acv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"acw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/showcase{ - density = 0; - desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze."; - dir = 2; - icon = 'icons/mob/robots.dmi'; - icon_state = "robot_old"; - name = "Cyborg Statue" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acy" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/showcase{ - density = 0; - desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze."; - dir = 2; - icon = 'icons/mob/robots.dmi'; - icon_state = "robot_old"; - name = "Cyborg Statue" - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"acC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"acD" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_ne"; - name = "northeast of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"acH" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Command Asteroid" - }) -"acI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"acJ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/holopad, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acK" = ( -/obj/machinery/camera/motion{ - c_tag = "AI Core South-East"; - dir = 1; - network = list("MiniSat") - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"acM" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"acN" = ( -/turf/open/floor/plating/astplate, -/area/security/execution/transfer) -"acO" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai) -"acQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai) -"acR" = ( -/obj/machinery/door/airlock/hatch{ - name = "AI Core Hallway"; - req_one_access_txt = "65" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/ai_monitored/turret_protected/ai) -"acS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai) -"acU" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"add" = ( -/turf/closed/wall/r_wall, -/area/tcommsat/server) -"ade" = ( -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"adf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"adg" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/ai_monitored/turret_protected/ai) -"adh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"adi" = ( -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"adm" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Command Asteroid" - }) -"adn" = ( -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"ado" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"adp" = ( -/obj/machinery/telecomms/processor/preset_three, -/turf/open/floor/circuit, -/area/tcommsat/server) -"adq" = ( -/turf/closed/wall/r_wall, -/area/tcommsat/computer) -"adr" = ( -/obj/effect/decal/remains/human, -/obj/effect/landmark/revenantspawn, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"ads" = ( -/obj/machinery/porta_turret/ai{ - dir = 4; - installation = /obj/item/gun/energy/e_gun - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"adt" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/ai_monitored/turret_protected/ai) -"adu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"adv" = ( -/obj/machinery/porta_turret/ai{ - dir = 4; - installation = /obj/item/gun/energy/e_gun - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"adC" = ( -/obj/machinery/door/airlock/security{ - name = "Prisoner Transfer Center"; - req_access_txt = "2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"adD" = ( -/obj/machinery/telecomms/server/presets/engineering, -/turf/open/floor/circuit, -/area/tcommsat/server) -"adE" = ( -/obj/machinery/telecomms/bus/preset_four, -/turf/open/floor/circuit, -/area/tcommsat/server) -"adF" = ( -/obj/machinery/telecomms/bus/preset_three, -/turf/open/floor/circuit, -/area/tcommsat/server) -"adG" = ( -/obj/machinery/telecomms/server/presets/security, -/turf/open/floor/circuit, -/area/tcommsat/server) -"adH" = ( -/obj/machinery/power/apc{ - cell_type = 5000; - dir = 1; - name = "Telecomms Server APC"; - areastring = "/area/tcommsat/server"; - pixel_y = 25 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"adI" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/tcommsat/computer) -"adJ" = ( -/obj/machinery/computer/message_monitor, -/obj/machinery/camera{ - c_tag = "Telecomms Control Room 2"; - dir = 6 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"adK" = ( -/obj/machinery/announcement_system, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"adL" = ( -/obj/machinery/camera{ - c_tag = "AI Hallway"; - dir = 5 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"adP" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/fore/com_north) -"adS" = ( -/obj/item/ore/glass, -/turf/open/floor/plating/asteroid, -/area/security/execution/transfer) -"adV" = ( -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"adX" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"adY" = ( -/obj/machinery/telecomms/server/presets/common, -/turf/open/floor/circuit, -/area/tcommsat/server) -"adZ" = ( -/obj/machinery/telecomms/processor/preset_four, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aea" = ( -/obj/machinery/telecomms/receiver/preset_right, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aeb" = ( -/obj/machinery/telecomms/server/presets/command, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aec" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"aed" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aee" = ( -/obj/machinery/computer/telecomms/server{ - network = "tcommsat" - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aef" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/ai_monitored/turret_protected/ai) -"aeg" = ( -/obj/item/coin/antagtoken, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"aep" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/fore/com_west) -"aeq" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 5"; - dir = 6; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aes" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 6"; - dir = 6; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aet" = ( -/obj/machinery/flasher{ - id = "Cell 6"; - pixel_y = 32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aew" = ( -/obj/machinery/blackbox_recorder, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aex" = ( -/obj/machinery/telecomms/broadcaster/preset_right, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aey" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aez" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"aeA" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"aeB" = ( -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aeC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/ai) -"aeD" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/ai_monitored/turret_protected/ai) -"aeF" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 30 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"aeJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"aeK" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/prison) -"aeM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aeO" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"aeP" = ( -/turf/open/floor/circuit, -/area/tcommsat/server) -"aeQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aeR" = ( -/obj/machinery/door/airlock/glass_command{ - name = "Control Room"; - req_access_txt = "19; 61" - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afa" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"afb" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"afc" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"afd" = ( -/turf/closed/wall/r_wall, -/area/security/prison) -"afg" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"afh" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Perma Storage" - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"afl" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/ntnet_relay, -/obj/machinery/camera{ - c_tag = "Telecomms Server Room"; - dir = 4; - network = list("SS13") - }, -/turf/open/floor/circuit, -/area/tcommsat/server) -"afm" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/circuit, -/area/tcommsat/server) -"afn" = ( -/obj/machinery/telecomms/hub/preset, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/circuit, -/area/tcommsat/server) -"afp" = ( -/obj/machinery/door/airlock/glass_engineering{ - cyclelinkeddir = 4; - name = "Server Room"; - req_access_txt = "61" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/tcommsat/computer) -"afq" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/tcommsat/computer) -"afr" = ( -/obj/machinery/door/airlock/glass_engineering{ - cyclelinkeddir = 8; - name = "Server Room"; - req_access_txt = "61" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/tcommsat/computer) -"afs" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afw" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"afz" = ( -/obj/machinery/door/window/brigdoor/security/cell/northleft{ - id = "Cell 6"; - name = "Cell Door 6" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"afA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/prison) -"afD" = ( -/obj/structure/holohoop{ - icon_state = "hoop"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"afE" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/fore/com_north) -"afH" = ( -/turf/closed/wall, -/area/maintenance/asteroid/fore/com_north) -"afJ" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"afK" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Telecomms Control Room"; - dir = 6 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afN" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afO" = ( -/obj/structure/table, -/obj/item/folder/blue, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"afP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/tcommsat/computer) -"afQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"afR" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"afS" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/machinery/turretid{ - name = "AI Chamber turret control"; - pixel_y = 24 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"afT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"afU" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"afV" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"afW" = ( -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/aisat/hallway) -"aga" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 4"; - dir = 4; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"agc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/security/prison) -"agd" = ( -/obj/machinery/door_timer{ - id = "Cell 5"; - name = "Cell 5"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"age" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"agf" = ( -/obj/machinery/door_timer{ - id = "Cell 6"; - name = "Cell 6"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"agh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/prison) -"agi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/security/prison) -"agk" = ( -/turf/closed/mineral, -/area/security/execution/transfer) -"agl" = ( -/turf/closed/wall, -/area/security/execution/transfer) -"agm" = ( -/turf/open/floor/plating/asteroid, -/area/security/execution/transfer) -"agH" = ( -/obj/machinery/message_server, -/turf/open/floor/circuit, -/area/tcommsat/server) -"agI" = ( -/obj/machinery/telecomms/broadcaster/preset_left, -/turf/open/floor/circuit, -/area/tcommsat/server) -"agK" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"agL" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"agM" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"agN" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"agO" = ( -/obj/machinery/door/airlock/engineering{ - name = "Telecommunications"; - req_access_txt = "61" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/tcommsat/computer) -"agP" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"agQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/mob/living/simple_animal/bot/secbot/pingsky, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"agR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"agS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "AI Asteroid Hallway 4"; - dir = 1; - network = list("SS13") - }, -/obj/item/device/radio/beacon, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"agT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"agU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"agW" = ( -/obj/machinery/flasher{ - id = "Cell 4"; - pixel_x = -32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"agX" = ( -/turf/open/floor/plating/astplate, -/area/security/prison) -"agY" = ( -/obj/machinery/door/window/brigdoor/security/cell/westleft{ - id = "Cell 4"; - name = "Cell Door 4" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"aha" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CellBlockMidRight"; - location = "CellBlockUpRight"; - name = "navigation beacon (CellBlockUpRight)" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ahb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"ahc" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/camera{ - c_tag = "Brig Perma Cell 2"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"ahf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"ahh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"ahv" = ( -/obj/machinery/telecomms/server/presets/supply, -/turf/open/floor/circuit, -/area/tcommsat/server) -"ahw" = ( -/obj/machinery/telecomms/bus/preset_two, -/turf/open/floor/circuit, -/area/tcommsat/server) -"ahx" = ( -/obj/machinery/telecomms/receiver/preset_left, -/turf/open/floor/circuit, -/area/tcommsat/server) -"ahy" = ( -/obj/machinery/telecomms/server/presets/medical, -/turf/open/floor/circuit, -/area/tcommsat/server) -"ahz" = ( -/obj/structure/chair/office/dark, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"ahA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"ahB" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"ahC" = ( -/obj/machinery/door/airlock/hatch{ - name = "AI Core"; - req_one_access_txt = "65" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"ahD" = ( -/obj/machinery/door/airlock/hatch{ - name = "AI Core"; - req_one_access_txt = "65" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"ahE" = ( -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"ahF" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"ahH" = ( -/turf/open/floor/plating, -/area/security/prison) -"ahJ" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"ahK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"ahO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"ahP" = ( -/turf/closed/wall/rust, -/area/security/execution/transfer) -"ahR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"ahY" = ( -/obj/machinery/telecomms/server/presets/service, -/turf/open/floor/circuit, -/area/tcommsat/server) -"ahZ" = ( -/obj/machinery/telecomms/processor/preset_two, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aia" = ( -/obj/machinery/telecomms/processor/preset_one, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aib" = ( -/obj/machinery/telecomms/server/presets/science, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aic" = ( -/obj/machinery/computer/telecomms/monitor{ - network = "tcommsat" - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aid" = ( -/obj/structure/table, -/obj/item/device/radio/off, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aie" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aif" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Telecomms Control Room APC"; - areastring = "/area/tcommsat/computer"; - pixel_y = -24 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aig" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/device/multitool, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"aih" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"aii" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"aij" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"aik" = ( -/obj/machinery/recharge_station, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"aiq" = ( -/obj/machinery/door_timer{ - id = "Cell 4"; - name = "Cell 4"; - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"air" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ais" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"aiu" = ( -/obj/machinery/door_timer{ - id = "Cell 7"; - name = "Cell 7"; - pixel_x = 32 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"aix" = ( -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/security/prison) -"aiy" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/camera{ - c_tag = "Brig Perma Cell 5"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aiA" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aiF" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aiM" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/black, -/area/tcommsat/server) -"aiN" = ( -/obj/machinery/telecomms/bus/preset_one, -/turf/open/floor/circuit, -/area/tcommsat/server) -"aiO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "AI Asteroid Hallway 3"; - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"aiP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"aiQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"aiR" = ( -/turf/closed/wall, -/area/quartermaster/sorting) -"aiS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"aiT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"aiU" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"aja" = ( -/obj/machinery/gulag_item_reclaimer{ - pixel_y = -32 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"ajb" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"ajc" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"aje" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 3"; - dir = 4; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"ajg" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 3"; - name = "Cell 3 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aji" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"ajj" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Prison Wing APC"; - areastring = "/area/security/prison"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ajk" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ajm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"ajo" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 8"; - name = "Cell 8 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"ajz" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"ajA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/tcommsat/server) -"ajB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/tcommsat/server) -"ajC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"ajD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/ai_monitored/turret_protected/aisat/hallway) -"ajE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"ajF" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"ajG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"ajH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"ajI" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "AI Asteroid" - }) -"ajJ" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/airless, -/area/quartermaster/sorting) -"ajK" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"ajL" = ( -/obj/machinery/conveyor{ - dir = 5; - id = "CargoWaste"; - verted = -1 - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"ajM" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "CargoWaste" - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"ajN" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "CargoWaste" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"ajO" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"ajP" = ( -/obj/structure/disposalpipe/wrapsortjunction{ - icon_state = "pipe-j1s"; - dir = 8 - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"ajQ" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/quartermaster/sorting) -"ajR" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space) -"ajS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/kss13{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/space) -"ajT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/bedsheet, -/obj/structure/sign/poster/contraband/communist_state{ - pixel_y = 32 - }, -/obj/effect/landmark/revenantspawn, -/turf/open/floor/plating, -/area/space) -"ajU" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/item/clothing/head/ushanka, -/turf/open/floor/plating, -/area/space) -"ajW" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"ajX" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"aka" = ( -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"akb" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"akc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"akd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ake" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"akf" = ( -/obj/machinery/door/window/brigdoor/security/cell/eastleft{ - id = "Cell 8"; - name = "Cell Door 8" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"akk" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"akl" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/captain) -"akn" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"ako" = ( -/turf/closed/wall, -/area/ai_monitored/turret_protected/aisat/hallway) -"akp" = ( -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"akq" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"akr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"aks" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat/hallway) -"akt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"aku" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/ai_monitored/turret_protected/aisat/hallway) -"akv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"akw" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"akx" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Cargo Asteroid" - }) -"aky" = ( -/obj/machinery/conveyor{ - dir = 9; - id = "CargoWaste"; - verted = -1 - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"akz" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "CargoWaste" - }, -/obj/machinery/recycler, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"akA" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "CargoWaste" - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"akB" = ( -/obj/machinery/mineral/stacking_machine{ - input_dir = 8; - output_dir = 2 - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"akC" = ( -/obj/machinery/mineral/stacking_unit_console{ - dir = 2; - machinedir = 8 - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"akD" = ( -/obj/item/trash/candy, -/turf/open/floor/plating, -/area/space) -"akE" = ( -/obj/effect/decal/remains/human, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plating, -/area/space) -"akF" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/glowshroom/single, -/turf/open/floor/plating, -/area/space) -"akG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/processing) -"akH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/processing) -"akI" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/processing) -"akK" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"akL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/processing) -"akN" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"akQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"akT" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"akU" = ( -/obj/structure/curtain, -/obj/machinery/shower{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"akV" = ( -/obj/structure/curtain, -/obj/machinery/shower{ - pixel_y = 24 - }, -/obj/item/bikehorn/rubberducky, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"akW" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"akX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"akY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat/hallway) -"akZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"ala" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/ai_monitored/turret_protected/aisat/hallway) -"alb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"alc" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Cargo Asteroid" - }) -"ald" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"ale" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alg" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alh" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"ali" = ( -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alj" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/quartermaster/sorting) -"alk" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Cargo Asteroid" - }) -"all" = ( -/obj/item/trash/can, -/turf/open/floor/plating, -/area/space) -"alm" = ( -/turf/closed/wall, -/area/security/prison) -"aln" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/security/prison) -"alo" = ( -/obj/machinery/door_timer{ - id = "Cell 3"; - name = "Cell 3"; - pixel_x = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"alr" = ( -/turf/open/floor/plating/asteroid, -/area/security/prison) -"als" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"alt" = ( -/obj/machinery/biogenerator, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"alu" = ( -/obj/structure/rack, -/obj/item/pickaxe/emergency, -/obj/item/shovel, -/obj/item/storage/bag/ore, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"alv" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"alw" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"alx" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"aly" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"alz" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/stamp/captain, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"alA" = ( -/obj/structure/table/wood, -/obj/item/device/modular_computer/laptop/preset/civillian, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"alB" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"alC" = ( -/obj/item/storage/secure/safe{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"alD" = ( -/turf/closed/wall, -/area/crew_quarters/heads/captain) -"alE" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"alF" = ( -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"alG" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"alH" = ( -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"alI" = ( -/turf/open/floor/plasteel/neutral/corner, -/area/ai_monitored/turret_protected/aisat/hallway) -"alJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"alK" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Cargo Disposals"; - dir = 1; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alQ" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/structure/table, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"alR" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Gulag Dock"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/processing) -"alS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"alT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"alU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"alW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/security/prison) -"alX" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CellBlockUpLeft"; - location = "CellBlockMidLeft"; - name = "navigation beacon (CellBlockMidLeft)" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"alY" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"alZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ama" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CellBlockLowRight"; - location = "CellBlockMidRight"; - name = "navigation beacon (CellBlockMidRight)" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"amb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/security/prison) -"amd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"amf" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Brig"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"amg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"amh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ami" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"amj" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Cell 3"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aml" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating/astplate, -/area/security/prison) -"amn" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"amo" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"amp" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"amq" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"amr" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"ams" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"amt" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"amu" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"amv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"amw" = ( -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"amx" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"amy" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"amz" = ( -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"amA" = ( -/obj/machinery/door/airlock{ - id_tag = "bc" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"amB" = ( -/obj/machinery/button/door{ - id = "bc"; - name = "Privacy Bolts"; - normaldoorcontrol = 1; - pixel_x = 24 - }, -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/heads/captain) -"amC" = ( -/obj/machinery/camera/motion{ - c_tag = "Bridge Escape Pod External"; - dir = 8 - }, -/turf/open/space, -/area/space) -"amD" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "AI Asteroid Maintenance APC"; - areastring = "/area/ai_monitored/turret_protected/aisat/hallway"; - pixel_y = -24 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"amE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"amF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "AI Asteroid Hallway 2"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat/hallway) -"amG" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"amH" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/ai_monitored/turret_protected/aisat/hallway) -"amI" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Cargo Asteroid" - }) -"amJ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposals"; - req_access_txt = "12;31" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"amK" = ( -/obj/structure/table, -/obj/item/storage/box, -/obj/item/storage/box, -/obj/item/storage/box, -/obj/item/storage/box, -/obj/item/storage/box, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"amL" = ( -/obj/structure/table, -/obj/item/device/destTagger, -/obj/item/stack/packageWrap, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"amM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"amN" = ( -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"amO" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"amP" = ( -/turf/closed/wall, -/area/quartermaster/miningdock) -"amQ" = ( -/obj/machinery/disposal/deliveryChute, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/space) -"amR" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Gulag Dock"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/processing) -"amS" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"amT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"amU" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"amV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/prison) -"amW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"amX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner, -/area/security/prison) -"amY" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Brig"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"anb" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/camera{ - c_tag = "Brig Perma Cell 3"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"anc" = ( -/obj/structure/table, -/obj/item/device/radio/beacon, -/turf/open/floor/plating/astplate, -/area/security/prison) -"and" = ( -/obj/structure/disposalpipe/sortjunction{ - name = "disposal pipe - Custodials"; - sortType = 22 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"ane" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anf" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"ang" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anh" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"ani" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Captain's Private Quarters APC"; - areastring = "/area/crew_quarters/heads/captain"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anj" = ( -/obj/structure/table/wood, -/obj/item/pinpointer, -/obj/item/disk/nuclear, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"ank" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"anl" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"anm" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/captain) -"ann" = ( -/obj/docking_port/stationary/random{ - dir = 1; - id = "pod_lavaland1"; - name = "lavaland" - }, -/turf/open/space, -/area/space) -"ano" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"anp" = ( -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/ai_monitored/turret_protected/aisat/hallway) -"anq" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"anr" = ( -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Disposals APC"; - areastring = "/area/quartermaster/sorting"; - pixel_y = 24 - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"ans" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"ant" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/quartermaster/sorting) -"anu" = ( -/obj/machinery/door/airlock/glass_mining{ - name = "Disposals"; - req_access_txt = "31" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"anv" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"anw" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/closed/wall, -/area/quartermaster/office) -"anx" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/quartermaster/office) -"any" = ( -/turf/closed/wall, -/area/quartermaster/office) -"anz" = ( -/obj/structure/rack, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"anA" = ( -/obj/structure/rack, -/obj/item/shovel, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"anB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"anC" = ( -/obj/structure/closet/crate, -/obj/item/device/flashlight/lantern, -/obj/item/device/flashlight/lantern, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"anE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"anF" = ( -/turf/closed/wall, -/area/security/warden) -"anH" = ( -/obj/machinery/door_timer{ - id = "Cell 2"; - name = "Cell 2"; - pixel_x = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"anI" = ( -/turf/open/floor/plasteel, -/area/security/prison) -"anJ" = ( -/turf/closed/wall/r_wall, -/area/security/warden) -"anK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"anM" = ( -/obj/machinery/door_timer{ - id = "Cell 9"; - name = "Cell 9"; - pixel_x = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"anQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"anR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"anS" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 8 - }, -/turf/closed/wall, -/area/security/prison) -"anT" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"anU" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"anV" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anW" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"anZ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"aoa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aob" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aoc" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/captain, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aod" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/captain) -"aoe" = ( -/obj/machinery/suit_storage_unit/captain, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aof" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aog" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Captain's Desk"; - departmentType = 5; - name = "Captain RC"; - pixel_y = 30 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aoh" = ( -/obj/machinery/door/window/eastright{ - name = "Captain's Desk"; - req_access_txt = "20" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/keycard_auth{ - pixel_y = 24 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aoi" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aoj" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aok" = ( -/obj/structure/table/wood, -/obj/item/storage/lockbox/medal, -/obj/machinery/camera{ - c_tag = "Captain's Office" - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aol" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aom" = ( -/obj/structure/displaycase/captain, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aon" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/pod_1) -"aoo" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/pod_1) -"aop" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"aoq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"aor" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"aos" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"aot" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"aou" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Cargo APC"; - areastring = "/area/quartermaster/office"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"aov" = ( -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aow" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aox" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoy" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/office) -"aoA" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/supply) -"aoB" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoD" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoE" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aoG" = ( -/obj/machinery/door/poddoor/shutters{ - id = "MiningWarehouse" - }, -/turf/open/floor/plating, -/area/quartermaster/miningdock) -"aoH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aoI" = ( -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aoJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aoK" = ( -/obj/structure/closet/crate, -/obj/item/ore/slag, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aoM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"aoN" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"aoP" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"aoR" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 9"; - dir = 9; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"aoT" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aoU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"aoV" = ( -/turf/closed/wall, -/area/crew_quarters/dorms/female) -"aoW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"aoX" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"aoY" = ( -/obj/structure/dresser, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"aoZ" = ( -/obj/structure/closet/secure_closet/captains, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apa" = ( -/obj/machinery/light/small, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apb" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Quarters"; - req_access = null; - req_access_txt = "20" - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apc" = ( -/obj/structure/chair/office/dark, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apd" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/melee/chainofcommand, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"ape" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"apf" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"apg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aph" = ( -/mob/living/simple_animal/pet/fox/Renault, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"api" = ( -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"apj" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/computer/shuttle/pod{ - pixel_x = -32; - possible_destinations = "pod_lavaland1"; - shuttleId = "pod1" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Command Escape Pod"; - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_1) -"apk" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"apl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat/hallway) -"apm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"apn" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/hallway) -"apo" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"app" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"apq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"apr" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/supply) -"aps" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"apt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/landmark/xeno_spawn, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"apu" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"apv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"apw" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/ore_box, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"apy" = ( -/obj/machinery/flasher{ - id = "Cell 2"; - pixel_x = -32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"apz" = ( -/obj/machinery/door/window/brigdoor/security/cell/westleft{ - id = "Cell 2"; - name = "Cell Door 2" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"apA" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/camera{ - c_tag = "Brig Cellblock South"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel, -/area/security/prison) -"apC" = ( -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"apD" = ( -/obj/machinery/door/window/brigdoor/security/cell/eastleft{ - id = "Cell 9"; - name = "Cell Door 9" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"apG" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Cell 4"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"apK" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Dorm APC"; - areastring = "/area/crew_quarters/locker"; - pixel_y = -24 - }, -/obj/structure/cable/orange, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"apL" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"apM" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"apN" = ( -/obj/structure/bed, -/obj/item/bedsheet/blue, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"apO" = ( -/obj/structure/bed, -/obj/item/bedsheet/orange, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"apP" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"apQ" = ( -/obj/structure/bed, -/obj/item/bedsheet/purple, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"apR" = ( -/obj/machinery/camera/motion{ - c_tag = "Bridge Maintenance Eastl"; - dir = 8 - }, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"apS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/captain) -"apT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/captain) -"apU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/captain) -"apV" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced, -/obj/item/hand_tele, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apW" = ( -/obj/structure/window/reinforced, -/obj/machinery/computer/card, -/obj/item/card/id/captains_spare, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apX" = ( -/obj/structure/window/reinforced, -/obj/machinery/computer/communications, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apY" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/machinery/recharger, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"apZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqa" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqb" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqc" = ( -/obj/structure/table/wood, -/obj/item/toy/figure/captain, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqd" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqe" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/item/storage/pod{ - pixel_x = -24 - }, -/obj/item/device/radio/intercom{ - pixel_x = 32 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_1) -"aqf" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"aqg" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"aqh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aqi" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat/hallway) -"aqj" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"aqk" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/ai_monitored/turret_protected/aisat/hallway) -"aql" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aqm" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"aqn" = ( -/obj/machinery/camera{ - c_tag = "Cargo Western Loading Bay 2"; - dir = 5; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aqo" = ( -/obj/machinery/computer/cargo, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aqp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aqq" = ( -/obj/machinery/door/airlock/mining{ - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/quartermaster/miningdock) -"aqr" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aqs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aqt" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"aqy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"aqC" = ( -/turf/closed/wall, -/area/crew_quarters/locker) -"aqD" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/locker) -"aqE" = ( -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"aqF" = ( -/obj/structure/bed, -/obj/item/bedsheet/blue, -/obj/structure/window, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"aqG" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"aqH" = ( -/obj/structure/bed, -/obj/item/bedsheet/orange, -/obj/structure/window, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"aqI" = ( -/obj/structure/bed, -/obj/item/bedsheet/purple, -/obj/structure/window, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"aqJ" = ( -/obj/machinery/camera{ - c_tag = "Fore Asteroid Maintenance APCs 2"; - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aqK" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aqL" = ( -/obj/machinery/computer/arcade, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/holopad, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqO" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqP" = ( -/obj/structure/table/wood, -/obj/item/folder/red{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqQ" = ( -/obj/structure/table/wood, -/obj/item/device/camera, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"aqR" = ( -/obj/structure/shuttle/engine/propulsion/burst, -/turf/open/floor/plating, -/area/shuttle/pod_1) -"aqS" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Escape Pod Airlock" - }, -/obj/docking_port/mobile/pod{ - dir = 1; - id = "pod1"; - name = "escape pod 1"; - port_angle = 90 - }, -/turf/open/floor/plating, -/area/shuttle/pod_1) -"aqT" = ( -/obj/structure/closet/crate, -/obj/item/pickaxe/mini, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aqU" = ( -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aqV" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"aqW" = ( -/obj/machinery/camera{ - c_tag = "Core-Command-Cargo Bridge 4"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"aqX" = ( -/turf/closed/wall, -/area/quartermaster/storage) -"aqY" = ( -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Cargo RC"; - pixel_x = -30 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aqZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ara" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"arb" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"arc" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/obj/machinery/door/poddoor{ - id = "QMLoaddoor2"; - name = "supply dock loading door" - }, -/turf/open/floor/plating, -/area/quartermaster/office) -"ard" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/office) -"are" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/obj/machinery/door/poddoor{ - id = "QMLoaddoor2"; - name = "supply dock loading door" - }, -/turf/open/floor/plating, -/area/shuttle/supply) -"arf" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Supply Shuttle Airlock"; - req_access_txt = "31" - }, -/turf/open/floor/plating, -/area/shuttle/supply) -"arg" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "Supply Dock Airlock"; - req_access_txt = "31" - }, -/turf/open/floor/plating, -/area/quartermaster/office) -"arh" = ( -/turf/open/floor/plating, -/area/quartermaster/office) -"ari" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"arj" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ark" = ( -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Cargo RC"; - pixel_x = 30 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Cargo Eastern Loading Bay 1"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"arl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"arm" = ( -/obj/machinery/button/door{ - id = "MiningWarehouse"; - name = "Mining Warehouse Shutters"; - pixel_y = -24 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock) -"arn" = ( -/turf/closed/wall/r_wall, -/area/security/main) -"arp" = ( -/obj/machinery/door_timer{ - id = "Cell 1"; - name = "Cell 1"; - pixel_x = -32 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"aru" = ( -/obj/machinery/door_timer{ - id = "Cell 10"; - name = "Cell 10"; - pixel_x = 32 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"arx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"ary" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/machinery/camera{ - c_tag = "Dorm Commons North"; - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"arz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"arA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"arB" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"arC" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"arD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms/female) -"arE" = ( -/obj/machinery/light_switch{ - pixel_x = -25 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 6 - }, -/area/crew_quarters/dorms/female) -"arF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 6 - }, -/area/crew_quarters/dorms/female) -"arG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/dorms/female) -"arH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/dorms/female) -"arI" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/dorms/female) -"arJ" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/cmo/private) -"arK" = ( -/obj/machinery/vending/cigarette{ - extended_inventory = 1 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"arL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"arM" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"arN" = ( -/obj/structure/table/wood, -/obj/item/folder/blue, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"arO" = ( -/obj/structure/table/wood, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"arP" = ( -/turf/closed/wall/r_wall, -/area/bridge) -"arQ" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4; - name = "Command Escape Pod" - }, -/turf/open/floor/plating, -/area/bridge) -"arR" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/chief/private) -"arS" = ( -/obj/structure/closet/crate, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"arT" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"arU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"arV" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"arW" = ( -/obj/machinery/conveyor_switch{ - id = "QMLoad" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"asa" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Supply Dock Airlock"; - req_access_txt = "31" - }, -/turf/open/floor/plating, -/area/quartermaster/office) -"asb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"asc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"asd" = ( -/obj/machinery/door/poddoor/shutters{ - id = "MiningWarehouse" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/quartermaster/miningdock) -"ase" = ( -/obj/machinery/door/airlock/mining{ - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/quartermaster/miningdock) -"asf" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/mining) -"asg" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/mining) -"ash" = ( -/obj/structure/rack, -/obj/item/gun/ballistic/shotgun/riot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/ballistic/shotgun/riot, -/obj/item/gun/ballistic/shotgun/riot{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"asj" = ( -/obj/structure/rack, -/obj/item/gun/energy/e_gun/dragnet, -/obj/item/gun/energy/e_gun/dragnet, -/turf/open/floor/plasteel/black, -/area/security/armory) -"asn" = ( -/obj/machinery/computer/secure_data, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"asp" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 10"; - name = "Cell 10 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"ast" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"asu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"asv" = ( -/obj/structure/chair/stool, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"asw" = ( -/obj/structure/table/wood, -/obj/item/toy/dummy, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"asx" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"asy" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"asz" = ( -/obj/machinery/door/airlock{ - name = "Female Sleeping Quarters" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/dorms/female) -"asA" = ( -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms/female) -"asB" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms/female) -"asC" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms/female) -"asD" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"asE" = ( -/obj/structure/bed, -/obj/item/bedsheet/cmo, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/storage/secure/safe{ - pixel_x = -28 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"asF" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"asG" = ( -/obj/structure/table/wood, -/obj/item/device/modular_computer/laptop/preset/civillian, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"asH" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"asI" = ( -/turf/closed/wall, -/area/crew_quarters/heads/cmo/private) -"asJ" = ( -/obj/machinery/vending/boozeomat, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"asK" = ( -/obj/machinery/light, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"asL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"asM" = ( -/obj/machinery/light_switch{ - pixel_y = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"asN" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/bridge) -"asO" = ( -/turf/open/floor/plating, -/area/bridge) -"asP" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"asQ" = ( -/obj/structure/table/wood, -/obj/item/device/modular_computer/laptop/preset/civillian, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"asR" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"asS" = ( -/obj/structure/bed, -/obj/item/bedsheet/ce, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/sign/poster/contraband/power{ - pixel_x = 32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"asU" = ( -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"asV" = ( -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"asW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"asX" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/newscaster{ - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"asY" = ( -/obj/machinery/holopad, -/obj/machinery/button/door{ - dir = 2; - id = "QMLoaddoor2"; - name = "Loading Doors"; - pixel_x = 24; - pixel_y = 8 - }, -/obj/machinery/button/door{ - id = "QMLoaddoor"; - name = "Loading Doors"; - pixel_x = 24; - pixel_y = -8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"asZ" = ( -/obj/machinery/button/door{ - dir = 2; - id = "QMLoaddoor2"; - name = "Loading Doors"; - pixel_x = -24; - pixel_y = 8 - }, -/obj/machinery/button/door{ - id = "QMLoaddoor"; - name = "Loading Doors"; - pixel_x = -24; - pixel_y = -8 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/supply) -"ata" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"atb" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/newscaster{ - pixel_x = 28 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"atc" = ( -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"atd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"ate" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"atf" = ( -/obj/structure/rack, -/obj/item/shovel, -/obj/item/pickaxe, -/obj/item/storage/toolbox/mechanical, -/obj/machinery/button/door{ - id = "MiningWarehouse"; - name = "Mining Warehouse Shutters"; - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"atg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/miningdock) -"ath" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"ati" = ( -/obj/machinery/computer/shuttle/mining, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"atj" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"atk" = ( -/turf/closed/wall, -/area/security/processing) -"atm" = ( -/obj/structure/rack, -/obj/item/storage/box/rubbershot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/box/rubbershot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/storage/box/rubbershot{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/black, -/area/security/armory) -"atn" = ( -/obj/structure/rack, -/obj/item/storage/box/teargas{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/flashbangs{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/black, -/area/security/armory) -"atq" = ( -/obj/machinery/flasher{ - id = "Cell 1"; - pixel_x = -32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"atr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/mob/living/simple_animal/bot/secbot{ - auto_patrol = 1; - desc = "Nobody escapes the Block as long as Ol' Saltwater controls it."; - name = "Ol' Saltwater"; - weaponscheck = 1 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ats" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"att" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CellBlockLowLeft"; - location = "CellBlockLowRight"; - name = "navigation beacon (CellBlockLowRight)" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"atv" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Cell 6"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"atx" = ( -/obj/structure/weightlifter, -/turf/open/floor/plating/astplate, -/area/security/prison) -"atA" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"atB" = ( -/obj/structure/table/wood, -/obj/item/device/paicard, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"atC" = ( -/obj/structure/table/wood, -/obj/item/storage/firstaid/brute, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"atD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"atE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms/female) -"atF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/dorms/female) -"atG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/dorms/female) -"atH" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/dorms/female) -"atI" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 9 - }, -/area/crew_quarters/dorms/female) -"atJ" = ( -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Female Sleeping Quarters APC"; - areastring = "/area/crew_quarters/dorms/female"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/turf/open/floor/plating, -/area/crew_quarters/dorms/female) -"atK" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"atL" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"atM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"atN" = ( -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"atO" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"atP" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"atQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/crew_quarters/heads/captain) -"atR" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Office"; - req_access = null; - req_access_txt = "20" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"atS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/heads/captain) -"atT" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"atU" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"atW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/item/storage/secure/safe{ - pixel_x = 32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"atX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"atY" = ( -/obj/structure/closet/crate/medical, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"atZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"aua" = ( -/obj/machinery/door/poddoor/shutters{ - id = "CargoWarehouse" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"aub" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"auf" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Supply Shuttle Airlock"; - req_access_txt = "31" - }, -/obj/docking_port/mobile/supply{ - dwidth = 5; - width = 12 - }, -/obj/docking_port/stationary{ - dir = 8; - dwidth = 5; - height = 7; - id = "supply_home"; - name = "Cargo Bay"; - width = 12 - }, -/turf/open/floor/plating, -/area/shuttle/supply) -"aug" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"auh" = ( -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"aui" = ( -/obj/machinery/computer/security/mining{ - network = list("MINE","AuxBase") - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"auk" = ( -/obj/structure/closet/crate, -/obj/item/ore/silver, -/obj/item/ore/silver, -/obj/item/ore/silver, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"aul" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"aum" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"aun" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"auo" = ( -/obj/machinery/gulag_teleporter, -/turf/open/floor/plasteel, -/area/security/processing) -"aup" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/device/radio, -/obj/machinery/camera{ - c_tag = "Brig Equipment North"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/main) -"auq" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/device/radio, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/main) -"aur" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/device/radio, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/main) -"aut" = ( -/obj/machinery/camera/motion{ - c_tag = "Armory South"; - dir = 1; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/darkred/side, -/area/security/armory) -"auv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"auz" = ( -/obj/machinery/light, -/obj/machinery/camera{ - c_tag = "Brig Perma South"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"auA" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"auB" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"auC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"auD" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"auE" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"auF" = ( -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"auG" = ( -/obj/structure/table/wood, -/obj/item/device/instrument/guitar, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"auH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"auI" = ( -/obj/structure/bed, -/obj/item/bedsheet/yellow, -/obj/structure/window{ - icon_state = "window"; - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"auJ" = ( -/obj/structure/bed, -/obj/item/bedsheet/green, -/obj/structure/window{ - icon_state = "window"; - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"auK" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/structure/window{ - icon_state = "window"; - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"auL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Chief Medical Officer's Desk"; - departmentType = 5; - name = "Chief Medical Officer RC"; - pixel_x = -30 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"auM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"auN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/cmo/private) -"auO" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"auP" = ( -/obj/structure/table/wood, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"auQ" = ( -/obj/structure/table/wood, -/obj/machinery/vending/wallmed{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"auR" = ( -/obj/structure/noticeboard{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 5 - }, -/area/bridge) -"auS" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/door/window{ - dir = 8; - icon_state = "right"; - name = "Bridge Desk"; - opacity = 1; - req_access_txt = "0"; - req_one_access_txt = "19;41" - }, -/turf/open/floor/carpet, -/area/bridge) -"auT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/carpet, -/area/bridge) -"auU" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/carpet, -/area/bridge) -"auV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/button/door{ - id = "bridge"; - name = "Bridge Lockdown"; - pixel_y = 24; - req_one_access_txt = "19;14" - }, -/turf/open/floor/carpet, -/area/bridge) -"auW" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/door/window/eastright{ - name = "Bridge Desk"; - req_access_txt = "0"; - req_one_access_txt = "19;41" - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/carpet, -/area/bridge) -"auX" = ( -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Bridge"; - departmentType = 5; - name = "Bridge RC"; - pixel_y = 30 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 9 - }, -/area/bridge) -"auY" = ( -/obj/machinery/camera{ - c_tag = "Bridge Main 1" - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"auZ" = ( -/obj/structure/sign/pods{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"ava" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"avb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/chief/private) -"avc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"avd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Chief Engineer's Desk"; - departmentType = 3; - name = "Chief Engineer RC"; - pixel_x = 30 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"ave" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Cargo Warehouse APC"; - areastring = "/area/quartermaster/storage"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"avg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"avh" = ( -/obj/machinery/door/poddoor/shutters{ - id = "CargoWarehouse" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"avi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"avj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"avk" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"avl" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"avm" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/obj/machinery/door/poddoor{ - id = "QMLoaddoor"; - name = "supply dock loading door" - }, -/turf/open/floor/plating, -/area/quartermaster/office) -"avn" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/obj/machinery/door/poddoor{ - id = "QMLoaddoor"; - name = "supply dock loading door" - }, -/turf/open/floor/plating, -/area/shuttle/supply) -"avo" = ( -/obj/structure/closet/secure_closet/miner, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"avp" = ( -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"avq" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"avr" = ( -/obj/machinery/door/airlock/glass_mining{ - cyclelinkeddir = 8; - name = "Mining Dock"; - req_access_txt = "48" - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"avs" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Mining Dock Airlock"; - req_access = null; - req_access_txt = "48"; - shuttledocked = 1 - }, -/turf/open/floor/plating, -/area/quartermaster/miningdock) -"avt" = ( -/obj/machinery/door/airlock/titanium{ - name = "Mining Shuttle Airlock"; - req_access_txt = "0" - }, -/turf/open/floor/plating, -/area/shuttle/mining) -"avu" = ( -/obj/docking_port/mobile{ - dir = 8; - dwidth = 3; - height = 5; - id = "mining"; - name = "mining shuttle"; - port_angle = 90; - width = 7 - }, -/obj/docking_port/stationary{ - dir = 8; - dwidth = 3; - height = 5; - id = "mining_home"; - name = "mining shuttle bay"; - width = 7 - }, -/obj/machinery/door/airlock/titanium{ - name = "Mining Shuttle Airlock"; - req_access_txt = "0" - }, -/turf/open/floor/plating, -/area/shuttle/mining) -"avv" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/labor) -"avw" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/labor) -"avx" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/airless, -/area/space) -"avy" = ( -/turf/open/floor/plasteel, -/area/security/main) -"avA" = ( -/obj/structure/table, -/obj/item/storage/box/prisoner, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"avB" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Security Equipment APC"; - areastring = "/area/security/main"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"avI" = ( -/turf/closed/wall, -/area/security/brig) -"avN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"avO" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"avP" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"avQ" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"avR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"avS" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"avT" = ( -/obj/structure/bed, -/obj/item/bedsheet/yellow, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"avU" = ( -/obj/structure/bed, -/obj/item/bedsheet/green, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"avV" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/female) -"avW" = ( -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Male Sleeping Quarters APC"; - areastring = "/area/crew_quarters/dorms/male"; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/turf/open/floor/plating, -/area/crew_quarters/dorms/male) -"avX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"avY" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Chief Medical Officer's Private Quarters APC"; - areastring = "/area/crew_quarters/heads/cmo/private"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"avZ" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"awa" = ( -/obj/structure/closet{ - icon_door = "blue"; - name = "Chief Medical Officer's Uniform" - }, -/obj/item/clothing/shoes/sneakers/brown/cmo, -/obj/item/clothing/under/rank/chief_medical_officer, -/obj/item/clothing/suit/toggle/labcoat/cmo, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/item/storage/belt/medical, -/obj/item/storage/backpack/medic, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"awb" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"awc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"awd" = ( -/obj/machinery/door/airlock/medical{ - name = "Chief Medical Officer's Personal Quarters"; - req_access_txt = "40" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"awe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"awf" = ( -/turf/open/floor/plasteel/black, -/area/bridge) -"awg" = ( -/turf/open/floor/plasteel/darkblue/side{ - dir = 4 - }, -/area/bridge) -"awh" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/device/aicard, -/turf/open/floor/carpet, -/area/bridge) -"awi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/bridge) -"awj" = ( -/turf/open/floor/carpet, -/area/bridge) -"awk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/bridge) -"awl" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/folder, -/turf/open/floor/carpet, -/area/bridge) -"awm" = ( -/turf/open/floor/plasteel/darkblue/side{ - dir = 8 - }, -/area/bridge) -"awn" = ( -/obj/machinery/door/airlock/engineering{ - name = "Chief Engineer's Personal Quarters"; - req_access_txt = "56" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"awo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"awp" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"awq" = ( -/obj/structure/closet{ - icon_door = "yellow"; - name = "Chief Engineer's Uniform" - }, -/obj/item/clothing/shoes/sneakers/brown/ce, -/obj/item/clothing/under/rank/chief_engineer, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/gloves/color/black/ce, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"awr" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"aws" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"awt" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"awu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/conveyor_switch{ - id = "QMLoad" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"awv" = ( -/obj/machinery/mineral/equipment_vendor, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"aww" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"awx" = ( -/obj/machinery/computer/shuttle/labor, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -31 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"awy" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"awz" = ( -/turf/closed/wall, -/area/crew_quarters/heads/hos) -"awA" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/crew_quarters/heads/hos) -"awB" = ( -/obj/structure/closet/l3closet/scientist, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/main) -"awC" = ( -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/security/main) -"awD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"awE" = ( -/turf/open/floor/plasteel, -/area/security/processing) -"awF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/security/processing) -"awG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/processing) -"awH" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/security/main) -"awI" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/main) -"awJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/brig) -"awK" = ( -/obj/structure/closet{ - name = "evidence closet" - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/brig) -"awL" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Brig Control"; - req_access_txt = "3" - }, -/turf/open/floor/plasteel/red, -/area/security/warden) -"awM" = ( -/obj/structure/closet/secure_closet/warden, -/obj/item/device/radio, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"awN" = ( -/obj/machinery/button/door{ - id = "wardencell"; - name = "Cell Access Privacy Shutter"; - pixel_x = 24; - pixel_y = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"awO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"awP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/brig) -"awR" = ( -/obj/structure/table, -/obj/machinery/computer/med_data/laptop, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/security/brig) -"awS" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/security/brig) -"awT" = ( -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"awU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"awX" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"awY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"awZ" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"axa" = ( -/turf/closed/wall, -/area/crew_quarters/dorms/male) -"axb" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/obj/machinery/computer/mecha, -/turf/open/floor/carpet, -/area/bridge) -"axc" = ( -/obj/structure/chair/comfy/brown, -/turf/open/floor/carpet, -/area/bridge) -"axd" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/machinery/computer/cargo/request, -/turf/open/floor/carpet, -/area/bridge) -"axe" = ( -/turf/closed/wall, -/area/crew_quarters/heads/chief/private) -"axf" = ( -/obj/structure/closet/crate/medical, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"axg" = ( -/obj/structure/closet/crate/freezer, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"axh" = ( -/obj/machinery/button/door{ - id = "CargoWarehouse"; - name = "Cargo Warehouse Shutters"; - pixel_x = 24 - }, -/obj/structure/closet/crate/freezer, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"axi" = ( -/obj/machinery/button/door{ - id = "CargoWarehouse"; - name = "Cargo Warehouse Shutters"; - pixel_x = -24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"axj" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "QM #1" - }, -/mob/living/simple_animal/bot/mulebot{ - beacon_freq = 1400; - home_destination = "QM #1"; - suffix = "#1" - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"axk" = ( -/turf/open/floor/mineral/titanium/blue, -/turf/closed/wall/mineral/titanium/interior, -/area/shuttle/supply) -"axl" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - dir = 4; - freq = 1400; - location = "QM #4" - }, -/mob/living/simple_animal/bot/mulebot{ - home_destination = "QM #4"; - suffix = "#2" - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"axm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"axn" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"axo" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 8 - }, -/area/quartermaster/miningdock) -"axp" = ( -/obj/machinery/computer/shuttle/mining, -/obj/machinery/camera{ - c_tag = "Mining Bay"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"axq" = ( -/obj/structure/closet/crate, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"axr" = ( -/obj/structure/shuttle/engine/heater, -/turf/open/floor/plating, -/area/shuttle/mining) -"axs" = ( -/obj/structure/ore_box, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/mining) -"axt" = ( -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"axu" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"axv" = ( -/obj/machinery/mineral/labor_claim_console{ - machinedir = 2; - pixel_x = 30; - pixel_y = 30 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"axw" = ( -/obj/machinery/door/airlock/titanium{ - name = "Labor Shuttle Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"axy" = ( -/obj/structure/closet/l3closet/scientist, -/obj/structure/sign/goldenplaque{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"axz" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "Labor Camp Shuttle Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/plating, -/area/security/processing) -"axA" = ( -/obj/effect/landmark/start/security_officer, -/turf/open/floor/plasteel, -/area/security/main) -"axB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"axD" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/main) -"axF" = ( -/obj/structure/closet{ - name = "evidence closet" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/brig) -"axI" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"axK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"axL" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/westright{ - name = "Warden's Desk"; - req_access_txt = "3" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red, -/area/security/warden) -"axN" = ( -/obj/structure/bodycontainer/morgue, -/turf/open/floor/plasteel/white, -/area/security/brig) -"axO" = ( -/turf/open/floor/plasteel/white, -/area/security/brig) -"axP" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/plasteel/black, -/area/security/brig) -"axQ" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/security/brig) -"axR" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"axT" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"axU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"axV" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"axW" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Dorm SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"axX" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"axY" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"axZ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aya" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"ayb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"ayc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"ayd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/vending/clothing, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aye" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"ayf" = ( -/obj/structure/bed, -/obj/item/bedsheet/blue, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"ayg" = ( -/obj/structure/bed, -/obj/item/bedsheet/orange, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"ayh" = ( -/obj/structure/bed, -/obj/item/bedsheet/purple, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"ayi" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hos/private) -"ayj" = ( -/obj/structure/bed, -/obj/item/bedsheet/hos, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/storage/secure/safe{ - pixel_x = -28 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"ayk" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"ayl" = ( -/obj/structure/table/wood, -/obj/item/device/modular_computer/laptop/preset/civillian, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aym" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"ayn" = ( -/turf/closed/wall, -/area/crew_quarters/heads/hos/private) -"ayp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"ayq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"ayr" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/darkblue, -/area/bridge) -"ays" = ( -/obj/structure/window/reinforced, -/obj/machinery/computer/card, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/bridge) -"ayt" = ( -/obj/structure/window/reinforced, -/obj/machinery/computer/communications, -/turf/open/floor/carpet, -/area/bridge) -"ayu" = ( -/obj/structure/window/reinforced, -/obj/machinery/computer/security, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/bridge) -"ayv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"ayw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"ayx" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"ayy" = ( -/turf/closed/wall, -/area/crew_quarters/heads/hor/private) -"ayz" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"ayA" = ( -/obj/structure/table/wood, -/obj/item/device/modular_computer/laptop/preset/civillian, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"ayB" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"ayC" = ( -/obj/structure/bed, -/obj/item/bedsheet/rd, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/sign/poster/contraband/lamarr{ - pixel_x = 32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"ayD" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hor/private) -"ayE" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"ayF" = ( -/obj/structure/closet, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"ayG" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"ayH" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Fore Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/fore/cargo_west"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"ayI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"ayJ" = ( -/obj/structure/closet/crate/internals, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"ayK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/camera{ - c_tag = "Cargo Western Loading Bay 1"; - dir = 5; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ayL" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ayM" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "QM #2" - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"ayN" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/shuttle/engine/heater, -/turf/open/floor/plating/airless, -/area/shuttle/supply) -"ayO" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - dir = 4; - freq = 1400; - location = "QM #5" - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"ayP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ayQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ayR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ayS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"ayT" = ( -/obj/machinery/door/airlock/mining{ - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"ayU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"ayV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"ayW" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"ayX" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"ayY" = ( -/obj/structure/shuttle/engine/propulsion/burst, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/turf/open/floor/plating/airless, -/area/shuttle/mining) -"ayZ" = ( -/obj/machinery/door/airlock/titanium{ - name = "Labor Shuttle Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/plasteel/black, -/area/shuttle/labor) -"aza" = ( -/obj/machinery/mineral/stacking_machine/laborstacker{ - input_dir = 2; - output_dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/labor) -"azb" = ( -/obj/effect/landmark/start/security_officer, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/main) -"azc" = ( -/obj/structure/table, -/turf/open/floor/plasteel, -/area/security/main) -"azd" = ( -/obj/effect/landmark/start/security_officer, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/main) -"azf" = ( -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"azh" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = null; - name = "Evidence Storage"; - req_access_txt = "0"; - req_one_access_txt = "38;63" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/red, -/area/security/brig) -"azi" = ( -/obj/structure/closet{ - name = "evidence closet" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"azk" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"azl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/prison) -"azn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/window/reinforced, -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/plasteel/white, -/area/security/brig) -"azo" = ( -/obj/structure/table/wood, -/obj/item/folder, -/obj/item/folder/red, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/security/brig) -"azp" = ( -/turf/closed/wall, -/area/security/courtroom) -"azq" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"azr" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"azs" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Dorm SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"azt" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"azu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Fore Maintenance APC"; - areastring = "/area/maintenance/asteroid/fore/com_north"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"azv" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"azw" = ( -/obj/structure/table/wood, -/obj/item/storage/crayons, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"azx" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/item/coin/silver, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"azy" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"azz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"azA" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"azB" = ( -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"azC" = ( -/obj/structure/bed, -/obj/item/bedsheet/blue, -/obj/structure/window, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"azD" = ( -/obj/structure/bed, -/obj/item/bedsheet/orange, -/obj/structure/window, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"azE" = ( -/obj/structure/bed, -/obj/item/bedsheet/purple, -/obj/structure/window, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"azF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/fun_police{ - pixel_x = -32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"azG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"azH" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"azI" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"azJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/hos/private) -"azK" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"azL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/black, -/area/bridge) -"azM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"azN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"azO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"azP" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"azQ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"azR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/hor/private) -"azS" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"azT" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"azU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"azV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/item/storage/secure/safe{ - pixel_x = 32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"azW" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Research Director's Private Quarters APC"; - areastring = "/area/crew_quarters/heads/hor/private"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"azX" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"azY" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"azZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"aAa" = ( -/obj/machinery/door/airlock/engineering{ - name = "Cargo Warehouse"; - req_access_txt = "31" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"aAb" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aAc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aAd" = ( -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aAe" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "QM #3" - }, -/mob/living/simple_animal/bot/mulebot{ - home_destination = "QM #3"; - suffix = "#2" - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"aAf" = ( -/obj/structure/shuttle/engine/propulsion/burst/left, -/turf/open/floor/plating/airless, -/area/shuttle/supply) -"aAg" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/supply) -"aAh" = ( -/obj/structure/shuttle/engine/propulsion/burst/right, -/turf/open/floor/plating/airless, -/area/shuttle/supply) -"aAi" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - dir = 4; - freq = 1400; - location = "QM #6" - }, -/mob/living/simple_animal/bot/mulebot{ - home_destination = "QM #6"; - suffix = "#2" - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"aAj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Cargo Eastern Loading Bay 2"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aAk" = ( -/obj/machinery/disposal/bin, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 1 - }, -/area/quartermaster/miningdock) -"aAl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"aAm" = ( -/obj/structure/table, -/obj/item/folder, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"aAn" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/labor) -"aAo" = ( -/obj/machinery/mineral/labor_claim_console{ - machinedir = 1; - pixel_x = 30 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/labor) -"aAp" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/glass_security{ - name = "Head of Security's Office"; - req_access_txt = "58" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hos) -"aAq" = ( -/obj/effect/landmark/start/security_officer, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/main) -"aAr" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel, -/area/security/main) -"aAs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/corner, -/area/security/main) -"aAt" = ( -/obj/structure/closet/wardrobe/red, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/main) -"aAu" = ( -/obj/structure/closet{ - name = "evidence closet" - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/brig) -"aAv" = ( -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aAx" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"aAy" = ( -/obj/structure/rack, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/machinery/light, -/obj/machinery/button/door{ - id = "brigfront"; - name = "Emergency Brig Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "1" - }, -/obj/machinery/button/door{ - id = "armoryaccess"; - name = "Armory Shutter Access"; - pixel_x = 24; - req_access_txt = "3" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"aAA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"aAC" = ( -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/security/brig) -"aAD" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Cell Block"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red, -/area/security/brig) -"aAE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"aAF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"aAG" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"aAI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"aAJ" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aAK" = ( -/obj/structure/chair/comfy/brown, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aAL" = ( -/obj/structure/chair/comfy/black, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aAO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aAP" = ( -/turf/closed/wall/r_wall, -/area/maintenance/asteroid/fore/com_north) -"aAQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aAR" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aAS" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Dorm SMES"; - dir = 6 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"aAU" = ( -/obj/structure/table/wood, -/obj/item/toy/cards/deck, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aAV" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aAW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aAX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms/male) -"aAY" = ( -/obj/machinery/light_switch{ - pixel_x = -25 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 6 - }, -/area/crew_quarters/dorms/male) -"aAZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 6 - }, -/area/crew_quarters/dorms/male) -"aBa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/dorms/male) -"aBb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/dorms/male) -"aBc" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/dorms/male) -"aBd" = ( -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Head of Security's Desk"; - departmentType = 5; - name = "Head of Security RC"; - pixel_x = -30 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBe" = ( -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/chair/office/light, -/turf/open/floor/plasteel/black, -/area/bridge) -"aBg" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/black, -/area/bridge) -"aBh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/black, -/area/bridge) -"aBi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aBj" = ( -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aBk" = ( -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Research Director's Desk"; - departmentType = 5; - name = "Research Director RC"; - pixel_x = 30 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aBl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera/motion{ - c_tag = "Bridge Mainteance East"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"aBm" = ( -/obj/structure/closet/crate, -/obj/item/coin/silver, -/obj/item/coin/silver, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"aBn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/office) -"aBo" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aBp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/office) -"aBq" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aBr" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/flasher{ - id = "gulagshuttleflasher"; - pixel_x = 25 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/labor) -"aBt" = ( -/obj/structure/sign/map/left/ceres{ - pixel_x = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "Brig Equipment East"; - dir = 9; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"aBu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/main) -"aBv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/brig) -"aBz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aBG" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aBH" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/rack, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"aBJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aBK" = ( -/obj/structure/chair/stool, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aBL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aBM" = ( -/obj/machinery/door/airlock{ - name = "Male Sleeping Quarters" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/dorms/male) -"aBN" = ( -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms/male) -"aBO" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms/male) -"aBP" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms/male) -"aBQ" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBR" = ( -/obj/structure/closet/secure_closet/hos, -/obj/item/device/radio, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBS" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBU" = ( -/obj/machinery/door/airlock/security{ - name = "Head of Security's Personal Quarters"; - req_access_txt = "58" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"aBV" = ( -/obj/machinery/camera{ - c_tag = "Bridge Main 2"; - dir = 1; - network = list("SS13") - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aBW" = ( -/obj/machinery/computer/crew, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aBX" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aBY" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/machinery/light, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aBZ" = ( -/turf/open/floor/plasteel/darkblue/corner{ - dir = 8 - }, -/area/bridge) -"aCa" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/black, -/area/bridge) -"aCb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/device/radio/beacon, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aCc" = ( -/turf/open/floor/plasteel/darkblue/corner, -/area/bridge) -"aCd" = ( -/obj/machinery/computer/security, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aCe" = ( -/obj/machinery/computer/secure_data, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aCf" = ( -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aCg" = ( -/obj/machinery/door/airlock/research{ - name = "Research Director's Personal Quarters"; - req_access_txt = "30" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aCh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aCi" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aCj" = ( -/obj/structure/closet{ - icon_door = "pink"; - name = "Research Director's Uniform" - }, -/obj/item/clothing/shoes/sneakers/brown/rd, -/obj/item/clothing/under/rank/research_director, -/obj/item/clothing/under/rank/research_director/turtleneck, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/suit/toggle/labcoat, -/obj/item/storage/backpack/science, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aCk" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"aCl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCn" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/status_display{ - density = 0; - name = "cargo display"; - pixel_y = 32; - supply_display = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCq" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCu" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aCv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"aCw" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Mining Dock APC"; - areastring = "/area/quartermaster/miningdock"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"aCx" = ( -/obj/structure/closet/crate, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/labor) -"aCy" = ( -/obj/machinery/door/airlock/titanium{ - id_tag = "prisonshuttle"; - name = "Labor Shuttle Airlock" - }, -/obj/docking_port/mobile{ - dir = 8; - dwidth = 2; - height = 5; - id = "laborcamp"; - name = "labor camp shuttle"; - port_angle = 90; - width = 9 - }, -/obj/docking_port/stationary{ - dir = 8; - dwidth = 2; - height = 5; - id = "laborcamp_home"; - name = "fore bay 1"; - width = 9 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/labor) -"aCz" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/glass_security{ - name = "Head of Security's Office"; - req_access_txt = "58" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hos) -"aCA" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "Labor Camp Shuttle Airlock" - }, -/turf/open/floor/plating, -/area/security/processing) -"aCB" = ( -/obj/structure/table, -/obj/item/clothing/head/beret/sec, -/turf/open/floor/plasteel, -/area/security/main) -"aCC" = ( -/obj/effect/landmark/start/security_officer, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/main) -"aCD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"aCE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/brig) -"aCF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/camera{ - c_tag = "Brig Main West"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCH" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCK" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Brig Main Middle"; - dir = 6; - network = list("SS13","Security") - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used to watch the various criminals inside their cells."; - name = "Cell Monitor"; - network = list("PrisonCell"); - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCN" = ( -/obj/structure/sign/bluecross_2{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aCU" = ( -/obj/structure/closet/secure_closet/courtroom, -/obj/item/gavelhammer, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aCV" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aCW" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aCY" = ( -/turf/open/floor/plasteel/neutral, -/area/security/courtroom) -"aDa" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/machinery/camera{ - c_tag = "Courtroom North"; - dir = 6 - }, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aDb" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aDc" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aDd" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aDe" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/table, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aDf" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aDg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aDh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aDi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Dorm Commons South"; - dir = 10 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aDj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aDk" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aDl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms/male) -"aDm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/dorms/male) -"aDn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/dorms/male) -"aDo" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/dorms/male) -"aDp" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 9 - }, -/area/crew_quarters/dorms/male) -"aDq" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/dorms/male) -"aDr" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hos/private) -"aDs" = ( -/turf/closed/wall, -/area/bridge) -"aDt" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/bridge) -"aDu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/turf/open/floor/plating, -/area/bridge) -"aDw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/bridge) -"aDy" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"aDz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"aDA" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"aDB" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aDC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aDD" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"aDE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/brown, -/area/quartermaster/office) -"aDF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/brown, -/area/quartermaster/office) -"aDG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 8 - }, -/area/quartermaster/office) -"aDH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aDI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Cargo Hall"; - dir = 1; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aDJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aDK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/machinery/camera{ - c_tag = "Cargo Hall East"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aDL" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/turf/open/floor/plating/airless, -/area/shuttle/labor) -"aDM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/main) -"aDN" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"aDO" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Equipment Room"; - req_access_txt = "1" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red, -/area/security/brig) -"aDP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/security/brig) -"aDX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aEb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/brig) -"aEg" = ( -/obj/machinery/door/airlock/security{ - name = "Courtroom"; - req_access = null; - req_access_txt = "1" - }, -/turf/open/floor/plasteel, -/area/security/courtroom) -"aEh" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/courtroom) -"aEi" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/courtroom) -"aEj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/security/courtroom) -"aEk" = ( -/obj/structure/table/wood, -/obj/item/gavelblock, -/turf/open/floor/plasteel/neutral, -/area/security/courtroom) -"aEm" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aEn" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 1 - }, -/area/security/courtroom) -"aEo" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aEp" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"aEq" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Dorm Toilets APC"; - areastring = "/area/crew_quarters/toilet"; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aEr" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"aEs" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aEt" = ( -/turf/open/floor/plasteel/neutral/side, -/area/crew_quarters/locker) -"aEu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aEv" = ( -/obj/structure/bed, -/obj/item/bedsheet/yellow, -/obj/structure/window{ - icon_state = "window"; - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aEw" = ( -/obj/structure/bed, -/obj/item/bedsheet/green, -/obj/structure/window{ - icon_state = "window"; - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aEx" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/structure/window{ - icon_state = "window"; - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aEy" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/bridge) -"aEz" = ( -/obj/structure/rack, -/obj/item/device/flashlight, -/turf/open/floor/plating, -/area/bridge) -"aEA" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Head of Security's Personal Quarters APC"; - areastring = "/area/crew_quarters/heads/hos/private"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/bridge) -"aEB" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/bridge) -"aEC" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Bridge APC"; - areastring = "/area/bridge"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/turf/open/floor/plating, -/area/bridge) -"aED" = ( -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEE" = ( -/obj/machinery/camera{ - c_tag = "Bridge Midway 1" - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEF" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEG" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEH" = ( -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/darkblue/corner{ - dir = 1 - }, -/area/bridge) -"aEJ" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aEL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aEM" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/corner{ - dir = 4 - }, -/area/bridge) -"aEN" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEO" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEP" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aEQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"aER" = ( -/turf/closed/wall, -/area/quartermaster/qm/private) -"aES" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aET" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aEU" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aEV" = ( -/obj/structure/bed, -/obj/item/bedsheet/qm, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/storage/secure/safe{ - pixel_x = 32 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aEW" = ( -/turf/closed/wall/r_wall, -/area/quartermaster/qm/private) -"aEX" = ( -/obj/machinery/door/airlock/glass_mining{ - name = "Cargo Bay"; - req_access_txt = "0"; - req_one_access_txt = "31;48" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aEY" = ( -/obj/machinery/door/airlock/glass_mining{ - name = "Cargo Bay"; - req_access_txt = "0"; - req_one_access_txt = "31;48" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aEZ" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/fourcolor, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aFa" = ( -/obj/structure/table, -/obj/item/clothing/gloves/fingerless, -/obj/item/clothing/head/soft, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aFb" = ( -/obj/structure/closet/wardrobe/cargotech, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aFc" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aFd" = ( -/obj/structure/table, -/obj/item/hand_labeler, -/obj/item/hand_labeler_refill, -/obj/item/hand_labeler_refill, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aFe" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/labor) -"aFf" = ( -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/main) -"aFh" = ( -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/main) -"aFj" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"aFk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/security/brig) -"aFl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/brig) -"aFm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFp" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFv" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFx" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/brig) -"aFy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aFz" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aFA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner, -/area/security/brig) -"aFB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aFC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFD" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFG" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aFJ" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side, -/area/security/courtroom) -"aFK" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 1; - icon_state = "pipe-j2s"; - name = "disposal pipe - Chemistry"; - sortType = 11 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"aFM" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/security/courtroom) -"aFN" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/security/courtroom) -"aFR" = ( -/turf/closed/wall, -/area/crew_quarters/toilet) -"aFS" = ( -/obj/structure/closet/secure_closet/personal, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aFT" = ( -/obj/structure/closet/secure_closet/personal, -/obj/machinery/light, -/obj/effect/spawner/lootdrop/costume, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aFU" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aFV" = ( -/obj/structure/bed, -/obj/item/bedsheet/yellow, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aFW" = ( -/obj/machinery/light/small, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aFX" = ( -/obj/structure/bed, -/obj/item/bedsheet/green, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aFY" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/turf/open/floor/plasteel/black, -/area/crew_quarters/dorms/male) -"aFZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/bridge) -"aGa" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/disposaloutlet{ - dir = 4 - }, -/turf/open/floor/plating, -/area/bridge) -"aGb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/bridge) -"aGc" = ( -/obj/machinery/light/small, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Head of Personnel's Office APC"; - areastring = "/area/crew_quarters/heads/hop"; - pixel_y = -24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/bridge) -"aGd" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/bridge) -"aGe" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Bridge APC Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/bridge) -"aGf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGg" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGh" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGi" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGj" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGk" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aGm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/quartermaster/qm/private) -"aGn" = ( -/obj/structure/table/wood, -/obj/item/device/modular_computer/laptop/preset/civillian, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aGo" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aGq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Quartermaster RC"; - pixel_x = 30 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aGr" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Quartermaster's Private Quarters APC"; - areastring = "/area/quartermaster/qm/private"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aGs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aGt" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/brown{ - dir = 1 - }, -/area/quartermaster/office) -"aGu" = ( -/turf/open/floor/plasteel/brown{ - dir = 1 - }, -/area/quartermaster/office) -"aGv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 1 - }, -/area/quartermaster/office) -"aGw" = ( -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Cargo RC"; - pixel_y = 30 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aGx" = ( -/obj/machinery/autolathe, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aGy" = ( -/obj/structure/table, -/obj/item/device/multitool, -/obj/machinery/camera{ - c_tag = "Cargo Desk"; - dir = 6; - network = list("SS13","QM") - }, -/obj/machinery/status_display{ - density = 0; - name = "cargo display"; - pixel_y = 32; - supply_display = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aGz" = ( -/obj/structure/table, -/obj/item/folder, -/obj/item/stamp/denied{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/obj/item/stamp, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aGA" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/structure/noticeboard{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aGB" = ( -/obj/structure/table, -/obj/machinery/computer/stockexchange, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aGC" = ( -/turf/closed/wall, -/area/security/checkpoint/supply) -"aGD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/supply) -"aGE" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/newscaster/security_unit{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"aGF" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/detectives_office) -"aGG" = ( -/turf/closed/wall, -/area/lawoffice) -"aGH" = ( -/obj/machinery/door/airlock{ - name = "Law Office"; - req_access_txt = "38" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/lawoffice) -"aGK" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/brig) -"aGL" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aGM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aGN" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"aGP" = ( -/turf/open/floor/plasteel, -/area/security/brig) -"aGQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/brig) -"aGR" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "innerbrig"; - name = "Brig Checkpoint"; - req_access_txt = "0"; - req_one_access_txt = "38;63" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/brig) -"aGU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/courtroom) -"aGV" = ( -/turf/open/floor/plasteel, -/area/security/courtroom) -"aGW" = ( -/obj/structure/table/wood, -/obj/item/folder/blue, -/turf/open/floor/plasteel/blue/side{ - dir = 9 - }, -/area/security/courtroom) -"aGY" = ( -/obj/machinery/recharge_station, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aGZ" = ( -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aHa" = ( -/obj/machinery/door/airlock/glass{ - name = "Dormitories" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aHb" = ( -/obj/machinery/door/airlock/glass{ - name = "Dormitories" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aHc" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hop) -"aHd" = ( -/turf/closed/wall, -/area/crew_quarters/heads/hop) -"aHe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aHf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aHg" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/bridge) -"aHh" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aHi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aHj" = ( -/obj/machinery/door/airlock/mining{ - name = "Quartermaster's Private Quarters"; - req_access_txt = "41" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aHk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aHl" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aHm" = ( -/obj/machinery/light_switch{ - pixel_y = -25 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aHn" = ( -/obj/structure/closet{ - icon_door = "orange"; - name = "Quartermaster's Uniform" - }, -/obj/item/clothing/shoes/sneakers/brown/qm, -/obj/item/clothing/under/rank/cargo, -/obj/item/storage/backpack, -/obj/item/clothing/gloves/color/black, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"aHo" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"aHp" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Gravity Generator APC"; - areastring = "/area/maintenance/asteroid/fore/cargo_west"; - pixel_y = -24 - }, -/turf/closed/mineral, -/area/maintenance/asteroid/fore/cargo_west) -"aHq" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aHr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aHs" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aHt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/supply) -"aHu" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/supply) -"aHv" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/supply) -"aHw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/supply) -"aHx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/supply) -"aHy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/main) -"aHB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aHC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/lawoffice) -"aHE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/lawoffice) -"aHF" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/wood, -/area/lawoffice) -"aHH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aHJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aHK" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/brig) -"aHL" = ( -/obj/structure/chair, -/obj/machinery/camera{ - c_tag = "Brig Lobby West"; - dir = 4; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aHM" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"aHN" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/brig) -"aHO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"aHP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"aHR" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/security/brig) -"aHS" = ( -/obj/machinery/camera{ - c_tag = "Brig Lobby Checkpoint"; - dir = 9; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/brig) -"aHT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/courtroom) -"aHV" = ( -/obj/machinery/door/airlock/glass{ - name = "Courtroom"; - req_access_txt = "1" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aHW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/blue/side{ - dir = 4 - }, -/area/security/courtroom) -"aHX" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aHY" = ( -/obj/machinery/door/airlock{ - id_tag = "b3" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aHZ" = ( -/obj/structure/urinal{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aIa" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aIb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aIc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aId" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/locker) -"aIe" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aIf" = ( -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aIg" = ( -/obj/structure/closet/wardrobe/pjs, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aIh" = ( -/obj/structure/bed, -/obj/item/bedsheet/hop, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aIi" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aIj" = ( -/obj/structure/closet/secure_closet/hop, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/storage/secure/safe{ - pixel_y = 32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aIk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/hop) -"aIl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Head of Personnel's Desk"; - departmentType = 5; - name = "Head of Personnel RC"; - pixel_y = 30 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aIm" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aIn" = ( -/obj/structure/bed/dogbed, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/mob/living/simple_animal/pet/dog/corgi/Ian, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aIo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/hop) -"aIp" = ( -/obj/machinery/door/airlock/glass_command{ - cyclelinkeddir = null; - name = "Head of Personnel's Office"; - req_access_txt = "57"; - req_one_access = null; - req_one_access_txt = "0" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aIq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/bridge) -"aIr" = ( -/obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aIs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aIt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/black, -/area/bridge) -"aIu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aIv" = ( -/obj/machinery/camera{ - c_tag = "Bridge Midway 2"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aIw" = ( -/obj/machinery/light, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aIx" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aIy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aIz" = ( -/mob/living/simple_animal/sloth/paperwork, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aIA" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Security Office"; - req_access_txt = "63" - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/supply) -"aIB" = ( -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/supply) -"aIC" = ( -/turf/open/floor/plasteel, -/area/security/checkpoint/supply) -"aID" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/supply) -"aIE" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Cargo Security Checkpoint APC"; - areastring = "/area/security/checkpoint/supply"; - pixel_x = -23; - pixel_y = 2 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aIF" = ( -/obj/effect/landmark/secequipment, -/turf/open/floor/plasteel/red/side, -/area/security/main) -"aIG" = ( -/obj/effect/landmark/secequipment, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/main) -"aII" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/effect/landmark/start/detective, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/carpet, -/area/security/detectives_office) -"aIM" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/lawoffice) -"aIN" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/lawoffice) -"aIO" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp/green, -/turf/open/floor/wood, -/area/lawoffice) -"aIP" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/security/brig) -"aIQ" = ( -/turf/open/floor/wood, -/area/lawoffice) -"aIR" = ( -/obj/machinery/door/window/brigdoor/southleft{ - name = "Security Checkpoint Waiting Cell"; - req_one_access_txt = "38;63" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aIS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/security/brig) -"aIT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/security/brig) -"aIU" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/chair/office/light{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/brig) -"aIW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/security/courtroom) -"aIX" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aIY" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aIZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/security/courtroom) -"aJa" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aJb" = ( -/obj/machinery/button/door{ - id = "b3"; - name = "Privacy Bolts"; - normaldoorcontrol = 1; - pixel_x = 24 - }, -/obj/machinery/recharge_station, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aJc" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aJd" = ( -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aJe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = -29 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aJf" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/locker) -"aJg" = ( -/obj/structure/closet/wardrobe/grey, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aJh" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aJj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aJk" = ( -/obj/machinery/door/airlock/command{ - name = "Head of Personnel's Private Quarters"; - req_access = null; - req_access_txt = "57" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aJl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aJm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aJn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aJo" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aJp" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aJq" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aJr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aJs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aJt" = ( -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Fore Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/fore/com_east"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aJu" = ( -/turf/closed/wall, -/area/teleporter/quantum/cargo) -"aJv" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/teleporter/quantum/cargo) -"aJw" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/bot, -/area/quartermaster/office) -"aJy" = ( -/obj/machinery/photocopier, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJz" = ( -/obj/machinery/computer/cargo, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJA" = ( -/obj/structure/chair/office/dark, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJB" = ( -/obj/structure/table, -/obj/machinery/computer/stockexchange, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJC" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aJE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/supply) -"aJF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/closet/secure_closet/security/cargo, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/supply) -"aJG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for making sure Cargo isn't hiding an armory bigger than Security's."; - name = "Cargo Monitor"; - network = list("QM"); - pixel_y = -32 - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/supply) -"aJH" = ( -/obj/structure/filingcabinet, -/obj/machinery/light, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/supply) -"aJI" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/newscaster/security_unit{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/supply) -"aJJ" = ( -/obj/machinery/camera{ - c_tag = "Cargo Security Checkpoint"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/supply) -"aJK" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/item/coin/silver, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"aJL" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"aJM" = ( -/obj/structure/table/wood, -/obj/machinery/computer/med_data/laptop, -/turf/open/floor/carpet, -/area/security/detectives_office) -"aJN" = ( -/obj/structure/table/wood, -/obj/item/storage/box/evidence, -/obj/item/hand_labeler, -/obj/item/hand_labeler_refill{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/machinery/camera{ - c_tag = "Detective's Office"; - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aJQ" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/effect/landmark/start/lawyer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/lawoffice) -"aJR" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/holopad, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/wood, -/area/lawoffice) -"aJS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aJU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aJV" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "outterbrig"; - name = "Brig"; - req_access_txt = "0"; - req_one_access_txt = "38;63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red, -/area/security/brig) -"aJW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"aJX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/brig) -"aJZ" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aKa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/toilet) -"aKb" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aKc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aKd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aKe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/locker) -"aKf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aKg" = ( -/obj/structure/closet/wardrobe/mixed, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aKh" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aKi" = ( -/obj/structure/chair, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aKj" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aKk" = ( -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKn" = ( -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/bridge) -"aKp" = ( -/turf/closed/wall, -/area/hallway/primary/fore) -"aKq" = ( -/turf/closed/wall/rust, -/area/hallway/primary/fore) -"aKr" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/teleporter/quantum/cargo) -"aKs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Cargo Quantum Pad APC"; - areastring = "/area/teleporter/quantum/cargo"; - pixel_y = 24 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aKu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aKv" = ( -/obj/machinery/door/airlock/glass_mining{ - name = "Cargo Office"; - req_access_txt = "0"; - req_one_access_txt = "50;48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aKw" = ( -/obj/machinery/mineral/ore_redemption, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aKx" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/northright{ - name = "Cargo Desk"; - req_one_access_txt = "50;48" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/office) -"aKA" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aKB" = ( -/obj/structure/table/wood, -/obj/item/folder/blue{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/folder/red{ - pixel_x = 8; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/lawoffice) -"aKC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/lawoffice) -"aKD" = ( -/obj/machinery/photocopier, -/obj/machinery/button/door{ - id = "lawyer"; - name = "Privacy Shutters"; - pixel_x = 24; - pixel_y = -3 - }, -/turf/open/floor/wood, -/area/lawoffice) -"aKE" = ( -/obj/machinery/camera{ - c_tag = "Brig Holding Cell"; - dir = 4; - network = list("SS13","Security") - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aKF" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aKG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aKH" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"aKI" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "b2"; - name = "Privacy Bolts"; - normaldoorcontrol = 1; - pixel_x = -24 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aKJ" = ( -/obj/machinery/door/airlock{ - id_tag = "b2" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aKK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aKL" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aKM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/toilet) -"aKN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aKO" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aKP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aKQ" = ( -/obj/structure/closet/wardrobe/mixed, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aKR" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aKS" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aKT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"aKU" = ( -/obj/structure/table, -/obj/item/folder/red{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/machinery/keycard_auth{ - pixel_x = -24 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKV" = ( -/obj/structure/table, -/obj/machinery/camera{ - c_tag = "Head of Personnel's Office"; - dir = 1; - network = list("SS13") - }, -/obj/machinery/recharger, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKW" = ( -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKX" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/stamp/hop, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKY" = ( -/obj/machinery/computer/card, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aKZ" = ( -/obj/structure/chair/comfy, -/obj/machinery/button/flasher{ - id = "hopflash"; - name = "Line Flash"; - pixel_x = 32 - }, -/obj/machinery/button/door{ - id = "hopshutter"; - name = "Desk Shutters"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "57" - }, -/obj/machinery/button/door{ - id = "hopexternal"; - name = "External Lockdown"; - pixel_x = 24; - req_access_txt = "57" - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"aLa" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 8 - }, -/area/bridge) -"aLb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aLc" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aLd" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"aLe" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aLf" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aLg" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 4 - }, -/area/bridge) -"aLh" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aLi" = ( -/obj/machinery/camera{ - c_tag = "Command SMES"; - dir = 6 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aLj" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/sign/electricshock{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aLk" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aLl" = ( -/obj/structure/table, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aLm" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aLn" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aLo" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aLp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aLq" = ( -/obj/machinery/quantumpad, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aLr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Quantum Pad"; - dir = 8; - network = list("SS13","QM") - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aLs" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLt" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLA" = ( -/obj/machinery/computer/cargo/request, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aLD" = ( -/obj/structure/filingcabinet, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aLE" = ( -/obj/structure/table/wood, -/obj/item/device/camera/detective, -/obj/item/lighter, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aLH" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/wood, -/area/lawoffice) -"aLI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/wood, -/area/lawoffice) -"aLJ" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Lawyer's Office APC"; - areastring = "/area/lawoffice"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/wood, -/area/lawoffice) -"aLM" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aLP" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aLR" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aLS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aLT" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/locker) -"aLU" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aLV" = ( -/obj/structure/closet/wardrobe/mixed, -/obj/machinery/camera{ - c_tag = "Dorm Lockers"; - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"aLW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hopshutter" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/hop) -"aLX" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hopshutter" - }, -/obj/machinery/door/window/northleft{ - layer = 2.9; - level = 2; - name = "Desk Door"; - req_access_txt = "57" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/hop) -"aLY" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 8 - }, -/area/bridge) -"aLZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"aMa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aMb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/bridge) -"aMc" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"aMd" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 4 - }, -/area/bridge) -"aMe" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aMf" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aMg" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aMh" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aMi" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aMj" = ( -/obj/item/chair, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aMk" = ( -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aMl" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aMm" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aMn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aMo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 32 - }, -/obj/item/paper/guides/quantumpad, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"aMp" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/brown/corner{ - dir = 1 - }, -/area/quartermaster/office) -"aMq" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aMr" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aMs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aMt" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Fore Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/fore/cargo_south"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"aMw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"aMx" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Security SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aMy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/detectives_office) -"aMA" = ( -/obj/structure/table/wood, -/obj/item/device/taperecorder, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aMD" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aME" = ( -/obj/machinery/photocopier, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"aMK" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/security/brig) -"aMM" = ( -/obj/structure/table, -/obj/item/storage/box/cups, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aMN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aMO" = ( -/obj/machinery/camera{ - c_tag = "Courtroom South"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aMP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aMS" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "b1"; - name = "Privacy Bolts"; - normaldoorcontrol = 1; - pixel_x = -24 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aMT" = ( -/obj/machinery/door/airlock{ - id_tag = "b1" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aMU" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/camera{ - c_tag = "Dorm Bathroom"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"aMV" = ( -/obj/structure/table, -/obj/machinery/camera{ - c_tag = "Dorm Laundry Room"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aMW" = ( -/obj/structure/table, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aMX" = ( -/obj/structure/closet/crate/bin{ - name = "laundry bin" - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/locker) -"aMY" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Head of Personnel's Queue Line"; - dir = 4 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 9 - }, -/area/crew_quarters/heads/hop) -"aMZ" = ( -/turf/open/floor/plasteel/blue/side{ - dir = 1 - }, -/area/crew_quarters/heads/hop) -"aNa" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/flasher{ - id = "hopflash"; - pixel_x = 24 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 5 - }, -/area/crew_quarters/heads/hop) -"aNb" = ( -/obj/machinery/camera{ - c_tag = "Bridge Midway 3"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 8 - }, -/area/bridge) -"aNc" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"aNd" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aNe" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aNf" = ( -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/computer/station_alert, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aNg" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"aNh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aNi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aNj" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aNk" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aNl" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aNm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aNn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aNo" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/teleporter/quantum/cargo) -"aNp" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/teleporter/quantum/cargo) -"aNq" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/teleporter/quantum/cargo) -"aNr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/cargo) -"aNs" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/cargo) -"aNt" = ( -/obj/structure/table, -/obj/item/device/multitool, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/screwdriver, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/cargo) -"aNu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/brown/corner{ - dir = 1 - }, -/area/quartermaster/office) -"aNv" = ( -/obj/structure/table, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aNw" = ( -/obj/effect/landmark/blobstart, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aNx" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aNy" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"aNC" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Fore Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/fore/com_west"; - pixel_y = 24 - }, -/obj/effect/turf_decal/stripes/end, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aND" = ( -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aNE" = ( -/obj/machinery/door/airlock{ - name = "Law Office"; - req_access_txt = "38" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/lawoffice) -"aNG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"aNH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"aNJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aNK" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/courtroom) -"aNL" = ( -/obj/machinery/door/airlock/glass{ - name = "Courtroom" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"aNM" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/security/courtroom) -"aNN" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aNO" = ( -/obj/machinery/door/airlock/glass{ - name = "Locker Room" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aNP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/locker) -"aNQ" = ( -/obj/machinery/door/airlock/glass{ - name = "Locker Room" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"aNR" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aNS" = ( -/obj/machinery/vending/cola, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aNT" = ( -/obj/machinery/vending/snack, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aNU" = ( -/obj/machinery/door/poddoor/preopen{ - id = "hopexternal"; - layer = 2.6 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 1 - }, -/area/crew_quarters/heads/hop) -"aNV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "hopexternal"; - layer = 2.6 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/hop) -"aNW" = ( -/obj/machinery/door/poddoor/preopen{ - id = "hopexternal"; - layer = 2.6 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/crew_quarters/heads/hop) -"aNX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall, -/area/hallway/primary/fore) -"aNY" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Command SMES Access"; - req_access_txt = "10;11;12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aNZ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"aOa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aOb" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/fore) -"aOc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"aOd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"aOe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/cargo_ai) -"aOf" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/cargo) -"aOg" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ - name = "Cargo Quantum Pad" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/cargo) -"aOh" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/cargo) -"aOi" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"aOj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/brown/corner{ - dir = 1 - }, -/area/quartermaster/office) -"aOk" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/office) -"aOl" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Cargo Lobby"; - dir = 8; - network = list("SS13","QM") - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aOm" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/quartermaster/office) -"aOq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aOs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"aOt" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"aOu" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall, -/area/hallway/primary/starboard/fore) -"aOv" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"aOw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOz" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 2"; - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOA" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"aOB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"aOD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"aOE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"aOF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOJ" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aOM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 4"; - dir = 6 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aON" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOO" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 5"; - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOT" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aOU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aOV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aOW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aOZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 6"; - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPa" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aPc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 7"; - dir = 6 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPd" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPe" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPf" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPg" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPh" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPi" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPj" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPk" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPl" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPm" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Security"; - location = "CommandMiddle2"; - name = "navigation beacon (Command-Middle 2)" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPn" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 8"; - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPp" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPq" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPs" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPt" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPv" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPw" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPx" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPy" = ( -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 9"; - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPz" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPA" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPB" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"aPC" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"aPD" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPH" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPJ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPK" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aPL" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aPM" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aPN" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aPO" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aPS" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"aPT" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"aPU" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"aPV" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Security SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aPW" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aPX" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aPY" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQa" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQb" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQc" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQd" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQg" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQi" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQj" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQm" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQn" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQr" = ( -/obj/effect/landmark/lightsout, -/obj/machinery/holopad, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQt" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQv" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aQx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aQy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aQz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aQA" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aQB" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aQC" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aQD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aQE" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aQF" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aQG" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/brown/corner{ - dir = 4 - }, -/area/quartermaster/office) -"aQH" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aQI" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aQK" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"aQN" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"aQO" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQS" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aQU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aQV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/directions/science{ - pixel_x = 32; - pixel_y = -24 - }, -/obj/structure/sign/directions/supply{ - dir = 4; - icon_state = "direction_supply"; - pixel_x = 32; - pixel_y = -32 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - icon_state = "direction_med"; - pixel_x = 32; - pixel_y = -40 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aQW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aQZ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRa" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRg" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aRh" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/directions/engineering{ - pixel_x = -32; - pixel_y = -24 - }, -/obj/structure/sign/directions/security{ - dir = 8; - icon_state = "direction_sec"; - pixel_x = -32; - pixel_y = -32 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - icon_state = "direction_med"; - pixel_x = -32; - pixel_y = -40 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aRk" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringMiddle"; - location = "CommandMiddle"; - name = "navigation beacon (Command-Middle)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aRl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/directions/supply{ - dir = 4; - icon_state = "direction_supply"; - pixel_x = 32; - pixel_y = -24 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aRm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRn" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRr" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRt" = ( -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRu" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRv" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aRw" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aRx" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRy" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRz" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aRA" = ( -/obj/machinery/camera{ - c_tag = "Cargo Asteroid Hall 1"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRC" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aRF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"aRI" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/sign/directions/evac{ - pixel_x = -32; - pixel_y = -24 - }, -/obj/structure/sign/directions/medical{ - pixel_x = -32; - pixel_y = -32 - }, -/obj/structure/sign/directions/security{ - dir = 8; - icon_state = "direction_sec"; - pixel_x = -32; - pixel_y = -40 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aRJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CommandMiddle"; - location = "Cargo"; - name = "navigation beacon (Cargo)" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aRK" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aRL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"aRM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"aRP" = ( -/obj/structure/rack, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"aRQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance/external{ - id_tag = "GulagCivExit3"; - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aRR" = ( -/turf/closed/wall, -/area/teleporter/quantum/security) -"aRS" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/security) -"aRT" = ( -/obj/machinery/door/airlock/glass{ - name = "Security Quantum Pad" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/security) -"aRU" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/security) -"aRV" = ( -/turf/closed/wall, -/area/janitor) -"aRW" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/janitor) -"aRX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/janitor) -"aRY" = ( -/obj/machinery/door/airlock{ - name = "Custodial Closet"; - req_access_txt = "26" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/janitor) -"aRZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/hallway/primary/fore) -"aSa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/hallway/primary/fore) -"aSb" = ( -/obj/machinery/door/airlock/vault{ - icon_state = "door_locked"; - locked = 1; - req_access_txt = "53" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/hallway/primary/fore) -"aSc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/hallway/primary/fore) -"aSd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/atmos{ - name = "Command Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSf" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"aSh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"aSi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"aSj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/atmos{ - name = "Cargo Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aSk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aSl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aSm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"aSn" = ( -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"aSo" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/brown/corner, -/area/quartermaster/office) -"aSq" = ( -/obj/machinery/door/airlock/maintenance{ - id_tag = "GulagCivExit2"; - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aSr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSs" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSt" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "GulagCivExit3"; - name = "Gulag Door Exit"; - normaldoorcontrol = 1; - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aSv" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aSw" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aSx" = ( -/obj/structure/table, -/obj/item/device/multitool, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/screwdriver, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/security) -"aSy" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/security) -"aSz" = ( -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 27 - }, -/obj/item/paper/guides/quantumpad, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/security) -"aSA" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"aSB" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"aSC" = ( -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Command Asteroid Solars Maintenance APC"; - areastring = "/area/maintenance/asteroid/fore/com_south"; - pixel_x = 23; - pixel_y = 2 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"aSD" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet{ - dir = 4 - }, -/turf/open/floor/plating, -/area/janitor) -"aSE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/window/eastright{ - req_access_txt = "26" - }, -/turf/open/floor/plating, -/area/janitor) -"aSF" = ( -/turf/open/floor/plasteel, -/area/janitor) -"aSG" = ( -/obj/structure/bed/dogbed, -/mob/living/simple_animal/hostile/lizard{ - name = "Wags-His-Tail"; - real_name = "Wags-His-Tail" - }, -/turf/open/floor/plasteel, -/area/janitor) -"aSH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/vehicle/janicart, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/janitor) -"aSI" = ( -/obj/vehicle/janicart, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/janitor) -"aSJ" = ( -/obj/structure/table, -/obj/item/storage/box/mousetraps, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/item/storage/box/mousetraps, -/turf/open/floor/plasteel, -/area/janitor) -"aSK" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/paper/fluff/stations/cere/janitor, -/turf/open/floor/plasteel, -/area/janitor) -"aSL" = ( -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/janitor) -"aSM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/janitor) -"aSN" = ( -/turf/closed/wall/r_wall, -/area/ai_monitored/nuke_storage) -"aSO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Vault Airlock"; - dir = 5 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aSP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aSQ" = ( -/obj/structure/table, -/obj/item/phone, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aSR" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSS" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Output"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aST" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSU" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aSV" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"aSW" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aSX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSY" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aSZ" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTc" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTd" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aTg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8; - name = "Cargo Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTi" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTj" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix Input"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTn" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix Output"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTp" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"aTq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Cargo Asteroid Hall 2"; - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aTr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aTs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aTt" = ( -/obj/machinery/button/door{ - id = "GulagCivExit2"; - name = "Gulag Door Exit"; - normaldoorcontrol = 1; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aTu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aTw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aTx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Security Quantum Pad APC"; - areastring = "/area/teleporter/quantum/security"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aTy" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"aTz" = ( -/turf/closed/mineral, -/area/security/prison) -"aTA" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plasteel, -/area/janitor) -"aTB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/janitor) -"aTC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc{ - dir = 4; - name = "Custodial APC"; - areastring = "/area/janitor"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange, -/turf/open/floor/plasteel, -/area/janitor) -"aTD" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = -29 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aTE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aTF" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aTG" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Command Atmospherics Checkpoint"; - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTH" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTL" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aTM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/obj/machinery/camera{ - c_tag = "Cargo Atmospherics Checkpoint"; - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTN" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aTP" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aTR" = ( -/obj/machinery/light/small, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"aTS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aTU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aTV" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/teleporter/quantum/security) -"aTW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"aTX" = ( -/obj/structure/closet/jcloset, -/turf/open/floor/plasteel, -/area/janitor) -"aTY" = ( -/obj/structure/chair/stool, -/turf/open/floor/plasteel, -/area/janitor) -"aTZ" = ( -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/janitor) -"aUa" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aUb" = ( -/turf/open/floor/plasteel/stairs, -/area/ai_monitored/nuke_storage) -"aUc" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/power/apc{ - dir = 4; - name = "Vault APC"; - areastring = "/area/ai_monitored/nuke_storage"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aUd" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUe" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aUf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUg" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aUh" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aUi" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aUj" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aUk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aUl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aUm" = ( -/obj/machinery/camera{ - c_tag = "Command Asteroid Hallway 1"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aUn" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aUo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aUp" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aUq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'."; - name = "KEEP CLEAR OF PAD WHEN IN USE"; - pixel_x = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"aUr" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"aUs" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"aUt" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/key/janitor, -/obj/machinery/camera{ - c_tag = "Custodials"; - dir = 5 - }, -/obj/item/key/janitor, -/turf/open/floor/plasteel, -/area/janitor) -"aUu" = ( -/obj/structure/table, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/machinery/requests_console{ - department = "Janitorial"; - departmentType = 1; - pixel_y = -29 - }, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/turf/open/floor/plasteel, -/area/janitor) -"aUv" = ( -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/janitor) -"aUw" = ( -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plasteel, -/area/janitor) -"aUx" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/janitor) -"aUy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/water_vapor, -/turf/open/floor/plasteel, -/area/janitor) -"aUz" = ( -/obj/structure/janitorialcart, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/janitor) -"aUA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/ai_monitored/nuke_storage) -"aUB" = ( -/obj/machinery/door/airlock/vault{ - icon_state = "door_locked"; - locked = 1; - req_access_txt = "53" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aUC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/ai_monitored/nuke_storage) -"aUD" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUE" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUG" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"aUH" = ( -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 10"; - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"aUI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUJ" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUK" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"aUL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aUM" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aUN" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aUO" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Cargo SMES Access"; - req_access_txt = "10;11;12" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/cargo_south) -"aUP" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/cargo_south) -"aUQ" = ( -/obj/machinery/camera{ - c_tag = "Cargo Bay SMES"; - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aUR" = ( -/obj/structure/closet, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"aUS" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aUT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/security) -"aUU" = ( -/turf/closed/wall/r_wall, -/area/maintenance/solars/asteroid/command) -"aUV" = ( -/turf/closed/wall/r_wall/rust, -/area/maintenance/solars/asteroid/command) -"aUW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Command Asteroid Solars"; - req_access_txt = "10;11;12" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"aUX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/janitor) -"aUY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aUZ" = ( -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aVa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aVb" = ( -/turf/open/space, -/area/mine/unexplored{ - name = "Command Asteroid" - }) -"aVc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVd" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVe" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Input"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVf" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVg" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVh" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aVi" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVj" = ( -/obj/machinery/power/smes, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/command) -"aVk" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"aVl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/command) -"aVm" = ( -/obj/structure/closet/crate{ - name = "Gold Crate" - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/item/storage/belt/champion, -/obj/machinery/camera{ - c_tag = "Vault" - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aVn" = ( -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aVo" = ( -/obj/structure/safe, -/obj/item/twohanded/fireaxe, -/obj/item/clothing/head/bearpelt, -/obj/item/bear_armor, -/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, -/obj/item/dice/d20{ - desc = "A die with twenty sides. You feel absolutely normal while looking at this."; - name = "Die of Mediocre Rolling Capability" - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aVp" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVq" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVr" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/asteroid/line, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"aVs" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aVt" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aVu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/cargo_south) -"aVv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVw" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/command) -"aVy" = ( -/obj/structure/cable/orange, -/obj/machinery/power/apc{ - dir = 4; - name = "Command Asteroid Solars APC"; - areastring = "/area/maintenance/solars/asteroid/command"; - pixel_x = 23; - pixel_y = 2 - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"aVz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVA" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVB" = ( -/turf/closed/wall/r_wall, -/area/maintenance/solars/asteroid/fore) -"aVC" = ( -/turf/closed/wall/r_wall/rust, -/area/maintenance/solars/asteroid/fore) -"aVD" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Solars"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/maintenance/solars/asteroid/fore) -"aVE" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aVF" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/computer/station_alert, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aVG" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aVH" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aVI" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aVJ" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVK" = ( -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/power/solar_control{ - id = "commandsolar"; - name = "Command Asteroid Solar Control"; - track = 0 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/command) -"aVL" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/command) -"aVM" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/command) -"aVN" = ( -/obj/structure/grille, -/turf/open/space, -/area/space) -"aVO" = ( -/obj/item/coin/silver{ - pixel_x = 7; - pixel_y = 12 - }, -/obj/item/coin/silver{ - pixel_x = 12; - pixel_y = 7 - }, -/obj/item/coin/silver{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/coin/silver{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/coin/silver{ - pixel_x = 5; - pixel_y = -8 - }, -/obj/structure/closet/crate{ - name = "Silver Crate" - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aVP" = ( -/obj/machinery/nuclearbomb/selfdestruct, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aVQ" = ( -/obj/structure/filingcabinet, -/obj/item/folder/documents, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aVR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1; - name = "Command Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVS" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"aVT" = ( -/obj/machinery/power/smes, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/fore) -"aVU" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/fore) -"aVV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/fore) -"aVW" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aVX" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aVY" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aVZ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aWa" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aWb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aWc" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_serv) -"aWd" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_serv) -"aWe" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"aWf" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Solar Maintenance"; - req_access = null; - req_access_txt = "10; 13" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"aWg" = ( -/obj/machinery/camera{ - c_tag = "Vault"; - dir = 5 - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aWh" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/ai_monitored/nuke_storage) -"aWi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_engi) -"aWj" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_engi) -"aWk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aWl" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/fore) -"aWn" = ( -/obj/structure/cable/orange, -/obj/machinery/power/apc{ - dir = 4; - name = "Fore Asteroid Solars APC"; - areastring = "/area/maintenance/solars/asteroid/fore"; - pixel_x = 23; - pixel_y = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/fore) -"aWo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aWp" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"aWq" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"aWr" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/space) -"aWs" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_serv) -"aWt" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"aWu" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aWv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aWw" = ( -/obj/machinery/computer/bank_machine, -/obj/machinery/light, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"aWx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_engi) -"aWy" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_engi) -"aWz" = ( -/obj/machinery/power/solar_control{ - id = "foresolar"; - name = "Fore Asteroid Solar Control"; - track = 0 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/fore) -"aWA" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/fore) -"aWB" = ( -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/fore) -"aWC" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aWD" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aWE" = ( -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/power/solar{ - id = "commandsolar"; - name = "Fore Solar Array" - }, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/command) -"aWF" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aWG" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/solar{ - id = "commandsolar"; - name = "Fore Solar Array" - }, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/command) -"aWH" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/ai_monitored/nuke_storage) -"aWI" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/fore) -"aWJ" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Solar Maintenance"; - req_access = null; - req_access_txt = "10; 13" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/fore) -"aWK" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aWL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/machinery/camera{ - c_tag = "Cargo Asteroid Hall 3"; - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aWM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"aWN" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aWO" = ( -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/power/solar{ - id = "foresolar"; - name = "Fore Solar Array" - }, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/fore) -"aWP" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aWQ" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/solar{ - id = "foresolar"; - name = "Fore Solar Array" - }, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/fore) -"aWR" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/fore) -"aWS" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aWT" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"aWU" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aWV" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"aWW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aWX" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/med_cargo) -"aWY" = ( -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/med_cargo) -"aWZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/med_cargo) -"aXa" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aXb" = ( -/obj/item/stack/cable_coil{ - amount = 2 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aXc" = ( -/obj/item/stack/cable_coil{ - amount = 30 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aXd" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aXe" = ( -/obj/machinery/power/tracker, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aXf" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aXg" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aXh" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aXi" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"aXj" = ( -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/tracker, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aXk" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aXn" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"aXo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aXr" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"aXs" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"aXv" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/port/west) -"aXx" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"aXA" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"aXB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/rehab_dome) -"aXC" = ( -/turf/closed/wall, -/area/crew_quarters/rehab_dome) -"aXD" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Engineering Asteroid" - }) -"aXK" = ( -/turf/closed/wall, -/area/maintenance/asteroid/port/west) -"aXL" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/port/west) -"aXM" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/port/neast) -"aXN" = ( -/obj/machinery/vending/hydronutrients, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aXO" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aXP" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aXQ" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aXR" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Engineering Asteroid" - }) -"aXW" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"aXX" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"aXY" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"aXZ" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"aYa" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYb" = ( -/obj/structure/table/wood, -/obj/item/seeds/apple, -/obj/item/seeds/cherry, -/obj/item/seeds/grape, -/obj/item/seeds/poppy, -/obj/item/seeds/tea, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYc" = ( -/obj/structure/table/wood, -/obj/item/cultivator, -/obj/item/shovel/spade, -/obj/item/reagent_containers/glass/bucket, -/obj/item/storage/bag/plants/portaseeder, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYd" = ( -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYe" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome East 1"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYf" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Engineering Asteroid" - }) -"aYg" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Engineering Asteroid" - }) -"aYi" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"aYj" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"aYk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_serv) -"aYl" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYm" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome North"; - network = list("SS13") - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYn" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYo" = ( -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYp" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYq" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/mob/living/simple_animal/butterfly, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_engi) -"aYs" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/com_engi) -"aYt" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aYv" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"aYw" = ( -/turf/closed/wall, -/area/hallway/primary/port) -"aYx" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"aYy" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"aYz" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"aYA" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"aYB" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"aYC" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"aYD" = ( -/obj/structure/flora/ausbushes/fullgrass, -/mob/living/simple_animal/butterfly, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYE" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYF" = ( -/obj/structure/flora/ausbushes/pointybush, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYH" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYI" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aYJ" = ( -/turf/closed/wall, -/area/hallway/primary/central) -"aYK" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/hallway/primary/central) -"aYL" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"aYM" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"aYN" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"aYO" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/central) -"aYP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"aYQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/med_cargo) -"aYR" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating/airless, -/area/space) -"aYS" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"aYT" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/port) -"aYU" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"aYV" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"aYW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"aYX" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"aYY" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aYZ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZa" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/sortjunction{ - name = "disposal pipe - Bar"; - icon_state = "pipe-j1s"; - dir = 4; - sortType = 19 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZb" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZc" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZd" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZe" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZf" = ( -/turf/open/floor/plasteel/redblue, -/area/crew_quarters/rehab_dome) -"aZg" = ( -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZh" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZi" = ( -/mob/living/simple_animal/chicken/rabbit/normal, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZj" = ( -/obj/structure/flora/ausbushes/reedbush, -/mob/living/simple_animal/butterfly, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/central) -"aZl" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"aZm" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"aZn" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"aZo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/central) -"aZq" = ( -/turf/closed/wall, -/area/hallway/primary/starboard) -"aZr" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"aZs" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"aZt" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"aZu" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"aZv" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"aZw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"aZx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"aZy" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"aZz" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"aZA" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZB" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZC" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZD" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZE" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"aZF" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"aZG" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"aZH" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZI" = ( -/obj/structure/sink/puddle, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZJ" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"aZK" = ( -/turf/closed/mineral, -/area/hallway/primary/central) -"aZL" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/central) -"aZM" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"aZN" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"aZO" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"aZP" = ( -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"aZQ" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"aZR" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"aZS" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"aZT" = ( -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Port Hallway APC"; - areastring = "/area/hallway/primary/port"; - pixel_y = 24 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"aZU" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/port) -"aZV" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"aZW" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"aZX" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"aZY" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"aZZ" = ( -/turf/closed/wall, -/area/crew_quarters/bar) -"baa" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Bar Backroom"; - req_access_txt = "25" - }, -/turf/open/floor/plating, -/area/crew_quarters/bar) -"bab" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/crew_quarters/bar) -"bac" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"bad" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"bae" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Port Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/port/neast"; - pixel_y = 24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"baf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sign/map/left/ceres{ - pixel_x = 32; - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/reedbush, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bag" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/light, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bah" = ( -/turf/open/floor/plating/asteroid, -/area/hallway/primary/central) -"bai" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/hallway/primary/central) -"baj" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bak" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bal" = ( -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 7"; - dir = 4; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bam" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"ban" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bao" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bap" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"baq" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bar" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bas" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"bat" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bau" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"bav" = ( -/turf/open/floor/plating, -/area/hallway/primary/port) -"baw" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"bax" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 1"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bay" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Bar APC"; - areastring = "/area/crew_quarters/bar"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/closet/gmcloset, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"baz" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"baA" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/table/wood, -/obj/machinery/reagentgrinder, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"baB" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"baC" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/closet/secure_closet/bar{ - req_access_txt = "25" - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"baD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/reagent_dispensers/beerkeg, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"baE" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/crew_quarters/bar) -"baF" = ( -/turf/closed/wall, -/area/crew_quarters/kitchen) -"baG" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Freezer"; - req_access_txt = "28" - }, -/turf/open/floor/plating, -/area/crew_quarters/kitchen) -"baH" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"baI" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"baJ" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome East 2"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"baK" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Rehabilitation Dome APC"; - areastring = "/area/crew_quarters/rehab_dome"; - pixel_x = -25 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/turf/open/floor/plating/astplate, -/area/crew_quarters/rehab_dome) -"baL" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/hallway/primary/central) -"baM" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/central) -"baN" = ( -/turf/open/floor/plating, -/area/hallway/primary/central) -"baO" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = 29 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"baP" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/central) -"baQ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"baR" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Central Primary Hallway APC"; - areastring = "/area/hallway/primary/central"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"baS" = ( -/turf/closed/wall/r_wall, -/area/ai_monitored/storage/eva) -"baT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"baU" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"baV" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"baW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"baX" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/port) -"baY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"baZ" = ( -/obj/machinery/camera{ - c_tag = "Bar Backroom"; - dir = 5 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bba" = ( -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbf" = ( -/obj/structure/kitchenspike, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbg" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbh" = ( -/obj/structure/kitchenspike, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbi" = ( -/obj/machinery/camera{ - c_tag = "Freezer" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbj" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Kitchen APC"; - areastring = "/area/crew_quarters/kitchen"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbk" = ( -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbl" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome West 1"; - dir = 4; - network = list("SS13") - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bbm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bbn" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/rehab_dome) -"bbo" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/rehab_dome) -"bbp" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/rehab_dome) -"bbq" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/hallway/primary/central) -"bbr" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/hallway/primary/central) -"bbs" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/rack, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbt" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbv" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbw" = ( -/obj/structure/table, -/obj/item/stack/sheet/rglass{ - amount = 20 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bbx" = ( -/obj/machinery/camera{ - c_tag = "EVA Equipment"; - dir = 6 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bby" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bbz" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bbA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"bbB" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bbC" = ( -/obj/structure/table/wood, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbD" = ( -/obj/machinery/light/small, -/obj/structure/table/wood, -/obj/item/gun/ballistic/revolver/doublebarrel, -/obj/item/storage/belt/bandolier, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbF" = ( -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbG" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bbI" = ( -/mob/living/simple_animal/hostile/retaliate/goat{ - name = "Pete" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbJ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bbK" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"bbL" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/rehab_dome) -"bbM" = ( -/obj/machinery/door/airlock/glass{ - name = "Rehabilitation Dome" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/rehab_dome) -"bbN" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/rehab_dome) -"bbO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome Lobby East"; - dir = 8; - network = list("SS13") - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21"; - layer = 4.1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/rehab_dome) -"bbP" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/plating/astplate, -/area/hallway/primary/central) -"bbQ" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/hallway/primary/central) -"bbR" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bbW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bbX" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bbY" = ( -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty{ - amount = 20 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bbZ" = ( -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bca" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bcb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bcc" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bce" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcg" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/starboard) -"bch" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bci" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bcj" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bck" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bcl" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Service SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bcm" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"bcn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bco" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bcp" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bcq" = ( -/obj/machinery/vending/boozeomat, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/bar) -"bcr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - name = "Bar Backroom"; - req_access_txt = "25" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bcs" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bct" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bcu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bcv" = ( -/obj/machinery/gibber, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bcw" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"bcx" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bcy" = ( -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/rehab_dome) -"bcz" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/rehab_dome) -"bcA" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/rehab_dome) -"bcB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/rehab_dome) -"bcC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bcD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bcE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bcF" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bcG" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bcH" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bcI" = ( -/obj/structure/closet/crate/rcd, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bcJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bcK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bcL" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcM" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bcN" = ( -/obj/machinery/camera{ - c_tag = "Medical SMES"; - dir = 6 - }, -/obj/structure/chair/stool, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bcO" = ( -/obj/machinery/computer/station_alert, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcP" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcQ" = ( -/obj/structure/closet/emcloset, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcS" = ( -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bcT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Medbay Asteroid Hallway 6"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"bcU" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bcV" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bcW" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bcX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bcY" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bcZ" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/reagent_containers/glass/rag, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bda" = ( -/obj/structure/table, -/obj/item/book/manual/barman_recipes, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/item/coin/silver, -/obj/item/coin/silver, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdc" = ( -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdd" = ( -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks/beer, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bde" = ( -/obj/structure/sign/securearea{ - desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; - icon_state = "monkey_painting"; - name = "Mr. Deempisi portrait"; - pixel_x = 4; - pixel_y = 28 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bdh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bdi" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bdj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdk" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdl" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdm" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdn" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_x = 32; - pixel_y = -32 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome South 1"; - dir = 1 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bdq" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/rehab_dome) -"bdr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/crew_quarters/rehab_dome) -"bds" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/crew_quarters/rehab_dome) -"bdt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/rehab_dome) -"bdu" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/central) -"bdv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bdw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bdx" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bdy" = ( -/obj/structure/rack, -/obj/item/tank/jetpack/carbondioxide, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bdz" = ( -/obj/structure/rack, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bdA" = ( -/obj/structure/rack, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/clothing/shoes/magboots, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bdB" = ( -/obj/structure/rack, -/obj/item/clothing/shoes/magboots, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bdC" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bdD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bdE" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bdF" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bdG" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bdH" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bdI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"bdJ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bdK" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bdL" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bdM" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"bdN" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bdO" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bdP" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bdQ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdR" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdS" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdT" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/mob/living/carbon/monkey/punpun, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdV" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bdW" = ( -/obj/machinery/icecream_vat, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bdX" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bdY" = ( -/obj/structure/closet/chefcloset, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bdZ" = ( -/obj/machinery/chem_master/condimaster, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"bea" = ( -/obj/structure/chair/stool, -/mob/living/simple_animal/butterfly, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"beb" = ( -/obj/structure/table/wood, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bec" = ( -/obj/structure/chair/stool, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bed" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/rehab_dome) -"bee" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/crew_quarters/rehab_dome) -"bef" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/rehab_dome) -"beg" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 10 - }, -/area/hallway/primary/central) -"beh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"bei" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bej" = ( -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bek" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bel" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/sign/directions/security{ - dir = 1; - icon_state = "direction_sec"; - pixel_x = -32; - pixel_y = 24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bem" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringEast"; - location = "EngineeringMiddle"; - name = "navigation beacon (Engineering-Middle)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"ben" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"beo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bep" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"beq" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"ber" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bes" = ( -/turf/closed/wall, -/area/ai_monitored/storage/eva) -"bet" = ( -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/ai_monitored/storage/eva) -"beu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass_command{ - name = "EVA"; - req_access_txt = "18" - }, -/turf/open/floor/plasteel/blue, -/area/ai_monitored/storage/eva) -"bev" = ( -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ai_monitored/storage/eva) -"bew" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Starboard Hallway APC"; - areastring = "/area/hallway/primary/starboard"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bex" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bey" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bez" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"beA" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"beB" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"beC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"beD" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"beE" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"beF" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/starboard) -"beG" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/starboard) -"beH" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/starboard) -"beI" = ( -/turf/closed/wall, -/area/maintenance/asteroid/starboard) -"beJ" = ( -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"beK" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"beL" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/bartender, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"beM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table/wood/poker, -/obj/item/clothing/head/collectable/tophat, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"beN" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"beO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - name = "Bar Access"; - req_access_txt = "25" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"beP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/kitchen) -"beQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - name = "Freezer"; - req_access_txt = "28" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/kitchen) -"beR" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/mob/living/simple_animal/chicken/rabbit/normal, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"beS" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"beT" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/rehab_dome) -"beU" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/rehab_dome) -"beV" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 5 - }, -/area/hallway/primary/central) -"beW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"beX" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"beY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/machinery/holopad, -/obj/effect/landmark/observer_start, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CommandMiddle2"; - location = "EngineeringMiddle2"; - name = "navigation beacon (Engineering-Middle 2)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"beZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bfa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bfb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bfc" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bfd" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bfe" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringEast2"; - location = "EngineeringEast"; - name = "navigation beacon (Engineering-East)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bff" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/blue/corner, -/area/hallway/primary/central) -"bfg" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/ai_monitored/storage/eva) -"bfh" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/blue/side{ - dir = 9 - }, -/area/ai_monitored/storage/eva) -"bfi" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/blue/side{ - dir = 1 - }, -/area/ai_monitored/storage/eva) -"bfj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/blue/side{ - dir = 1 - }, -/area/ai_monitored/storage/eva) -"bfk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/blue/side{ - dir = 1 - }, -/area/ai_monitored/storage/eva) -"bfl" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/blue/side{ - dir = 5 - }, -/area/ai_monitored/storage/eva) -"bfm" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "Medbay SMES Access"; - req_access_txt = "0"; - req_one_access_txt = "10;11;12" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"bfn" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall, -/area/hallway/primary/starboard) -"bfo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bfp" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Starboard Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bfq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bfr" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bfs" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bft" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bfu" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bfv" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bfw" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bfx" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bfz" = ( -/obj/structure/window{ - icon_state = "window"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/stage_left, -/area/crew_quarters/theatre) -"bfA" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bfB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"bfC" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bfD" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/obj/structure/table/wood/poker, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bfE" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bfF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table/wood/poker, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"bfG" = ( -/obj/structure/chair/stool/bar, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bfH" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bfI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bfJ" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bfK" = ( -/obj/structure/table, -/obj/structure/table, -/obj/machinery/reagentgrinder, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bfL" = ( -/obj/machinery/processor, -/obj/machinery/camera{ - c_tag = "Kitchen" - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bfM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bfN" = ( -/obj/structure/sink/kitchen{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bfO" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bfP" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"bfQ" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome South 2"; - dir = 1 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bfR" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bfS" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bfT" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/sign/nosmoking_2{ - pixel_y = -32 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bfU" = ( -/obj/machinery/light, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"bfV" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/rehab_dome) -"bfW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Rehabilitation Dome Lobby South"; - dir = 1 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21"; - layer = 4.1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/rehab_dome) -"bfX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/rehab_dome) -"bfY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/rehab_dome) -"bfZ" = ( -/obj/structure/sign/securearea{ - pixel_x = 32; - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"bga" = ( -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 3"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"bgb" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"bgc" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"bgd" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side, -/area/hallway/primary/central) -"bge" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 4"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bgf" = ( -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bgg" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bgh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/sign/securearea{ - pixel_x = -32; - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"bgi" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringWest"; - location = "EngineeringEast3"; - name = "navigation beacon (Engineering-East 3)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bgj" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/blue/side{ - dir = 4 - }, -/area/hallway/primary/central) -"bgk" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/glass_command{ - name = "EVA"; - req_access_txt = "18" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/blue, -/area/ai_monitored/storage/eva) -"bgl" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 8 - }, -/area/ai_monitored/storage/eva) -"bgm" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bgn" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bgo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bgp" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "EVA APC"; - areastring = "/area/ai_monitored/storage/eva"; - pixel_x = 23; - pixel_y = 2 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 4 - }, -/area/ai_monitored/storage/eva) -"bgq" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bgr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bgs" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgt" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgv" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgx" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgy" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgz" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgA" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bgB" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bgC" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"bgD" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Starboard Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bgE" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bgF" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bgG" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bgH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bgI" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bgJ" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bgK" = ( -/obj/structure/window{ - icon_state = "window"; - dir = 4 - }, -/turf/open/floor/plasteel/stage_left, -/area/crew_quarters/theatre) -"bgL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bgM" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bgN" = ( -/obj/machinery/camera{ - c_tag = "Bar"; - dir = 5 - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 - }, -/obj/structure/chair/stool/bar, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bgO" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/obj/structure/chair/stool/bar, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bgP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/stool/bar, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bgQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bgR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bgS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bgT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Kitchen Access"; - req_access_txt = "28" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bgU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bgV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bgX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bgY" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bgZ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/atmos{ - name = "Service Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bha" = ( -/obj/machinery/door/airlock/atmos{ - name = "Service Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bhb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bhc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bhd" = ( -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bhe" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bhf" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bhg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 8 - }, -/area/ai_monitored/storage/eva) -"bhh" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bhi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bhj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"bhk" = ( -/obj/machinery/camera{ - c_tag = "EVA Storage"; - dir = 9 - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 4 - }, -/area/ai_monitored/storage/eva) -"bhl" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bhm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bhn" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bho" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bhp" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bhq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bhr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bhs" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bht" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bhu" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bhv" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Surgery APC"; - areastring = "/area/medical/surgery"; - pixel_y = -24 - }, -/obj/structure/cable/orange, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/medical/surgery) -"bhw" = ( -/obj/machinery/light/small, -/obj/structure/closet, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bhx" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bhy" = ( -/obj/structure/rack, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"bhz" = ( -/obj/structure/window{ - icon_state = "window"; - dir = 4 - }, -/obj/structure/rack, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/turf/open/floor/plasteel/stage_left, -/area/crew_quarters/theatre) -"bhA" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bhB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bhC" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bhD" = ( -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bhE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bhF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bhG" = ( -/obj/effect/landmark/start/cook, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bhH" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/peppermill, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bhI" = ( -/obj/structure/table, -/obj/item/book/manual/chef_recipes, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bhJ" = ( -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bhK" = ( -/obj/machinery/vending/dinnerware, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bhL" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Output"; - on = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bhM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bhN" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bhO" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"bhP" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space) -"bhQ" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space) -"bhR" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space) -"bhS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 5"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bhT" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bhU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bhV" = ( -/obj/structure/table, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/plasteel/blue/side{ - dir = 10 - }, -/area/ai_monitored/storage/eva) -"bhW" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plasteel/blue/side, -/area/ai_monitored/storage/eva) -"bhX" = ( -/obj/machinery/light, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/blue/side, -/area/ai_monitored/storage/eva) -"bhY" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/turf/open/floor/plasteel/blue/side, -/area/ai_monitored/storage/eva) -"bhZ" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/blue/side{ - dir = 6 - }, -/area/ai_monitored/storage/eva) -"bia" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bib" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bic" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bid" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Medbay Asteroid Hallway 4"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bie" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bif" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"big" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Medbay Asteroid Hallway 5"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bih" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bii" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard) -"bij" = ( -/turf/closed/wall, -/area/medical/surgery) -"bik" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Surgery Observation"; - req_access_txt = "5" - }, -/turf/open/floor/plating, -/area/medical/surgery) -"bil" = ( -/turf/closed/wall/r_wall, -/area/medical/virology) -"bim" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bin" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bio" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bip" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 2"; - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"biq" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bir" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bis" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/kitchen/fork, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bit" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/mime, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"biu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"biv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/condiment/peppermill, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = 5 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"biw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bix" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"biy" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"biz" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"biA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"biB" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/saltshaker, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"biC" = ( -/obj/structure/table, -/obj/item/kitchen/rollingpin, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"biD" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"biE" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Service Atmospherics Checkpoint"; - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"biF" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"biG" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"biH" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space, -/area/space) -"biI" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/turf/open/space, -/area/space) -"biJ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space, -/area/space) -"biK" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/turf/open/space, -/area/space) -"biL" = ( -/turf/closed/wall/r_wall, -/area/hallway/primary/central) -"biM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"biN" = ( -/turf/closed/wall, -/area/medical/morgue) -"biO" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/medical/morgue) -"biP" = ( -/turf/closed/wall, -/area/medical/patients_rooms) -"biQ" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/empty, -/obj/item/reagent_containers/blood/empty, -/obj/item/reagent_containers/blood/AMinus, -/obj/item/reagent_containers/blood/BMinus{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_containers/blood/BPlus{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/reagent_containers/blood/OMinus, -/obj/item/reagent_containers/blood/OPlus{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/APlus, -/obj/item/reagent_containers/blood/random, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/surgery) -"biR" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 5 - }, -/area/medical/surgery) -"biS" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteblue, -/area/medical/surgery) -"biT" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 9 - }, -/area/medical/surgery) -"biU" = ( -/obj/structure/table, -/obj/item/surgicaldrill, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/surgery) -"biV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/surgery) -"biW" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"biX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"biY" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"biZ" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bja" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bjb" = ( -/turf/closed/wall, -/area/medical/virology) -"bjc" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bjd" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bje" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bjf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bjg" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bjh" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bji" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bjj" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bjk" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bjl" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bjm" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bjn" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/bar) -"bjo" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bjp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bjq" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bjr" = ( -/obj/effect/landmark/xmastree, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bjs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bjt" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bju" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/food/condiment/enzyme, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bjv" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/mint, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bjw" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bjx" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bjy" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bjz" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bjA" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bjB" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/turf/open/space, -/area/space) -"bjD" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/turf/open/space, -/area/space) -"bjE" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bjF" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bjG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bjH" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bjI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bjJ" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bjK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"bjL" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"bjM" = ( -/obj/structure/table, -/obj/item/cartridge/medical{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/cartridge/medical{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/cartridge/medical, -/obj/item/cartridge/chemistry{ - pixel_y = 2 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/crew_quarters/heads/cmo) -"bjN" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/vault, -/area/medical/patients_rooms) -"bjO" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/vault, -/area/medical/patients_rooms) -"bjP" = ( -/obj/structure/closet/secure_closet/personal/patient, -/turf/open/floor/plasteel/vault, -/area/medical/patients_rooms) -"bjQ" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/vault, -/area/medical/patients_rooms) -"bjR" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/surgery) -"bjS" = ( -/turf/open/floor/plasteel/neutral, -/area/medical/surgery) -"bjT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/blue, -/area/medical/surgery) -"bjU" = ( -/obj/structure/table, -/obj/item/hemostat, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/surgery) -"bjV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"bjW" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"bjX" = ( -/obj/structure/table, -/obj/machinery/camera{ - c_tag = "Virology 2"; - dir = 5; - network = list("SS13","CMO") - }, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_x = -32 - }, -/obj/item/folder/red, -/obj/item/pen/red, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"bjY" = ( -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bjZ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bka" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bkb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bkc" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bkd" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bke" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bkf" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bkg" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bkh" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bki" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bkj" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bkk" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/glass{ - name = "Bar" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkl" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkm" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkn" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table/wood, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bko" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkp" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkq" = ( -/obj/structure/table/wood, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bks" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkt" = ( -/obj/machinery/deepfryer, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bku" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bkv" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bkw" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bkx" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bky" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bkz" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bkA" = ( -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bkB" = ( -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/power/emitter/anchored{ - state = 2 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bkC" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bkD" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/power/emitter/anchored{ - state = 2 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bkE" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/emitter/anchored{ - state = 2 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bkF" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bkG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bkH" = ( -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"bkI" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"bkJ" = ( -/obj/item/folder/red{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/blue, -/area/medical/patients_rooms) -"bkK" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/patients_rooms) -"bkL" = ( -/obj/machinery/vending/wallmed{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/patients_rooms) -"bkM" = ( -/obj/item/folder/white, -/obj/structure/table/glass, -/turf/open/floor/plasteel/blue, -/area/medical/patients_rooms) -"bkN" = ( -/obj/machinery/computer/operating, -/turf/open/floor/plasteel/blue, -/area/medical/surgery) -"bkO" = ( -/obj/structure/table/optable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel/neutral, -/area/medical/surgery) -"bkP" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/blue, -/area/medical/surgery) -"bkQ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"bkR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"bkS" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bkT" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bkU" = ( -/turf/closed/wall, -/area/storage/primary) -"bkV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bkW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bkX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/glass{ - name = "Bar" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bkZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bla" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"blb" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"blc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bld" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"ble" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"blf" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Input"; - on = 1 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"blg" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blh" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bli" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blj" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blk" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bll" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"blm" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bln" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"blo" = ( -/obj/machinery/light, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"blp" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"blq" = ( -/obj/machinery/computer/station_alert, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Chief Engineer's Desk"; - departmentType = 3; - name = "Chief Engineer RC"; - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"blr" = ( -/obj/machinery/light, -/turf/open/floor/plating, -/area/engine/engineering) -"bls" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"blt" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"blu" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"blv" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blw" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blx" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bly" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blz" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blA" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"blB" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"blC" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"blD" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"blE" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"blF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"blG" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"blH" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"blI" = ( -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Chief Medical Officer's Office APC"; - areastring = "/area/crew_quarters/heads/cmo"; - pixel_x = 23; - pixel_y = 2 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/crew_quarters/heads/cmo) -"blJ" = ( -/obj/machinery/button/door{ - id = "medp1"; - name = "Privacy Shutters"; - pixel_x = -24 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/cmo, -/area/medical/patients_rooms) -"blK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/cmo, -/area/medical/patients_rooms) -"blL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/cmo, -/area/medical/patients_rooms) -"blM" = ( -/obj/machinery/button/door{ - id = "medp2"; - name = "Privacy Shutters"; - pixel_x = -24 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/cmo, -/area/medical/patients_rooms) -"blN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/blue, -/area/medical/surgery) -"blO" = ( -/obj/structure/table, -/obj/item/retractor, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/surgery) -"blP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"blQ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Surgery Observation"; - dir = 9 - }, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"blR" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/medical/surgery) -"blS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/virology) -"blT" = ( -/obj/machinery/door/airlock/glass_virology{ - name = "Isolation A"; - req_access_txt = "39" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"blU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/medical/virology) -"blV" = ( -/obj/structure/bed, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"blW" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"blX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"blY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"blZ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bma" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bmb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/plasteel, -/area/storage/primary) -"bmc" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel, -/area/storage/primary) -"bmd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bme" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bmf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/junction, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bmg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bmh" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bmi" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bmj" = ( -/obj/machinery/vending/cola, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bmk" = ( -/obj/machinery/food_cart, -/obj/machinery/light_switch{ - pixel_x = -25 - }, -/obj/machinery/button/door{ - id = "kitchen"; - name = "Privacy Shutters"; - pixel_x = -24 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bml" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"bmm" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/crew_quarters/kitchen) -"bmn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/kitchen) -"bmo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j1s"; - name = "disposal pipe - Kitchen"; - sortType = 20 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bmp" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bmq" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bmr" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8; - name = "Service Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/neast) -"bms" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bmt" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bmu" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmv" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmw" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmx" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmy" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bmz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 2"; - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bmA" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bmB" = ( -/obj/structure/reflector/single/anchored{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bmC" = ( -/obj/structure/reflector/box/anchored, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bmD" = ( -/obj/structure/reflector/single/anchored{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bmE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bmF" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bmG" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmI" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmJ" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmK" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmL" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bmM" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bmN" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bmO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bmP" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bmQ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bmR" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bmS" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bmT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bmU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bmV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bmW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"bmX" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"bmY" = ( -/obj/machinery/camera{ - c_tag = "Chief Medical Officer's Office"; - dir = 1; - network = list("SS13") - }, -/obj/machinery/button/door{ - id = "cmooffice"; - name = "Office Emergency Lockdown"; - pixel_y = -24 - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"bmZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"bna" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medp1" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/patients_rooms) -"bnb" = ( -/obj/machinery/door/airlock/medical{ - name = "Patient Room"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/medical/patients_rooms) -"bnc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medp1" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/patients_rooms) -"bnd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medp2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/patients_rooms) -"bne" = ( -/obj/machinery/door/airlock/medical{ - name = "Patient Room 2"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/medical/patients_rooms) -"bnf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medp2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/patients_rooms) -"bng" = ( -/obj/structure/closet/secure_closet/medical2, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/surgery) -"bnh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/machinery/camera{ - c_tag = "Surgery"; - dir = 10; - network = list("SS13","CMO") - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/surgery) -"bni" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/surgery) -"bnj" = ( -/obj/structure/table, -/obj/item/surgical_drapes, -/obj/item/razor, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/surgery) -"bnk" = ( -/obj/structure/table, -/obj/item/cautery{ - pixel_x = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/surgery) -"bnl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"bnm" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"bnn" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"bno" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, -/area/medical/virology) -"bnp" = ( -/obj/machinery/door/airlock/virology{ - name = "Break Room"; - req_access_txt = "39" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bnq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Virology Breakroom"; - dir = 5; - network = list("SS13","CMO") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"bnr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/item/wrench, -/obj/item/crowbar, -/obj/item/restraints/handcuffs, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"bns" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"bnt" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"bnv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"bnw" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"bnx" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/storage/primary) -"bny" = ( -/obj/structure/table, -/obj/machinery/camera{ - c_tag = "Primary Tool Storage North"; - dir = 5 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bnz" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bnA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bnB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bnC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bnD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Primary Tool Storage" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bnE" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bnF" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bnG" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bnH" = ( -/obj/machinery/door/airlock/glass{ - name = "Bar" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bnI" = ( -/obj/machinery/door/airlock/glass{ - name = "Bar" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"bnJ" = ( -/obj/structure/sign/barsign, -/turf/closed/wall, -/area/crew_quarters/bar) -"bnK" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/bar) -"bnL" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/port/neast) -"bnM" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_engi) -"bnN" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_engi) -"bnO" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_engi) -"bnP" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bnQ" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 1 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bnR" = ( -/obj/machinery/door/airlock/glass_engineering{ - name = "Laser Room"; - req_access_txt = "10" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bnS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engineering) -"bnT" = ( -/obj/machinery/door/airlock/glass_engineering{ - name = "Laser Room"; - req_access_txt = "10" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bnU" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bnV" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/engi_med) -"bnW" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/engi_med) -"bnX" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/engi_med) -"bnY" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bnZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"boa" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bob" = ( -/turf/closed/wall, -/area/security/checkpoint/medical) -"boc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"bod" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass_medical{ - id_tag = null; - name = "Chief Medical Officer's Office"; - req_access_txt = "40" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/barber, -/area/crew_quarters/heads/cmo) -"boe" = ( -/turf/closed/wall, -/area/medical/medbay/central) -"bof" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 9 - }, -/area/medical/medbay/central) -"bog" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"boh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"boi" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Morgue APC"; - areastring = "/area/medical/patients_rooms"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/patients_rooms) -"boj" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"bok" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/medical/surgery) -"bol" = ( -/obj/machinery/door/airlock/medical{ - name = "Operating Theatre"; - req_access_txt = "45" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"bom" = ( -/obj/machinery/door/airlock/glass_medical{ - name = "Surgery Observation"; - req_access_txt = "0" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/medical/surgery) -"bon" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"boo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"bop" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitegreen/side, -/area/medical/virology) -"boq" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"bor" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"bov" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"bow" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"box" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/medical/virology) -"boy" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"boA" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"boB" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 8 - }, -/obj/item/device/analyzer, -/turf/open/floor/plasteel, -/area/storage/primary) -"boC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"boD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/storage/primary) -"boE" = ( -/turf/open/floor/plasteel, -/area/storage/primary) -"boF" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel, -/area/storage/primary) -"boG" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"boH" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/directions/security{ - dir = 1; - icon_state = "direction_sec"; - pixel_x = 32; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"boI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"boK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"boL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"boM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"boN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 7" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boQ" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boS" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boT" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boU" = ( -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boV" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"boW" = ( -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 1" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"boX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"boY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"boZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bpa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - icon_state = "pump_map"; - name = "Cooling Loop To Gas"; - on = 1 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/trinary/filter/critical{ - dir = 4; - filter_type = "n2" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/trinary/filter/critical{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpg" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bph" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bpi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bpj" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bpk" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/directions/evac{ - dir = 4; - icon_state = "direction_evac"; - pixel_x = 32; - pixel_y = 24 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - icon_state = "direction_med"; - pixel_x = 32; - pixel_y = 32 - }, -/obj/structure/sign/directions/security{ - dir = 1; - icon_state = "direction_sec"; - pixel_x = 32; - pixel_y = 40 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"bpl" = ( -/obj/machinery/camera{ - c_tag = "Engineering Asteroid Hallway 6" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bpm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bpn" = ( -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bpo" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bpp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"bpq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sign/directions/security{ - dir = 1; - icon_state = "direction_sec"; - pixel_x = -32; - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bpr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Medbay Asteroid Hallway 3"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bps" = ( -/obj/machinery/disposal/deliveryChute{ - desc = "A chute for big and small criminals alike!"; - name = "Criminal Delivery Chute" - }, -/obj/machinery/door/window/brigdoor{ - name = "Criminal Deposit"; - req_access_txt = "2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating, -/area/security/checkpoint/medical) -"bpt" = ( -/obj/structure/table, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/medical) -"bpu" = ( -/obj/machinery/recharger, -/obj/structure/table, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/medical) -"bpv" = ( -/obj/structure/filingcabinet, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/machinery/camera{ - c_tag = "Medbay Security Checkpoint"; - dir = 6 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/medical) -"bpw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/closet/secure_closet/security/med, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/medical) -"bpx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/medical) -"bpy" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 9 - }, -/area/medical/medbay/central) -"bpz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"bpA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bpB" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/sign/examroom{ - pixel_x = -32; - pixel_y = 32 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bpC" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bpD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bpE" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bpF" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bpG" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bpH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bpI" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bpJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"bpK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bpL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/item/stack/packageWrap, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bpM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bpN" = ( -/obj/machinery/vending/medical, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"bpO" = ( -/turf/closed/wall/r_wall, -/area/medical/medbay/central) -"bpR" = ( -/obj/structure/table/glass, -/obj/item/clothing/gloves/color/latex, -/obj/item/device/healthanalyzer, -/obj/item/clothing/glasses/hud/health, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Virology"; - dir = 5; - network = list("SS13","CMO") - }, -/obj/machinery/requests_console{ - department = "Virology"; - name = "Virology Requests Console"; - pixel_x = -32 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"bpS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"bpT" = ( -/obj/machinery/smartfridge/chemistry/virology/preloaded, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"bpU" = ( -/obj/structure/closet/wardrobe/virology_white, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"bpV" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bpW" = ( -/obj/structure/shuttle/engine/propulsion/burst{ - dir = 8 - }, -/turf/open/floor/plating, -/area/shuttle/pod_3) -"bpX" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/pod_3) -"bpY" = ( -/turf/closed/wall, -/area/awaymission/research/interior/gateway) -"bpZ" = ( -/turf/closed/wall/rust, -/area/awaymission/research/interior/gateway) -"bqa" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bqb" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bqc" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/plasteel, -/area/storage/primary) -"bqd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bqe" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bql" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bqm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bqn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bqo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bqp" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bqq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = 29 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"bqr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/meter, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 5 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqs" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqt" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 5 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqv" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/camera{ - c_tag = "SM North"; - dir = 1; - network = list("SS13","CE") - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqA" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bqC" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"bqD" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8; - frequency = 1441; - id = null; - volume_rate = 200 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"bqE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bqF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bqG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bqH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bqI" = ( -/obj/machinery/holopad, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bqJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"bqK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used to watch the questionable medical practices of Medbay from a safe distance."; - name = "Medbay Monitor"; - network = list("CMO"); - pixel_x = -32 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/medical) -"bqL" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/medical) -"bqM" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/checkpoint/medical) -"bqN" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/medical) -"bqO" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Security Office"; - req_access_txt = "63" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/medical) -"bqP" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"bqQ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bqR" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bqS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bqT" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bqU" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bqV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Medbay North"; - dir = 1; - network = list("SS13") - }, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bqW" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bqX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bqY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/requests_console{ - announcementConsole = 0; - department = "Medbay"; - departmentType = 1; - name = "Medbay RC"; - pixel_y = -30 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bqZ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bra" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"brb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"brc" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, -/area/medical/medbay/central) -"brd" = ( -/obj/structure/closet/l3closet/virology, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 9 - }, -/area/medical/virology) -"bre" = ( -/obj/machinery/shower{ - pixel_y = 24 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/virology) -"brf" = ( -/obj/machinery/shower{ - pixel_y = 24 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/virology) -"brg" = ( -/obj/structure/closet/l3closet/virology, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 5 - }, -/area/medical/virology) -"brh" = ( -/obj/item/storage/box/masks{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/gloves, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 5 - }, -/area/medical/virology) -"bri" = ( -/obj/structure/table/glass, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/box/syringes, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"brj" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/virologist, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"brk" = ( -/obj/machinery/computer/pandemic, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"brl" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4; - name = "Medical Escape Pod" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"brm" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"brn" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4; - name = "Medical Escape Pod" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bro" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Escape Pod Airlock" - }, -/obj/docking_port/mobile/pod{ - dir = 4; - id = "pod3"; - name = "escape pod 3"; - port_angle = 0 - }, -/turf/open/floor/plating, -/area/shuttle/pod_3) -"brp" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/item/storage/pod{ - pixel_y = 32 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_3) -"brq" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/machinery/computer/shuttle/pod{ - pixel_y = 32; - possible_destinations = "pod_lavaland3"; - shuttleId = "pod3" - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -32 - }, -/obj/machinery/camera{ - c_tag = "Medbay Escape Pod" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_3) -"brr" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/pod_3) -"brs" = ( -/obj/docking_port/stationary/random{ - dir = 4; - id = "pod_lavaland3"; - name = "lavaland" - }, -/turf/open/space, -/area/space) -"brt" = ( -/obj/item/stack/rods, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bru" = ( -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"brv" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"brw" = ( -/obj/machinery/vending/tool, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"brx" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/screwdriver, -/turf/open/floor/plasteel, -/area/storage/primary) -"bry" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/storage/primary) -"brz" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brA" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"brB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/directions/engineering{ - dir = 4; - icon_state = "direction_eng"; - pixel_x = 32; - pixel_y = -24 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - icon_state = "direction_med"; - pixel_x = 32; - pixel_y = -32 - }, -/obj/structure/sign/directions/science{ - pixel_x = 32; - pixel_y = -40 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"brC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"brE" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"brF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/sign/botany{ - pixel_x = 32; - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"brG" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brI" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brM" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brN" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"brQ" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"brR" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"brS" = ( -/obj/machinery/light, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"brT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"brU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"brV" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"brW" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"brX" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"brY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"brZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bsa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Cooling Loop Bypass"; - on = 0 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bsb" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) -"bsc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bsd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bse" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"bsf" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"bsg" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"bsh" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bsi" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bsj" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bsk" = ( -/obj/machinery/light, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bsl" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bsm" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"bsn" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bso" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bsp" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bsq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bsr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sign/directions/engineering{ - dir = 8; - icon_state = "direction_eng"; - pixel_x = -32; - pixel_y = -24 - }, -/obj/structure/sign/directions/supply{ - dir = 1; - icon_state = "direction_supply"; - pixel_x = -32; - pixel_y = -32 - }, -/obj/structure/sign/directions/evac{ - pixel_x = -32; - pixel_y = -40 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bss" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"bst" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Medbay Security Checkpoint APC"; - areastring = "/area/security/checkpoint/medical"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/structure/cable/orange, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/medical) -"bsu" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/effect/landmark/start/depsec/medical, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/medical) -"bsv" = ( -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/medical) -"bsw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/medical) -"bsx" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/medical) -"bsy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/medical) -"bsz" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = 8; - pixel_y = -3 - }, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"bsA" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/table/glass, -/obj/item/clothing/neck/stethoscope, -/obj/item/device/flashlight/pen, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bsB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bsC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bsD" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bsE" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bsF" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bsG" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bsH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, -/area/medical/medbay/central) -"bsI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - icon_state = "door_locked"; - id_tag = "virology_airlock_exterior"; - locked = 1; - name = "Virology Exterior Airlock"; - req_access_txt = "39" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bsK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, -/area/medical/virology) -"bsL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"bsM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/medical/virology) -"bsN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"bsO" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"bsP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"bsQ" = ( -/obj/item/hand_labeler, -/obj/item/device/radio/headset/headset_med, -/obj/structure/reagent_dispensers/virusfood{ - density = 0; - pixel_x = 30 - }, -/obj/item/stack/sheet/mineral/plasma{ - amount = 5 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"bsR" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bsS" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bsT" = ( -/obj/machinery/gateway{ - dir = 9 - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bsU" = ( -/obj/machinery/gateway{ - dir = 1 - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bsV" = ( -/obj/machinery/gateway{ - dir = 5 - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bsW" = ( -/obj/item/crowbar, -/turf/open/floor/plating/astplate, -/area/awaymission/research/interior/gateway) -"bsX" = ( -/obj/item/clothing/head/cone, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bsY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bsZ" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bta" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/storage/primary) -"btb" = ( -/obj/structure/table, -/obj/item/storage/belt/utility, -/turf/open/floor/plasteel, -/area/storage/primary) -"btc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"btd" = ( -/turf/closed/wall, -/area/hydroponics) -"bte" = ( -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hydroponics) -"btf" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hydroponics) -"btg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/green/corner, -/area/hydroponics) -"bth" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/eastleft{ - name = "Hydroponics Desk"; - req_access_txt = "35" - }, -/turf/open/floor/plating, -/area/hydroponics) -"bti" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hydroponics) -"btj" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/hydroponics) -"btk" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"btl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/serv_engi) -"btm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_engi) -"btn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bto" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"btp" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"btq" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"btr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Gas to Cooling Loop"; - on = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bts" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"btt" = ( -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "SM1"; - name = "Radiation Chamber Shutters" - }, -/turf/open/floor/plating, -/area/engine/supermatter) -"btu" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"btv" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/machinery/door/firedoor, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) -"btw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"btx" = ( -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"bty" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"btz" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/obj/machinery/door/firedoor, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) -"btA" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"btB" = ( -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "SM2"; - name = "Radiation Chamber Shutters" - }, -/turf/open/floor/plating, -/area/engine/supermatter) -"btC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 8 - }, -/obj/machinery/meter, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"btD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Gas To Mix"; - on = 0 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"btE" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"btF" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "SM East"; - dir = 9; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"btG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"btH" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"btI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"btJ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Central Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"btK" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Central Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"btL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/engi_med) -"btM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/engi_med) -"btN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/engi_med) -"btO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/bluecross_2{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"btP" = ( -/obj/machinery/computer/secure_data, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/medical) -"btQ" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/medical/medbay/central) -"btR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/medbay/central) -"btS" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"btT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"btU" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"btV" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"btW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"btX" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"btY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"btZ" = ( -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bub" = ( -/obj/structure/closet/secure_closet/medical1, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"buc" = ( -/obj/machinery/doorButtons/access_button{ - idDoor = "virology_airlock_exterior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_x = 8; - pixel_y = -28; - req_access_txt = "39" - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, -/area/medical/medbay/central) -"bue" = ( -/obj/machinery/doorButtons/access_button{ - idDoor = "virology_airlock_exterior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = -28; - req_access_txt = "39" - }, -/obj/machinery/camera{ - c_tag = "Virology Airlocks"; - dir = 5; - network = list("SS13","CMO") - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"buf" = ( -/obj/machinery/doorButtons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = -28; - req_access_txt = "39" - }, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 6 - }, -/area/medical/virology) -"bug" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/safety_internals, -/turf/closed/wall/r_wall, -/area/medical/virology) -"buh" = ( -/obj/machinery/doorButtons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_y = -22; - req_access_txt = "39" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-25" - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"bui" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"buj" = ( -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/pen/red, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"bul" = ( -/obj/item/computer_hardware/recharger/APC, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bum" = ( -/obj/machinery/gateway{ - dir = 8 - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bun" = ( -/obj/machinery/gateway/centerstation, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"buo" = ( -/obj/machinery/gateway{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/awaymission/research/interior/gateway) -"bup" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/awaymission/research/interior/gateway) -"buq" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/awaymission/research/interior/gateway) -"bur" = ( -/obj/item/paper/fluff/stations/cere/gateway, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bus" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"but" = ( -/obj/structure/table, -/obj/machinery/power/apc{ - dir = 8; - name = "Primary Tool Storage APC"; - areastring = "/area/storage/primary"; - pixel_x = -24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/turf/open/floor/plasteel, -/area/storage/primary) -"buu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/storage/primary) -"buv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"buw" = ( -/obj/structure/table, -/obj/item/device/multitool, -/turf/open/floor/plasteel, -/area/storage/primary) -"bux" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"buy" = ( -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"buz" = ( -/obj/machinery/camera{ - c_tag = "Hydroponics North 1" - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"buA" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"buB" = ( -/obj/structure/beebox, -/obj/item/queen_bee/bought, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/grass, -/area/hydroponics) -"buC" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/grass, -/area/hydroponics) -"buD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/grass, -/area/hydroponics) -"buE" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Hydroponics"; - req_access_txt = "35" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hydroponics) -"buF" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"buG" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"buH" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"buI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"buJ" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"buK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"buL" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"buM" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"buN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"buO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"buP" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/corner, -/area/hallway/primary/central) -"buQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringWest3"; - location = "EngineeringWest2"; - name = "navigation beacon (Engineering-West 2)" - }, -/turf/open/floor/plasteel/yellow/side, -/area/hallway/primary/central) -"buR" = ( -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"buS" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"buT" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"buU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"buV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"buW" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) -"buX" = ( -/obj/machinery/power/supermatter_shard/crystal/engine, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"buY" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) -"buZ" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/item/tank/internals/plasma, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"bva" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Filtered to Gas" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bvb" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bvc" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bvd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/corner, -/area/hallway/primary/central) -"bve" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringEast3"; - location = "EngineeringEast2"; - name = "navigation beacon (Engineering-East 2)" - }, -/turf/open/floor/plasteel/yellow/side, -/area/hallway/primary/central) -"bvf" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"bvg" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvh" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Central Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/central"; - pixel_y = 24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvl" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bvn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bvo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bvp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bvq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8; - name = "Medbay Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvs" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvt" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix Input"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bvx" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/medbay/central) -"bvy" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bvz" = ( -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = -4; - pixel_y = -3 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bvA" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bvB" = ( -/obj/structure/chair, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"bvC" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bvD" = ( -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/bruise_pack, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"bvE" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bvF" = ( -/obj/machinery/sleeper{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bvG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bvH" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bvI" = ( -/obj/machinery/atmospherics/components/unary/cryo_cell{ - dir = 8; - icon_state = "cell-off" - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bvJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/bed/roller, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bvK" = ( -/turf/closed/wall, -/area/medical/genetics/cloning) -"bvL" = ( -/turf/closed/wall/r_wall, -/area/medical/genetics/cloning) -"bvM" = ( -/obj/machinery/door/airlock/glass_virology{ - name = "Monkey Pen"; - req_access_txt = "39" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bvN" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Virology APC"; - areastring = "/area/medical/virology"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bvO" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bvP" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bvQ" = ( -/obj/machinery/gateway{ - dir = 10 - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bvS" = ( -/obj/machinery/gateway{ - dir = 6 - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bvT" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/awaymission/research/interior/gateway) -"bvU" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel, -/area/storage/primary) -"bvW" = ( -/obj/structure/table, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/turf/open/floor/plasteel, -/area/storage/primary) -"bvX" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bvY" = ( -/obj/machinery/camera{ - c_tag = "Hydroponics Front Desk"; - dir = 4 - }, -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hydroponics) -"bvZ" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/effect/landmark/start/botanist, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bwa" = ( -/turf/open/floor/plasteel/darkgreen/side{ - dir = 8 - }, -/area/hydroponics) -"bwb" = ( -/turf/open/floor/plasteel/black, -/area/hydroponics) -"bwc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 4 - }, -/area/hydroponics) -"bwd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hydroponics) -"bwe" = ( -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bwf" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/grass, -/area/hydroponics) -"bwg" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"bwh" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"bwi" = ( -/turf/closed/wall/r_wall, -/area/engine/break_room) -"bwj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/preopen{ - id = "engineeringlockdown"; - layer = 2.6; - name = "Emergency Lockdown Blastdoor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/break_room) -"bwk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/poddoor/preopen{ - id = "engineeringlockdown"; - layer = 2.6; - name = "Emergency Lockdown Blastdoor" - }, -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Engineering Foyer"; - req_access_txt = "0"; - req_one_access_txt = "10;24" - }, -/turf/open/floor/plasteel/yellow, -/area/engine/break_room) -"bwl" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "engineeringlockdown"; - layer = 2.6; - name = "Emergency Lockdown Blastdoor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/break_room) -"bwm" = ( -/obj/structure/table, -/obj/item/pipe_dispenser, -/obj/machinery/camera{ - c_tag = "SM West"; - dir = 4; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bwn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bwo" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - d2 = 8; - icon_state = "0-8" - }, -/obj/item/tank/internals/plasma, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"bwp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 8 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bwq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix To Gas"; - on = 0 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bwr" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bws" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bwt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "engineeringlockdown"; - layer = 2.6; - name = "Emergency Lockdown Blastdoor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/break_room) -"bwu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "engineeringlockdown"; - layer = 2.6; - name = "Emergency Lockdown Blastdoor" - }, -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Engineering Foyer"; - req_access_txt = "0"; - req_one_access_txt = "10;24" - }, -/turf/open/floor/plasteel/yellow, -/area/engine/break_room) -"bwv" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bww" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bwx" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bwy" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bwz" = ( -/turf/closed/wall, -/area/maintenance/asteroid/central) -"bwA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Medbay Atmospherics Checkpoint"; - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bwB" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bwC" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bwD" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix Output"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bwE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Medbay Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bwF" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bwG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bwH" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bwI" = ( -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bwJ" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bwK" = ( -/obj/machinery/door/airlock/glass_medical{ - id_tag = null; - name = "Medbay"; - req_access_txt = "45" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"bwL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Medbay East"; - dir = 9 - }, -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 27 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bwM" = ( -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bwN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bwO" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bwP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/camera{ - c_tag = "Cyrotubes"; - dir = 9 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bwQ" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Medbay APC"; - areastring = "/area/medical/medbay/central"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bwR" = ( -/obj/structure/bed/roller, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bwS" = ( -/obj/machinery/shower{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/genetics/cloning) -"bwT" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/genetics/cloning) -"bwU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/medical/genetics/cloning) -"bwV" = ( -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/genetics/cloning) -"bwW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/mob/living/carbon/monkey, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bwX" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bwY" = ( -/mob/living/carbon/monkey, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bwZ" = ( -/obj/item/wallframe/apc, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bxa" = ( -/obj/item/stack/rods, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bxb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bxc" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bxd" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/item/paper/pamphlet/gateway, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"bxe" = ( -/obj/item/clothing/head/cone, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bxf" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/storage/primary) -"bxg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/storage/primary) -"bxh" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel, -/area/storage/primary) -"bxi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 3"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bxj" = ( -/obj/machinery/door/airlock/glass{ - name = "Hydroponics"; - req_access_txt = "35" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hydroponics) -"bxk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hydroponics) -"bxl" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bxm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bxn" = ( -/obj/structure/table, -/obj/item/seeds/chili, -/obj/item/seeds/grape, -/obj/item/seeds/grape, -/obj/item/reagent_containers/food/snacks/grown/chili, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bxo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hydroponics) -"bxp" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/grass, -/area/hydroponics) -"bxq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/grass, -/area/hydroponics) -"bxr" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hydroponics) -"bxs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"bxt" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Engineering Foyer APC"; - areastring = "/area/engine/break_room"; - pixel_x = -25 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bxu" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 4 - }, -/area/engine/break_room) -"bxv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/break_room) -"bxw" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 1 - }, -/area/engine/break_room) -"bxx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/button/door{ - id = "SM1"; - name = "Collector Shuttle Toggle"; - pixel_x = 24; - req_access_txt = "10" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bxy" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/obj/machinery/meter, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"bxz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/glass_engineering{ - heat_proof = 1; - name = "Supermatter Chamber"; - req_access_txt = "10" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"bxA" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/machinery/meter, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"bxB" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"bxC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/button/door{ - id = "SM2"; - name = "Collector Shuttle Toggle"; - pixel_x = -24; - req_access_txt = "10" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bxD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bxE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bxF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/corner{ - dir = 4 - }, -/area/engine/break_room) -"bxG" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/break_room) -"bxH" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 1 - }, -/area/engine/break_room) -"bxI" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Engineering Foyer APC"; - areastring = "/area/engine/break_room"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bxJ" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/central) -"bxK" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bxL" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bxM" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bxN" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bxO" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bxP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bxQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bxR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bxS" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/britcup, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"bxT" = ( -/obj/machinery/button/door{ - id = "medmain"; - name = "Medbay Doors"; - normaldoorcontrol = 1; - pixel_x = 4; - pixel_y = -24 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/medical/medbay/central) -"bxU" = ( -/obj/machinery/cell_charger, -/obj/item/wrench/medical, -/obj/structure/table/glass, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bxW" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bxX" = ( -/obj/structure/bed/roller, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bxY" = ( -/obj/machinery/shower{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/genetics/cloning) -"bxZ" = ( -/turf/open/floor/plasteel/freezer, -/area/medical/genetics/cloning) -"bya" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/genetics/cloning) -"byb" = ( -/obj/machinery/dna_scannernew, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/medical/genetics/cloning) -"byc" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"byd" = ( -/obj/machinery/light, -/mob/living/carbon/monkey, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"bye" = ( -/obj/item/screwdriver, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"byf" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"byg" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/gateway, -/obj/item/coin/silver, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"byh" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/camera{ - c_tag = "Primary Tool Storage South"; - dir = 5 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/storage/primary) -"byi" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel, -/area/storage/primary) -"byj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/newscaster{ - pixel_x = -28; - pixel_y = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"byk" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"byl" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"bym" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 4 - }, -/area/hydroponics) -"byn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"byo" = ( -/turf/open/floor/plasteel/darkgreen/side{ - dir = 4 - }, -/area/hydroponics) -"byp" = ( -/obj/machinery/camera{ - c_tag = "Hydroponics North 2" - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"byq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/window{ - dir = 8; - icon_state = "right"; - name = "Hydroponics Delivery Chute"; - opacity = 1; - req_access_txt = "33" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/hydroponics) -"byr" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "Hydroponics" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"bys" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"byt" = ( -/obj/structure/rack, -/obj/item/storage/bag/ore, -/turf/open/floor/plating, -/area/hallway/primary/central) -"byu" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/central) -"byv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/break_room) -"byw" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"byx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/break_room) -"byy" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/corner, -/area/engine/break_room) -"byz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"byA" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"byB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - icon_state = "pump_map"; - name = "Chamber To Filter" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"byD" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Gas To Chamber"; - on = 0 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"byE" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"byF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"byG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"byH" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/engine/break_room) -"byI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/break_room) -"byJ" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"byK" = ( -/turf/closed/wall/r_wall, -/area/security/checkpoint/engineering) -"byL" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"byM" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"byN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"byO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"byP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/medical/medbay/central) -"byQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"byR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"byS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"byT" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/folder, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"byU" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"byV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"byW" = ( -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"byX" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"byY" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"byZ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Medbay West"; - dir = 5; - network = list("SS13") - }, -/obj/machinery/vending/wallmed{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bza" = ( -/obj/machinery/shower{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/medical/genetics/cloning) -"bzb" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/geneticist, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/medical/genetics/cloning) -"bzc" = ( -/obj/machinery/computer/cloning, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/genetics/cloning) -"bzd" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/storage/primary) -"bze" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/storage/primary) -"bzf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bzg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bzh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Primary Tool Storage" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bzi" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bzj" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bzk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"bzl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 4 - }, -/area/hydroponics) -"bzm" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bzn" = ( -/obj/effect/landmark/start/botanist, -/turf/open/floor/grass, -/area/hydroponics) -"bzo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hydroponics) -"bzp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hydroponics) -"bzq" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/central) -"bzr" = ( -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bzs" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/break_room) -"bzt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bzu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bzv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bzw" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = 29 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bzx" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bzy" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bzz" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bzA" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"bzB" = ( -/obj/machinery/door/airlock/glass_engineering{ - heat_proof = 1; - name = "Supermatter Chamber"; - req_access_txt = "10" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"bzC" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/components/binary/pump, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"bzD" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bzE" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bzF" = ( -/turf/open/floor/plasteel/red/corner, -/area/engine/break_room) -"bzG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating/airless, -/area/security/checkpoint/engineering) -"bzH" = ( -/obj/structure/closet/secure_closet/security/engine, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/engineering) -"bzI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/engineering) -"bzJ" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Engineering Security Checkpoint APC"; - areastring = "/area/security/checkpoint/engineering"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/engineering) -"bzK" = ( -/obj/structure/janitorialcart, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bzL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bzM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bzN" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"bzO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/medical/medbay/central) -"bzP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bzQ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bzR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bzS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bzT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bzU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"bzV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_medical{ - id_tag = "medmain"; - name = "Medbay"; - req_access_txt = "5" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"bzW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bzX" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bzY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bzZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bAa" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"bAb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/corner, -/area/medical/medbay/central) -"bAc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/genetics/cloning) -"bAd" = ( -/obj/machinery/disposal/bin, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/genetics/cloning) -"bAe" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/medical/genetics/cloning) -"bAf" = ( -/obj/machinery/clonepod, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/medical/genetics/cloning) -"bAg" = ( -/obj/structure/bodycontainer/morgue, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/obj/effect/landmark/revenantspawn, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"bAh" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bAi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bAj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bAk" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bAl" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bAm" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"bAn" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 8 - }, -/area/hydroponics) -"bAo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"bAp" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bAq" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bAr" = ( -/obj/machinery/door/airlock/glass{ - name = "Bee Reserve"; - req_access_txt = "35" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bAs" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/grass, -/area/hydroponics) -"bAt" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Port Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/port/east"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"bAu" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bAv" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/item/device/assembly/mousetrap/armed, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"bAw" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bAx" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bAy" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bAz" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bAA" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bAB" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bAC" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bAD" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/break_room) -"bAE" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/break_room) -"bAF" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Engineering Lobby West"; - dir = 4; - network = list("SS13","CE") - }, -/obj/machinery/newscaster{ - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bAG" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bAH" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bAI" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bAJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAK" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/meter, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 5 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/trinary/filter/critical{ - dir = 8; - icon_state = "filter_off"; - on = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/radiation{ - pixel_y = 32 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/airalarm/engine{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"bAP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Gas To Filter"; - on = 1 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/radiation{ - pixel_y = 32 - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAS" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bAU" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bAV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bAW" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bAX" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/engine/break_room) -"bAY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating/airless, -/area/security/checkpoint/engineering) -"bAZ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/engineering) -"bBa" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/checkpoint/engineering) -"bBb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/engineering) -"bBc" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bBd" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Broom Closet"; - req_access_txt = "0" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bBe" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"bBf" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bBg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bBh" = ( -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bBi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bBj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bBk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/medical/medbay/central) -"bBl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_medical{ - id_tag = "medmain"; - name = "Medbay"; - req_access_txt = "5" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"bBm" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bBn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bBo" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bBp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bBq" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bBr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bBs" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bBt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/medical/medbay/central) -"bBu" = ( -/obj/machinery/door/airlock/glass_medical{ - id_tag = "cloningmain"; - name = "Genetics"; - req_access_txt = "0"; - req_one_access_txt = "5;9" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/genetics/cloning) -"bBv" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/medical/genetics/cloning) -"bBw" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics/cloning) -"bBx" = ( -/obj/item/book/manual/medical_cloning{ - pixel_y = 6 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/genetics/cloning) -"bBy" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bBz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bBA" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/airless, -/area/space) -"bBB" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bBC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bBD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/grass, -/area/hydroponics) -"bBE" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bBF" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bBG" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bBH" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bBI" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bBJ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bBK" = ( -/obj/structure/table, -/obj/item/storage/box/cups, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bBL" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bBM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBN" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBO" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBP" = ( -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBQ" = ( -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBR" = ( -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBS" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Atmos To Loop"; - on = 0 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bBV" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bBW" = ( -/obj/structure/table, -/obj/item/storage/box/cups, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Engineering Lobby East"; - dir = 4; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bBX" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bBY" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bBZ" = ( -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/engine/break_room) -"bCa" = ( -/obj/structure/table/reinforced, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/security/checkpoint/engineering) -"bCb" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/effect/landmark/start/depsec/engineering, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/engineering) -"bCd" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/camera{ - c_tag = "Engineering Security Checkpoint"; - dir = 9 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/engineering) -"bCe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bCf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/sign/bluecross_2{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"bCg" = ( -/turf/closed/wall, -/area/medical/chemistry) -"bCh" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bCi" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bCj" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/open/floor/plating, -/area/medical/chemistry) -"bCk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/button/door{ - id = "medmain"; - name = "Medbay Doors"; - normaldoorcontrol = 1; - pixel_x = -24 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bCl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bCm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/medical/medbay/central) -"bCn" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bCo" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bCp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bCq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/genetics/cloning) -"bCr" = ( -/obj/structure/closet/wardrobe/white, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/genetics/cloning) -"bCs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/medical/genetics/cloning) -"bCt" = ( -/obj/machinery/button/door{ - id = "cloningmain"; - name = "Cloning Door"; - normaldoorcontrol = 1; - pixel_y = -24 - }, -/obj/machinery/camera{ - c_tag = "Cloning"; - dir = 10; - network = list("SS13","CMO") - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/light, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/genetics/cloning) -"bCu" = ( -/obj/item/storage/box/rxglasses{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/bodybags, -/obj/item/pen, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Cloning Lab APC"; - areastring = "/area/medical/genetics/cloning"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whitepurple/corner, -/area/medical/genetics/cloning) -"bCv" = ( -/turf/closed/wall/rust, -/area/space) -"bCw" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bCx" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bCy" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bCz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bCA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 8 - }, -/area/hydroponics) -"bCB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bCC" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bCD" = ( -/obj/structure/closet, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"bCE" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bCF" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bCG" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bCH" = ( -/obj/structure/rack, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bCI" = ( -/obj/machinery/vending/snack, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bCJ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bCK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bCL" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bCM" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bCN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bCO" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bCP" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bCQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/closet/radiation, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bCR" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/closet/radiation, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bCS" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bCT" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bCV" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bCW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/closet/radiation, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"bCX" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bCY" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bCZ" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bDb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/engine/break_room) -"bDc" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/glass_security{ - name = "Prisoner Processing"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red, -/area/security/checkpoint/engineering) -"bDd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/engineering) -"bDe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/engineering) -"bDf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/machinery/computer/security/telescreen{ - desc = "Used to watch the CE's wrench monkeys incase they build another disposal 'ride'."; - name = "Engineering Monitor"; - network = list("CE") - }, -/obj/structure/table, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/engineering) -"bDg" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bDh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "Medbay Asteroid Hallway 2"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bDj" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/landmark/start/chemist, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"bDk" = ( -/obj/structure/table/glass, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/dropper, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"bDl" = ( -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"bDq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"bDr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bDs" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bDt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bDu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Medbay South"; - dir = 6 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bDv" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"bDw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"bDx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/genetics) -"bDy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/genetics) -"bDz" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Genetics Research"; - req_access_txt = "0"; - req_one_access_txt = "5;9" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/medical/genetics) -"bDA" = ( -/turf/closed/wall, -/area/medical/genetics) -"bDB" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bDC" = ( -/obj/item/storage/toolbox/mechanical/old, -/turf/open/floor/plating, -/area/space) -"bDD" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bDE" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bDF" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bDG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bDH" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bDI" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/obj/machinery/camera{ - c_tag = "Hydroponics Storage"; - dir = 1; - network = list("SS13"); - start_active = 1 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bDJ" = ( -/obj/machinery/chem_master/condimaster, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bDK" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/shovel/spade, -/obj/item/wrench, -/obj/item/reagent_containers/glass/bucket, -/obj/item/wirecutters, -/obj/item/shovel/spade, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bDL" = ( -/obj/machinery/biogenerator, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bDM" = ( -/obj/machinery/seed_extractor, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"bDN" = ( -/obj/structure/table, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/storage/bag/plants, -/obj/item/storage/bag/plants, -/obj/machinery/light, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"bDO" = ( -/obj/structure/closet/wardrobe/botanist, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"bDP" = ( -/obj/structure/beebox, -/obj/item/queen_bee/bought, -/obj/machinery/camera{ - c_tag = "Hydroponics Bee Reserve South"; - dir = 5; - network = list("SS13") - }, -/turf/open/floor/grass, -/area/hydroponics) -"bDQ" = ( -/obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"bDR" = ( -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bDS" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bDT" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Atmospherics Maintenance"; - req_access_txt = "12;24" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bDU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bDV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bDW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bDX" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bDY" = ( -/turf/open/floor/plasteel, -/area/engine/break_room) -"bDZ" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bEa" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bEb" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Engineering APC"; - areastring = "/area/engine/engineering"; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bEc" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bEd" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"bEe" = ( -/obj/machinery/door/airlock/glass_engineering{ - name = "Supermatter Engine Room"; - req_access_txt = "10" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bEf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engineering) -"bEg" = ( -/obj/machinery/door/airlock/glass_engineering{ - name = "Supermatter Engine Room"; - req_access_txt = "10" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"bEh" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bEi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bEj" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/corner{ - dir = 1 - }, -/area/engine/break_room) -"bEk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bEl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/engine/break_room) -"bEm" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating/airless, -/area/security/checkpoint/engineering) -"bEn" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/engineering) -"bEo" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/structure/filingcabinet, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/engineering) -"bEp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/engineering) -"bEq" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bEr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bEs" = ( -/obj/machinery/chem_master, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 1 - }, -/area/medical/chemistry) -"bEt" = ( -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 1 - }, -/area/medical/chemistry) -"bEu" = ( -/obj/structure/table/glass, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/dropper, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 1 - }, -/area/medical/chemistry) -"bEv" = ( -/obj/machinery/chem_master, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 4 - }, -/area/medical/chemistry) -"bEw" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 4 - }, -/area/medical/chemistry) -"bEx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"bEy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"bEz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/item/storage/box/syringes, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/central) -"bEA" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bEB" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bEC" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"bED" = ( -/obj/machinery/disposal/bin, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 9 - }, -/area/medical/genetics) -"bEE" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/junction, -/turf/open/floor/plasteel/white, -/area/medical/genetics) -"bEF" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 5 - }, -/area/medical/genetics) -"bEG" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/grass, -/area/medical/genetics) -"bEH" = ( -/turf/open/floor/grass, -/area/medical/genetics) -"bEI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bEJ" = ( -/obj/item/coin/gold, -/turf/open/floor/plating, -/area/space) -"bEK" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bEL" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/electronics/airlock, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bEM" = ( -/turf/closed/wall, -/area/crew_quarters/fitness) -"bEN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plasteel, -/area/maintenance/asteroid/port/west) -"bEO" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/fitness) -"bEP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bEQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bER" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bES" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j1s"; - name = "disposal pipe - Library"; - sortType = 16 - }, -/turf/closed/wall, -/area/hydroponics) -"bET" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bEU" = ( -/obj/machinery/portable_atmospherics/canister/freon, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bEV" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bEW" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bEX" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bEY" = ( -/obj/structure/closet/firecloset/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bEZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bFa" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/rods{ - amount = 50 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bFb" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/obj/machinery/power/apc{ - dir = 1; - name = "Atmospherics APC"; - areastring = "/area/engine/atmos"; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bFc" = ( -/obj/structure/table, -/obj/item/grenade/chem_grenade/metalfoam, -/obj/item/grenade/chem_grenade/metalfoam, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bFd" = ( -/obj/structure/rack, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/head/welding, -/obj/item/clothing/head/welding, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bFe" = ( -/obj/structure/tank_dispenser, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"bFf" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"bFg" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bFh" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bFi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bFj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bFk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engineering) -"bFl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFn" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-20"; - light_color = "#E1E17D"; - light_range = 5; - luminosity = 2 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFp" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFq" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFr" = ( -/obj/structure/table, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFt" = ( -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFu" = ( -/obj/structure/table, -/obj/item/stack/sheet/rglass{ - amount = 50 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFv" = ( -/obj/structure/table, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bFy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/engineering) -"bFz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engineering) -"bFA" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/engine/break_room) -"bFB" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bFC" = ( -/obj/machinery/vending/cola, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bFD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bFE" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bFF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bFG" = ( -/obj/machinery/chem_dispenser, -/obj/structure/sign/poster/official/safety_eye_protection{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 8 - }, -/area/medical/chemistry) -"bFH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/corner, -/area/medical/chemistry) -"bFI" = ( -/obj/machinery/chem_heater, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side, -/area/medical/chemistry) -"bFJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side, -/area/medical/chemistry) -"bFK" = ( -/obj/machinery/chem_heater, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side, -/area/medical/chemistry) -"bFL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side, -/area/medical/chemistry) -"bFM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 4 - }, -/area/medical/chemistry) -"bFN" = ( -/obj/machinery/door/airlock/glass_medical{ - id_tag = null; - name = "Chemistry Lab"; - req_access_txt = "5; 33" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/chemistry) -"bFO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"bFP" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"bFQ" = ( -/turf/closed/wall, -/area/medical/medbay/zone2) -"bFR" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/medical/medbay/zone2) -"bFS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/medical/genetics) -"bFT" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/geneticist, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bFU" = ( -/obj/machinery/computer/scan_consolenew, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/medical/genetics) -"bFV" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/mob/living/carbon/monkey, -/turf/open/floor/grass, -/area/medical/genetics) -"bFW" = ( -/obj/structure/flora/tree/palm, -/turf/open/floor/grass, -/area/medical/genetics) -"bGa" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bGe" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space) -"bGg" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/space) -"bGh" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bGi" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bGj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bGk" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bGl" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 28 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bGm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/camera{ - c_tag = "Fitness North" - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "applebush" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bGn" = ( -/mob/living/simple_animal/crab{ - desc = "The local trainer hired to keep the crew in shape by aggressively snipping at them."; - name = "Crabohydrates" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bGo" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/obj/structure/table, -/obj/item/folder/red{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/folder/yellow{ - pixel_x = -2; - pixel_y = 2 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bGp" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/filingcabinet, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bGq" = ( -/turf/closed/wall, -/area/library) -"bGr" = ( -/obj/structure/bookcase{ - name = "Forbidden Knowledge" - }, -/turf/open/floor/plasteel/chapel{ - dir = 1 - }, -/area/library) -"bGs" = ( -/obj/structure/table/wood, -/obj/item/device/taperecorder, -/obj/item/device/camera, -/obj/item/device/radio/intercom{ - pixel_y = 25 - }, -/turf/open/floor/plasteel/black, -/area/library) -"bGt" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/invisible, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/chapel{ - dir = 4 - }, -/area/library) -"bGu" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/library) -"bGv" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/wood, -/area/library) -"bGw" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/wood, -/area/library) -"bGx" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 24 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Library APC"; - areastring = "/area/library"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/library) -"bGy" = ( -/turf/closed/wall, -/area/library/lounge) -"bGz" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/wood, -/area/library/lounge) -"bGA" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bGB" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bGC" = ( -/obj/structure/fireplace, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bGD" = ( -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bGE" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bGF" = ( -/obj/structure/rack, -/obj/item/grown/log, -/obj/item/grown/log, -/obj/item/grown/log, -/obj/item/grown/log, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/item/hatchet, -/turf/open/floor/wood, -/area/library/lounge) -"bGG" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/library/lounge) -"bGH" = ( -/obj/machinery/portable_atmospherics/canister/water_vapor, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bGI" = ( -/obj/machinery/camera{ - c_tag = "Atmospherics North-West"; - dir = 4; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bGJ" = ( -/turf/open/floor/plasteel, -/area/engine/atmos) -"bGK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bGL" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bGM" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bGN" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/obj/effect/landmark/start/atmospheric_technician, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"bGO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "atmodesk" - }, -/obj/machinery/door/window/eastright{ - name = "Atmospherics Desk"; - req_access_txt = "24" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/yellow, -/area/engine/atmos) -"bGP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bGQ" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bGR" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bGS" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bGT" = ( -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Engine Room"; - req_access_txt = "10;11" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow, -/area/engine/engineering) -"bGU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/engineering) -"bGV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bGW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bGX" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bGY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bGZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bHa" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bHb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bHc" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bHd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bHe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/engineering) -"bHf" = ( -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Engine Room"; - req_access_txt = "10;11" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow, -/area/engine/engineering) -"bHg" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/break_room) -"bHh" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bHi" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bHj" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/break_room) -"bHk" = ( -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"bHl" = ( -/obj/machinery/requests_console{ - department = "Chemistry"; - departmentType = 2; - name = "Chemistry RC"; - pixel_x = -30 - }, -/mob/living/simple_animal/bot/cleanbot{ - name = "Na2CO3" - }, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 8 - }, -/area/medical/chemistry) -"bHm" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"bHn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"bHp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 4 - }, -/area/medical/chemistry) -"bHq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/medical/chemistry) -"bHr" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 10 - }, -/area/medical/medbay/central) -"bHs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/central) -"bHt" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 6 - }, -/area/medical/medbay/central) -"bHu" = ( -/obj/item/folder/white, -/obj/item/gun/syringe, -/obj/item/reagent_containers/dropper, -/obj/item/soap/nanotrasen, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/medical/medbay/zone2) -"bHv" = ( -/obj/item/storage/firstaid/o2{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/neutral/side, -/area/medical/medbay/zone2) -"bHw" = ( -/obj/item/device/radio/intercom, -/obj/item/storage/firstaid/toxin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/toxin, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/neutral/side, -/area/medical/medbay/zone2) -"bHx" = ( -/obj/item/storage/firstaid/fire{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/neutral/side, -/area/medical/medbay/zone2) -"bHy" = ( -/obj/item/storage/firstaid/brute{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/brute, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2) -"bHz" = ( -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet, -/turf/open/floor/plating, -/area/medical/medbay/zone2) -"bHA" = ( -/obj/structure/closet/secure_closet/medical1, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 9 - }, -/area/medical/genetics) -"bHB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/medical/genetics) -"bHC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/medical/genetics) -"bHD" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bHE" = ( -/obj/machinery/dna_scannernew, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/medical/genetics) -"bHF" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bHK" = ( -/obj/structure/weightlifter, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bHL" = ( -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bHM" = ( -/obj/structure/stacklifter, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bHN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bHO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bHP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/table, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bHQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bHR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/chair/office/dark, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bHS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_x = 28; - pixel_y = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bHT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/fitness) -"bHU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bHV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bHW" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/black, -/area/library) -"bHX" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/library) -"bHY" = ( -/obj/structure/destructible/cult/tome, -/obj/item/clothing/under/suit_jacket/red, -/obj/item/book/codex_gigas, -/turf/open/floor/plasteel/black, -/area/library) -"bHZ" = ( -/turf/open/floor/wood, -/area/library) -"bIa" = ( -/obj/machinery/door/window{ - dir = 8; - icon_state = "right"; - name = "Library Desk"; - opacity = 1; - req_access_txt = "37" - }, -/turf/open/floor/wood, -/area/library) -"bIb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/wood, -/area/library) -"bIc" = ( -/turf/open/floor/wood, -/area/library/lounge) -"bId" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bIe" = ( -/obj/structure/chair/comfy/black{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bIf" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 28 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bIg" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"bIh" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bIi" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bIj" = ( -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Atmospherics Storage"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bIk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bIl" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bIm" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bIn" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "atmodesk"; - name = "Atmospherics Desk Shutters"; - pixel_x = 24 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-13" - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/atmos) -"bIo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bIp" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/break_room) -"bIq" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/side, -/area/engine/break_room) -"bIr" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/yellow/side, -/area/engine/break_room) -"bIs" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/break_room) -"bIt" = ( -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/engineering) -"bIu" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIv" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIx" = ( -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIy" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIA" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIB" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bIC" = ( -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/engineering) -"bID" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/break_room) -"bIE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/break_room) -"bIF" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/break_room) -"bIG" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/break_room) -"bIH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/table, -/obj/item/device/geiger_counter, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bII" = ( -/turf/open/floor/plating, -/area/engine/gravity_generator) -"bIJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bIK" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bIL" = ( -/obj/structure/closet/secure_closet/chemical, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 8 - }, -/area/medical/chemistry) -"bIM" = ( -/obj/structure/table/glass, -/obj/item/hand_labeler_refill, -/obj/item/hand_labeler_refill, -/obj/item/hand_labeler, -/obj/item/stack/packageWrap, -/obj/machinery/light, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 8 - }, -/area/medical/chemistry) -"bIN" = ( -/obj/structure/table/glass, -/obj/item/stack/cable_coil/random, -/obj/item/stack/cable_coil/random, -/obj/item/book/manual/wiki/chemistry, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 8 - }, -/area/medical/chemistry) -"bIO" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/bottle/epinephrine, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/machinery/camera{ - c_tag = "Chemistry"; - dir = 10; - network = list("SS13","CMO") - }, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 8 - }, -/area/medical/chemistry) -"bIP" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteyellow/side, -/area/medical/chemistry) -"bIQ" = ( -/obj/structure/table/glass, -/obj/machinery/reagentgrinder, -/turf/open/floor/plasteel/whiteyellow/corner, -/area/medical/chemistry) -"bIR" = ( -/obj/structure/table/glass, -/obj/item/storage/box/syringes, -/obj/item/clothing/glasses/science{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/clothing/glasses/science, -/turf/open/floor/plasteel/whiteyellow/corner, -/area/medical/chemistry) -"bIS" = ( -/obj/structure/table/glass, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/screwdriver{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/whiteyellow/corner, -/area/medical/chemistry) -"bIT" = ( -/obj/structure/closet/wardrobe/chemistry_white, -/turf/open/floor/plasteel/whiteyellow/corner, -/area/medical/chemistry) -"bIU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/medbay/zone2) -"bIV" = ( -/obj/machinery/door/airlock/glass_medical{ - id_tag = null; - name = "Medbay Storage"; - req_access_txt = "45" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"bIW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/medbay/zone2) -"bIX" = ( -/obj/structure/bedsheetbin{ - pixel_x = 2 - }, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/mask/muzzle, -/obj/structure/table/glass, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/medical/medbay/zone2) -"bIY" = ( -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bIZ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bJa" = ( -/obj/structure/closet/secure_closet/personal/patient, -/obj/machinery/requests_console{ - department = "Genetics"; - departmentType = 0; - name = "Genetics Requests Console"; - pixel_x = -30 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/medical/genetics) -"bJb" = ( -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bJc" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bJd" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bJe" = ( -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/medical/genetics) -"bJf" = ( -/obj/machinery/door/window/westleft{ - name = "Monkey Pen"; - req_access_txt = "9" - }, -/mob/living/carbon/monkey, -/turf/open/floor/grass, -/area/medical/genetics) -"bJj" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bJl" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bJm" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bJn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bJo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bJp" = ( -/obj/structure/table, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bJq" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bJr" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"bJs" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/chapel{ - dir = 8 - }, -/area/library) -"bJt" = ( -/turf/open/floor/plasteel/black, -/area/library) -"bJu" = ( -/turf/open/floor/plasteel/chapel, -/area/library) -"bJv" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/library) -"bJw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/library) -"bJx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/library) -"bJy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Library" - }, -/turf/open/floor/carpet, -/area/library/lounge) -"bJz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bJA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bJB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bJC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"bJD" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/camera{ - c_tag = "Atmospherics Storage"; - dir = 4; - network = list("SS13","CE") - }, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bJE" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bJF" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bJG" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bJH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bJI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bJJ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bJK" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/yellow, -/area/engine/atmos) -"bJL" = ( -/obj/machinery/camera{ - c_tag = "Engineering West"; - dir = 4; - network = list("SS13","CE") - }, -/obj/machinery/vending/tool, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/engineering) -"bJM" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJN" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJO" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/engineering_construction, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJR" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/book/manual/wiki/engineering_guide, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJS" = ( -/obj/structure/table, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, -/obj/item/twohanded/rcl/pre_loaded, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJT" = ( -/obj/structure/table, -/obj/item/clothing/head/welding, -/obj/item/clothing/head/welding, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bJU" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/pickaxe/mini, -/obj/machinery/camera{ - c_tag = "Engineering East"; - dir = 9; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/engineering) -"bJV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Gravity Generator"; - req_access_txt = "10;11" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bJW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"bJX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bJY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/closet/secure_closet/medical3, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/zone2) -"bJZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/zone2) -"bKa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/zone2) -"bKb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/zone2) -"bKc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bKd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bKe" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2) -"bKf" = ( -/obj/structure/closet/wardrobe/genetics_white, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/medical/genetics) -"bKg" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bKh" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/landmark/start/geneticist, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics) -"bKl" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bKm" = ( -/obj/structure/weightlifter, -/obj/machinery/camera{ - c_tag = "Fitness West"; - dir = 4; - network = list("SS13") - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bKn" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/fitness) -"bKo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/fitness) -"bKp" = ( -/obj/effect/landmark/lightsout, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/crew_quarters/fitness) -"bKq" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Fitness Area" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bKr" = ( -/obj/machinery/door/morgue{ - name = "Private Study"; - req_access_txt = "37" - }, -/turf/open/floor/wood, -/area/library) -"bKs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/carpet, -/area/library) -"bKt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/carpet, -/area/library) -"bKu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Library" - }, -/turf/open/floor/carpet, -/area/library/lounge) -"bKv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/library/lounge) -"bKw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/library/lounge) -"bKx" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/library/lounge) -"bKy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/library/lounge) -"bKz" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/visible, -/obj/machinery/meter, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/engine/atmos) -"bKA" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKB" = ( -/obj/effect/landmark/lightsout, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKC" = ( -/mob/living/simple_animal/pet/dog/pug{ - desc = "It's Spaghetti, the official pug of Atmospherics. Appropriately named after the jumbled mess of piping."; - name = "Spaghetti" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKD" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "Atmospherics North"; - dir = 9; - network = list("SS13","CE") - }, -/obj/structure/closet/secure_closet/atmospherics, -/obj/item/pickaxe/mini, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKE" = ( -/obj/machinery/space_heater, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKG" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKH" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bKI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/engine/atmos) -"bKJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bKK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bKL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bKM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bKN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bKO" = ( -/obj/structure/closet/radiation, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bKP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bKR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"bKS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bKT" = ( -/obj/machinery/gravity_generator/main/station, -/turf/open/floor/plating, -/area/engine/gravity_generator) -"bKU" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bKV" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bKW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bKX" = ( -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bKY" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bKZ" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Chemistry APC"; - areastring = "/area/medical/chemistry"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bLa" = ( -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/medical/medbay/zone2) -"bLb" = ( -/turf/closed/wall/r_wall, -/area/medical/medbay/zone2) -"bLc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bLd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bLe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bLf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bLg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bLh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/requests_console{ - announcementConsole = 0; - department = "Medbay"; - departmentType = 1; - name = "Medbay RC"; - pixel_x = 30 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"bLi" = ( -/obj/structure/table/glass, -/obj/item/storage/box/disks{ - pixel_x = 2; - pixel_y = 2 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 10 - }, -/area/medical/genetics) -"bLj" = ( -/obj/structure/table/glass, -/obj/item/storage/box/rxglasses, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/medical/genetics) -"bLk" = ( -/obj/structure/table/glass, -/obj/item/folder/white, -/obj/item/device/radio/headset/headset_medsci, -/obj/item/storage/pill_bottle/mutadone, -/obj/item/storage/pill_bottle/mannitol, -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/obj/machinery/camera{ - c_tag = "Genetics"; - dir = 10; - network = list("SS13","CMO") - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/medical/genetics) -"bLl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whitepurple/side, -/area/medical/genetics) -"bLm" = ( -/obj/machinery/dna_scannernew, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 6 - }, -/area/medical/genetics) -"bLo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bLq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bLr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bLw" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bLx" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Fitness APC"; - areastring = "/area/crew_quarters/fitness"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bLy" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bLz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bLA" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bLB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bLC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bLD" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"bLE" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 4"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bLF" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement, -/obj/machinery/light_switch{ - pixel_y = 28 - }, -/turf/open/floor/wood, -/area/library) -"bLG" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/library) -"bLH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/library) -"bLI" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bLJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/wood, -/area/library/lounge) -"bLK" = ( -/obj/structure/chair/office/dark, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/library/lounge) -"bLL" = ( -/obj/structure/chair/office/dark, -/turf/open/floor/wood, -/area/library/lounge) -"bLM" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/wood, -/area/library/lounge) -"bLN" = ( -/obj/structure/grille, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bLO" = ( -/obj/machinery/door/window/eastright{ - dir = 1; - name = "Interior Pipe Access"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bLP" = ( -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bLQ" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix To Engine"; - on = 0; - target_pressure = 101 - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/engine/atmos) -"bLR" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/requests_console{ - department = "Atmospherics"; - departmentType = 4; - name = "Atmos RC"; - pixel_x = 30 - }, -/obj/structure/closet/secure_closet/atmospherics, -/obj/item/pickaxe/mini, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bLS" = ( -/obj/machinery/space_heater, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/camera{ - c_tag = "Atmospherics Airlock"; - dir = 5; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bLT" = ( -/obj/machinery/light/small, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bLU" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bLV" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bLW" = ( -/obj/machinery/vending/engivend, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/engineering) -"bLX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ceoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) -"bLY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ceoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) -"bLZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ceoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) -"bMa" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ceoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) -"bMc" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"bMd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Engineering South"; - dir = 1; - network = list("SS13","CE") - }, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMe" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/engineering) -"bMf" = ( -/obj/machinery/light, -/obj/structure/rack, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMg" = ( -/obj/structure/rack, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/extinguisher, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMh" = ( -/obj/structure/rack, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine, -/obj/item/device/geiger_counter, -/obj/item/device/geiger_counter, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMi" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMj" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"bMk" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/engineering) -"bMl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Gravity Generator Airlock"; - dir = 1; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMm" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "Gravity Generator"; - req_access_txt = "10;11" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMp" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Gravity Generator"; - dir = 1; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Gravity Generator APC"; - areastring = "/area/engine/gravity_generator"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"bMt" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bMu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bMv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bMw" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bMx" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"bMy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bMz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bMA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bMB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bMC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bMD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bME" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bMF" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bMG" = ( -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/box/syringes, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = 8; - pixel_y = -3 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 10 - }, -/area/medical/medbay/zone2) -"bMH" = ( -/obj/item/storage/belt/medical{ - pixel_y = 2 - }, -/obj/item/storage/belt/medical{ - pixel_y = 2 - }, -/obj/item/storage/belt/medical{ - pixel_y = 2 - }, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/light, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bMI" = ( -/obj/item/hand_labeler, -/obj/item/gun/syringe, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bMJ" = ( -/obj/item/reagent_containers/spray/cleaner, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bMK" = ( -/obj/item/storage/box/bodybags{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/rxglasses, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bML" = ( -/obj/structure/closet/l3closet, -/obj/machinery/camera{ - c_tag = "Medbay Storage"; - dir = 10; - network = list("SS13","CMO") - }, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bMM" = ( -/obj/structure/closet/wardrobe/white/medical, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bMN" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/zone2) -"bMO" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Genetics Research"; - req_access_txt = "9" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bMP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bMQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bMR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bMV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bMW" = ( -/obj/structure/weightlifter, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bMX" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/fitness) -"bMY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/fitness) -"bMZ" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/fitness) -"bNa" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bNb" = ( -/obj/machinery/libraryscanner, -/turf/open/floor/wood, -/area/library) -"bNc" = ( -/obj/structure/chair/office/dark, -/obj/effect/landmark/start/librarian, -/turf/open/floor/wood, -/area/library) -"bNd" = ( -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/library) -"bNe" = ( -/obj/structure/table/wood, -/obj/item/device/camera_film, -/turf/open/floor/wood, -/area/library) -"bNf" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole, -/turf/open/floor/wood, -/area/library/lounge) -"bNg" = ( -/obj/structure/table/wood, -/obj/item/toy/cards/deck, -/turf/open/floor/wood, -/area/library/lounge) -"bNh" = ( -/obj/structure/table/wood, -/obj/item/folder/blue, -/turf/open/floor/wood, -/area/library/lounge) -"bNi" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/fourcolor, -/turf/open/floor/wood, -/area/library/lounge) -"bNj" = ( -/obj/machinery/camera{ - c_tag = "Library East"; - dir = 9 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bNk" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Lounge APC"; - areastring = "/area/library/lounge"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/library/lounge) -"bNl" = ( -/turf/open/floor/engine/n2, -/area/engine/atmos) -"bNm" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - frequency = 1441; - id = "n2_in" - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) -"bNn" = ( -/obj/machinery/meter, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bNo" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bNp" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bNq" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bNr" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bNs" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/yellow, -/area/engine/atmos) -"bNt" = ( -/obj/machinery/computer/card/minor/ce, -/obj/machinery/button/door{ - id = "engiestoragesmes"; - name = "Engineering SMES Blast Door Control"; - pixel_x = -24; - req_access_txt = "10;11" - }, -/obj/machinery/button/door{ - id = "engineeringlockdown"; - name = "Engineering Emergency Lockdown Control"; - pixel_x = -24; - pixel_y = 8; - req_access_txt = "10;11" - }, -/obj/machinery/button/door{ - id = "ceoffice"; - name = "Office Emergency Lockdown"; - pixel_x = -24; - pixel_y = -8; - req_access_txt = "10;11" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bNu" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bNv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bNw" = ( -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = null; - name = "SMES Room"; - req_access_txt = "10;11" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/yellow, -/area/engine/engine_smes) -"bNx" = ( -/turf/closed/wall, -/area/engine/engine_smes) -"bNy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/yellow{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bNz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/yellow{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bNA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/yellow{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bNB" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bNC" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/engine/engine_smes) -"bND" = ( -/turf/closed/wall/r_wall, -/area/engine/engine_smes) -"bNE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bNF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bNG" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bNH" = ( -/obj/structure/table, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bNI" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bNJ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bNK" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medical Storage"; - req_access_txt = "45" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bNL" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Genetics APC"; - areastring = "/area/medical/genetics"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bNM" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bNN" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bNO" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bNP" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bNT" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bNU" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bNV" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bNW" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/machinery/door/window/eastleft, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bNX" = ( -/obj/structure/table/wood, -/obj/machinery/camera{ - c_tag = "Library West"; - dir = 4 - }, -/turf/open/floor/wood, -/area/library) -"bNY" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp/green, -/turf/open/floor/wood, -/area/library) -"bNZ" = ( -/obj/structure/table/wood, -/obj/item/pen/fourcolor, -/turf/open/floor/wood, -/area/library) -"bOa" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/wood, -/area/library) -"bOb" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bOc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bOd" = ( -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, -/turf/open/floor/wood, -/area/library/lounge) -"bOe" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/library/lounge) -"bOf" = ( -/obj/structure/table/wood, -/obj/item/toy/cards/deck/cas, -/obj/item/toy/cards/deck/cas/black, -/turf/open/floor/wood, -/area/library/lounge) -"bOg" = ( -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/library/lounge) -"bOh" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) -"bOi" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/engine/n2, -/area/engine/atmos) -"bOj" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "n2_sensor" - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) -"bOk" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/engine/atmos) -"bOl" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/meter, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bOm" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOn" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOo" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bOp" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/chair/stool/bar, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOq" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/storage/fancy/cigarettes, -/obj/item/lighter/greyscale, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOr" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/stool/bar, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOs" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/sign/atmosplaque{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOt" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bOu" = ( -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"bOv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 9 - }, -/area/engine/engine_smes) -"bOw" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/engine_smes) -"bOx" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/engine_smes) -"bOy" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/engine_smes) -"bOz" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/engine_smes) -"bOA" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/table, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/engine_smes) -"bOB" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/engine/engine_smes) -"bOC" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/sign/electricshock{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bOD" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bOE" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bOF" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/structure/sign/electricshock{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bOG" = ( -/obj/machinery/computer/station_alert, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bOH" = ( -/obj/machinery/modular_computer/console/preset/engineering, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bOI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bOJ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bOK" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bOL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bOM" = ( -/obj/structure/table, -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bON" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bOO" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Medbay Storage APC"; - areastring = "/area/medical/medbay/zone2"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bOP" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bOQ" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bOR" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bOS" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bOU" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bOV" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bOW" = ( -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bOX" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bOY" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bOZ" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bPa" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bPb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bPc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bPd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/glass{ - name = "Library" - }, -/turf/open/floor/carpet, -/area/library) -"bPe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/library) -"bPf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/library) -"bPg" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/carpet, -/area/library) -"bPh" = ( -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/wood, -/area/library/lounge) -"bPi" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/turf/open/floor/wood, -/area/library/lounge) -"bPj" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/library/lounge) -"bPk" = ( -/obj/machinery/light, -/obj/machinery/bookbinder, -/turf/open/floor/wood, -/area/library/lounge) -"bPl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bPm" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"bPn" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"bPo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 4; - frequency = 1441; - id_tag = "n2_out"; - name = "n2 vent" - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) -"bPp" = ( -/obj/machinery/meter, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bPq" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bPr" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "N2 to Airmix"; - on = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/red, -/area/engine/atmos) -"bPs" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bPt" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bPu" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/engine/atmos) -"bPv" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bPw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bPx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bPy" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"bPz" = ( -/obj/machinery/computer/apc_control, -/obj/machinery/light, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bPA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/machinery/keycard_auth{ - pixel_y = -28 - }, -/obj/structure/closet/secure_closet/engineering_chief, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bPB" = ( -/obj/machinery/suit_storage_unit/ce, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bPC" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bPD" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Chief Engineer's Office APC"; - areastring = "/area/crew_quarters/heads/chief"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"bPE" = ( -/obj/structure/table, -/obj/item/book/manual/engineering_particle_accelerator, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/engine_smes) -"bPF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPG" = ( -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPH" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPJ" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPK" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPL" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPM" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPN" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Engineering SMES Storage APC"; - areastring = "/area/engine/engine_smes"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bPO" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bPP" = ( -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bPQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPR" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bPS" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPT" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPV" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPW" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPX" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - Atmospherics"; - sortType = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPY" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - Engineering"; - sortType = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bPZ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bQa" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bQb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bQd" = ( -/obj/machinery/newscaster{ - pixel_x = -28; - pixel_y = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/fitness) -"bQe" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bQf" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bQg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bQh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Library" - }, -/turf/open/floor/carpet, -/area/library) -"bQi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/library) -"bQj" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/carpet, -/area/library) -"bQk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/library) -"bQl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/wood, -/area/library) -"bQm" = ( -/obj/machinery/door/morgue{ - name = "Explicit Section" - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bQn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/library/lounge) -"bQo" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/library/lounge) -"bQp" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bQq" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Atmospheric Tanks 2"; - dir = 5; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bQr" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bQs" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bQt" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "North Canister to Waste" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bQv" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bQw" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bQx" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Canister To Waste"; - on = 0; - target_pressure = 101 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bQy" = ( -/obj/structure/fireaxecabinet{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bQz" = ( -/turf/closed/wall, -/area/engine/atmos) -"bQA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"bQB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"bQC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"bQD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"bQE" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/engineering_construction, -/obj/item/book/manual/wiki/engineering_guide, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/engine_smes) -"bQF" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bQG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bQH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bQI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bQJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bQK" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Engineering Power Storage"; - dir = 1; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"bQL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/corner, -/area/engine/engine_smes) -"bQM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/window{ - dir = 8; - icon_state = "right"; - name = "Engineering Delivery Chute"; - opacity = 1; - req_access_txt = "10" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bQN" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bQO" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bQP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bQQ" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bQR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bQS" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bQT" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bQV" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bQW" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bQX" = ( -/obj/structure/table, -/obj/item/storage/box/cups, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bQY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bQZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bRa" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/window/westright, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bRb" = ( -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bRc" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/fitness) -"bRd" = ( -/obj/structure/table, -/obj/item/storage/firstaid/brute, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bRe" = ( -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bRf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bRg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/library) -"bRh" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/library) -"bRi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/library) -"bRj" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/library) -"bRk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/library) -"bRl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/library) -"bRm" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/wood, -/area/library) -"bRn" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bRo" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bRp" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"bRq" = ( -/turf/open/floor/engine/o2, -/area/engine/atmos) -"bRr" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - frequency = 1441; - id = "o2_in" - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) -"bRs" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bRt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bRu" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"bRv" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"bRw" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bRx" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bRy" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Filter to Waste"; - on = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bRz" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bRA" = ( -/obj/machinery/meter{ - frequency = 1441; - id_tag = "waste_meter"; - name = "Waste Loop" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bRB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/engine/atmos) -"bRC" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/engine_smes) -"bRD" = ( -/obj/machinery/light, -/obj/machinery/camera{ - c_tag = "Engineering Power Storage 2"; - dir = 1; - network = list("SS13","CE") - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRE" = ( -/obj/machinery/button/door{ - id = "engiestoragesmes"; - name = "Engineering SMES Blast Door Control"; - pixel_y = -24; - req_access_txt = "10;11" - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRF" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRG" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/clothing/gloves/color/yellow, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRH" = ( -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRI" = ( -/obj/structure/tank_dispenser, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRJ" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/engine_smes) -"bRK" = ( -/obj/machinery/suit_storage_unit/engine, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/engine_smes) -"bRL" = ( -/obj/machinery/suit_storage_unit/engine, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engine_smes) -"bRM" = ( -/obj/machinery/suit_storage_unit/engine, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/engine_smes) -"bRN" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bRO" = ( -/obj/machinery/camera{ - c_tag = "Medbay Asteroid Hallway 1"; - dir = 8; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bRP" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"bRQ" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bRR" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bRS" = ( -/obj/structure/chair, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bRT" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bRU" = ( -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/cobweb, -/obj/item/coin/silver, -/obj/item/coin/silver, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bRV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bRW" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bRX" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bRY" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bRZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bSa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/fitness) -"bSb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bSc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bSd" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/library) -"bSe" = ( -/turf/open/floor/carpet, -/area/library) -"bSf" = ( -/obj/structure/bookcase/random/nonfiction, -/turf/open/floor/wood, -/area/library) -"bSg" = ( -/obj/structure/bookcase/random/reference, -/turf/open/floor/wood, -/area/library) -"bSh" = ( -/obj/structure/bookcase/random/religion, -/turf/open/floor/wood, -/area/library) -"bSi" = ( -/obj/structure/bookcase/random/adult, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bSj" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bSk" = ( -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bSl" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bSm" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) -"bSn" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/engine/o2, -/area/engine/atmos) -"bSo" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "o2_sensor" - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) -"bSp" = ( -/obj/machinery/pipedispenser/disposal, -/turf/open/floor/plasteel/yellow/corner, -/area/engine/atmos) -"bSq" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Pure To Canisters"; - on = 0 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bSr" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"bSs" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Distro"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/yellow, -/area/engine/atmos) -"bSt" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bSu" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 1; - min_temperature = 80; - on = 1; - target_temperature = 80 - }, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"bSv" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Distro to Waste"; - on = 0 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bSw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bSx" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Central Asteroid Maintenance"; - req_access_txt = "10" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bSy" = ( -/obj/machinery/door/poddoor{ - id = "engiestoragesmes"; - name = "Engineering SMES Storage" - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bSz" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engine_smes) -"bSA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bSB" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bSC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bSD" = ( -/obj/structure/table, -/obj/item/paper_bin, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bSE" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bSF" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bSG" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bSH" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bSI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bSJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bSK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Fitness South"; - dir = 1; - network = list("SS13") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bSL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/fitness) -"bSM" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/fitness) -"bSN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/fitness) -"bSO" = ( -/obj/structure/punching_bag, -/obj/machinery/light, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bSP" = ( -/obj/structure/punching_bag, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"bSQ" = ( -/obj/structure/closet/boxinggloves, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bSR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bSS" = ( -/obj/machinery/light/small, -/turf/open/floor/carpet, -/area/library) -"bST" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bSU" = ( -/obj/machinery/camera{ - c_tag = "Library Explicits"; - dir = 9 - }, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"bSV" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"bSW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 4; - frequency = 1441; - id_tag = "o2_out"; - name = "oxygen vent" - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) -"bSY" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bSZ" = ( -/obj/machinery/atmospherics/components/trinary/mixer{ - dir = 2; - name = "air mixer"; - node1_concentration = 0.8; - node2_concentration = 0.2; - on = 1; - target_pressure = 4500 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTa" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix To Canisters"; - on = 0 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTb" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"bTc" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"bTd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bTe" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4; - on = 1 - }, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"bTf" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/visible, -/obj/machinery/meter{ - frequency = 1441; - id_tag = "distro_meter"; - name = "Distribution Loop" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bTh" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bTi" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTk" = ( -/obj/machinery/button/door{ - id = "engiestoragesmes"; - name = "Engineering SMES Blast Door Control"; - pixel_y = 24; - req_access_txt = "10;11" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTl" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/cell/high/plus, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTm" = ( -/obj/machinery/field/generator, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTn" = ( -/obj/machinery/power/emitter, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTo" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bTp" = ( -/obj/item/stack/sheet/mineral/wood, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bTq" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bTr" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/emcloset, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bTs" = ( -/turf/closed/wall, -/area/crew_quarters/toilet/fitness) -"bTt" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/toilet/fitness) -"bTu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/toilet/fitness) -"bTv" = ( -/obj/effect/spawner/structure/window, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"bTw" = ( -/obj/machinery/door/airlock/glass{ - name = "Holodeck Arena" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bTx" = ( -/obj/machinery/door/airlock{ - name = "Private Study" - }, -/turf/open/floor/plasteel/grimy, -/area/library) -"bTy" = ( -/obj/machinery/light/small, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bTz" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bTA" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bTB" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTC" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"bTD" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"bTE" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Pure to Mix"; - on = 0 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bTF" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTG" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTH" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix to Distro"; - on = 0 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/visible{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Atmospherics Distro"; - dir = 9; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bTJ" = ( -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTK" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTL" = ( -/obj/machinery/power/emitter, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bTM" = ( -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"bTN" = ( -/obj/structure/closet/crate, -/obj/item/pickaxe/emergency, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"bTO" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"bTP" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bTQ" = ( -/obj/structure/barricade/wooden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bTR" = ( -/obj/structure/girder, -/obj/structure/grille, -/obj/structure/barricade/wooden, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"bTS" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/obj/item/clothing/head/cone, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bTT" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bTU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bTV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bTW" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bTX" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bTY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bTZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Holodeck North" - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUf" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Broom Closet"; - req_access_txt = "0" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bUg" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bUh" = ( -/obj/machinery/newscaster{ - pixel_x = -28; - pixel_y = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/library) -"bUi" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/grimy, -/area/library) -"bUj" = ( -/turf/open/floor/engine/air, -/area/engine/atmos) -"bUk" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - frequency = 1441; - id = "air_in" - }, -/turf/open/floor/engine/air, -/area/engine/atmos) -"bUl" = ( -/obj/machinery/meter{ - name = "Mixed Air Tank In" - }, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bUo" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bUp" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 1 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"bUq" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"bUr" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/engine/atmos) -"bUs" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bUt" = ( -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bUu" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Air to Distro"; - on = 1; - target_pressure = 101 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bUv" = ( -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bUw" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/plasma{ - amount = 5 - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bUx" = ( -/obj/machinery/shieldgen, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bUz" = ( -/obj/machinery/the_singularitygen{ - anchored = 0 - }, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bUA" = ( -/obj/machinery/power/emitter, -/turf/open/floor/plating, -/area/engine/engine_smes) -"bUB" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bUC" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"bUD" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bUE" = ( -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bUF" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bUK" = ( -/obj/structure/janitorialcart, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bUL" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/grimy, -/area/library) -"bUM" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/plasteel/grimy, -/area/library) -"bUN" = ( -/turf/closed/wall, -/area/chapel/main) -"bUO" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/chapel/main) -"bUP" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/chapel/main) -"bUQ" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine/air, -/area/engine/atmos) -"bUR" = ( -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/engine/air, -/area/engine/atmos) -"bUS" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "air_sensor" - }, -/turf/open/floor/engine/air, -/area/engine/atmos) -"bUT" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/atmos) -"bUV" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"bUW" = ( -/obj/machinery/atmospherics/pipe/manifold/green/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bUX" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Air to Mix" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bUY" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bUZ" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bVa" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bVb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/dock_med) -"bVc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/dock_med) -"bVd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bVe" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"bVg" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Fitness Bathroom APC"; - areastring = "/area/crew_quarters/toilet/fitness"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bVh" = ( -/obj/machinery/camera{ - c_tag = "Fitness Bathrooms"; - dir = 4; - network = list("SS13","CE") - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/urinal{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bVi" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bVj" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"bVk" = ( -/obj/structure/table, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bVl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table, -/obj/item/storage/firstaid/brute, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bVm" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVn" = ( -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVo" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVp" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVq" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/chapel/main) -"bVr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on{ - dir = 4; - frequency = 1441; - id_tag = "air_out"; - name = "air out" - }, -/turf/open/floor/engine/air, -/area/engine/atmos) -"bVs" = ( -/obj/machinery/meter{ - name = "Mixed Air Tank Out" - }, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bVt" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVu" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 5 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/plasteel/barber, -/area/engine/atmos) -"bVv" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Air to Pure"; - on = 0 - }, -/turf/open/floor/plasteel/barber, -/area/engine/atmos) -"bVw" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/window/eastright{ - dir = 1; - name = "Interior Pipe Access"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVx" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 4; - filter_type = "co2"; - name = "co2 filter"; - on = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/vault, -/area/engine/atmos) -"bVy" = ( -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "co2_in"; - name = "Carbon Dioxide Supply Control"; - output_tag = "co2_out"; - sensors = list("co2_sensor" = "Tank") - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"bVz" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "CO2 to Pure"; - on = 0 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/vault, -/area/engine/atmos) -"bVA" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 4; - filter_type = "plasma"; - name = "plasma filter"; - on = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/purple, -/area/engine/atmos) -"bVB" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - name = "Unfiltered to Mix"; - on = 1 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"bVC" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"bVD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/dock_med) -"bVE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/dock_med) -"bVF" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/urinal{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bVG" = ( -/obj/machinery/door/airlock{ - id_tag = "fb1" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bVH" = ( -/obj/machinery/light/small, -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "fb1"; - name = "Privacy Bolts"; - normaldoorcontrol = 1; - pixel_x = 24 - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bVI" = ( -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/holodeck/rec_center) -"bVJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/storage/firstaid/o2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bVK" = ( -/obj/machinery/camera{ - c_tag = "Chapel West"; - dir = 5 - }, -/turf/open/floor/plasteel/chapel{ - dir = 1 - }, -/area/chapel/main) -"bVL" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/chapel{ - dir = 4 - }, -/area/chapel/main) -"bVM" = ( -/turf/open/floor/plasteel/chapel{ - dir = 1 - }, -/area/chapel/main) -"bVN" = ( -/turf/open/floor/plasteel/chapel{ - dir = 4 - }, -/area/chapel/main) -"bVO" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVP" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bVR" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/chapel{ - dir = 1 - }, -/area/chapel/main) -"bVS" = ( -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bVT" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bVU" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 5 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVV" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVW" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVX" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVY" = ( -/obj/machinery/camera{ - c_tag = "Atmospheric Tanks 1"; - dir = 1; - network = list("SS13","CE") - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bVZ" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"bWa" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"bWb" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/atmos) -"bWc" = ( -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "mix_in"; - name = "Gas Mix Tank Control"; - output_tag = "mix_in"; - sensors = list("mix_sensor" = "Tank") - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"bWd" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"bWe" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"bWf" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 8 - }, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"bWh" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/east) -"bWi" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/east) -"bWj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 5"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"bWk" = ( -/obj/effect/spawner/structure/window, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/chapel/main) -"bWl" = ( -/turf/open/floor/plasteel/chapel{ - dir = 8 - }, -/area/chapel/main) -"bWm" = ( -/turf/open/floor/plasteel/chapel, -/area/chapel/main) -"bWn" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bWo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bWp" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bWq" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"bWr" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bWs" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bWt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bWu" = ( -/obj/machinery/meter, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bWv" = ( -/obj/machinery/meter, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"bWw" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bWx" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bWy" = ( -/obj/structure/table, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/central) -"bWz" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/external/east) -"bWA" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/external/east) -"bWB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bWC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bWD" = ( -/obj/machinery/door/airlock{ - id_tag = "fb2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bWE" = ( -/obj/machinery/light/small, -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "fb2"; - name = "Privacy Bolts"; - normaldoorcontrol = 1; - pixel_x = 24 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bWF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bWG" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bWH" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Chapel" - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bWI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bWJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bWK" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bWL" = ( -/obj/machinery/camera{ - c_tag = "Chapel East"; - dir = 9 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bWM" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Chapel APC"; - areastring = "/area/chapel/main"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/chapel/main) -"bWN" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1; - frequency = 1441; - id = "co2_in"; - pixel_y = 1 - }, -/turf/open/floor/engine/co2, -/area/engine/atmos) -"bWO" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "co2_sensor" - }, -/turf/open/floor/engine/co2, -/area/engine/atmos) -"bWP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 1; - frequency = 1441; - id_tag = "co2_out"; - name = "co2 vent" - }, -/turf/open/floor/engine/co2, -/area/engine/atmos) -"bWQ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1; - frequency = 1441; - id = "tox_in"; - pixel_y = 1 - }, -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"bWR" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "tox_sensor" - }, -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"bWS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 1; - frequency = 1441; - id_tag = "tox_out"; - name = "plasma vent" - }, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"bWT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1; - frequency = 1441; - id = "n2o_in"; - pixel_y = 1 - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bWU" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "n2o_sensor" - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bWV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 1; - frequency = 1441; - id_tag = "n2o_out"; - name = "n2o vent" - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bWW" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1; - frequency = 1441; - id = "mix_in"; - pixel_y = 1 - }, -/turf/open/floor/engine/vacuum, -/area/engine/atmos) -"bWX" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "mix_sensor" - }, -/turf/open/floor/engine/vacuum, -/area/engine/atmos) -"bWY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 1; - frequency = 1441; - id_tag = "mix_in"; - name = "distro vent" - }, -/turf/open/floor/engine/vacuum, -/area/engine/atmos) -"bWZ" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bXa" = ( -/obj/structure/girder, -/obj/structure/grille, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bXb" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/central) -"bXc" = ( -/obj/structure/chair/stool, -/obj/structure/sign/poster/contraband/hacking_guide{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bXd" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"bXe" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXf" = ( -/obj/machinery/light/small, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXg" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXh" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/east) -"bXi" = ( -/obj/effect/turf_decal/stripes/end, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Eastern External Waste Belt APC"; - areastring = "/area/maintenance/asteroid/disposal/external/east"; - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXj" = ( -/obj/machinery/conveyor/auto{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXk" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXl" = ( -/obj/machinery/door/airlock{ - name = "Shower Room" - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bXm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/crew_quarters/toilet/fitness) -"bXn" = ( -/obj/machinery/door/airlock/glass{ - name = "Holodeck Arena" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"bXo" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bXp" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bXq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bXr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Chapel" - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bXs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bXt" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bXu" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"bXv" = ( -/turf/open/floor/engine/co2, -/area/engine/atmos) -"bXw" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/turf/open/floor/engine/co2, -/area/engine/atmos) -"bXx" = ( -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"bXy" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"bXz" = ( -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bXA" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide{ - valve_open = 1 - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bXB" = ( -/turf/open/floor/engine/vacuum, -/area/engine/atmos) -"bXC" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"bXD" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/rack, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bXE" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bXF" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/central) -"bXG" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/east) -"bXH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/east) -"bXI" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/conveyor/auto{ - dir = 10; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bXJ" = ( -/obj/structure/rack, -/obj/item/pickaxe/emergency, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bXK" = ( -/obj/machinery/shower{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bXL" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bXM" = ( -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bXN" = ( -/obj/machinery/computer/holodeck, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bXO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bXP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bXQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Holodeck Arena" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bXR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bXS" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bXT" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/chapel/main) -"bXU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/chapel{ - dir = 1 - }, -/area/chapel/main) -"bXV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/chapel{ - dir = 4 - }, -/area/chapel/main) -"bXW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bXX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/chapel{ - dir = 1 - }, -/area/chapel/main) -"bXY" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bXZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bYa" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bYb" = ( -/turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den) -"bYc" = ( -/obj/machinery/light/small, -/turf/open/floor/engine/co2, -/area/engine/atmos) -"bYd" = ( -/obj/machinery/light/small, -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"bYe" = ( -/obj/machinery/light/small, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bYf" = ( -/obj/machinery/light/small, -/turf/open/floor/engine/vacuum, -/area/engine/atmos) -"bYg" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/central) -"bYh" = ( -/obj/structure/grille/broken, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/central) -"bYi" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/central) -"bYj" = ( -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bYk" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bYl" = ( -/obj/machinery/conveyor/auto{ - dir = 10; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/east) -"bYm" = ( -/obj/structure/rack, -/obj/item/pickaxe/emergency, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"bYn" = ( -/obj/item/bikehorn/rubberducky, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bYo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bYp" = ( -/obj/structure/table, -/obj/item/paper/fluff/holodeck/disclaimer, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bYq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bYr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bYs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Holodeck Arena" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bYt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bYu" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bYv" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bYw" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/chapel{ - dir = 8 - }, -/area/chapel/main) -"bYx" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/chapel, -/area/chapel/main) -"bYy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bYz" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/chapel{ - dir = 8 - }, -/area/chapel/main) -"bYA" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"bYB" = ( -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"bYC" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"bYD" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/east) -"bYE" = ( -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"bYF" = ( -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bYG" = ( -/obj/item/soap/nanotrasen, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bYH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bYI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bYJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bYK" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bYL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/chapel/main) -"bYM" = ( -/obj/machinery/door/morgue{ - name = "Confession Room" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bYN" = ( -/obj/machinery/door/morgue{ - name = "Confession Room"; - req_access_txt = "22" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bYO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/chapel/office) -"bYP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/chapel/office) -"bYQ" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - Chapel"; - sortType = 17 - }, -/turf/closed/wall, -/area/chapel/office) -"bYR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - name = "Chaplain's Office"; - req_access_txt = "22" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"bYS" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/chapel/office) -"bYT" = ( -/obj/structure/mineral_door/wood, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"bYU" = ( -/obj/structure/sign/barsign, -/turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den) -"bYV" = ( -/obj/machinery/disposal/deliveryChute, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/east) -"bYW" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bYX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"bYY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bYZ" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/chapel/main) -"bZa" = ( -/turf/closed/mineral, -/area/chapel/main) -"bZb" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bZc" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/chapel/main) -"bZd" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bZe" = ( -/obj/machinery/door/morgue{ - name = "Confession Room"; - req_access_txt = "22" - }, -/turf/open/floor/plating, -/area/chapel/office) -"bZf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "applebush" - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZg" = ( -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZi" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZj" = ( -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZk" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/chapel/office) -"bZl" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/closet/coffin, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bZm" = ( -/obj/machinery/door/window/northleft{ - name = "Casket Storage"; - req_access_txt = "22" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bZn" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/chapel/main) -"bZo" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"bZp" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"bZq" = ( -/obj/item/chair/stool, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"bZr" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"bZs" = ( -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"bZt" = ( -/obj/machinery/vending/boozeomat{ - req_access_txt = "0" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"bZu" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"bZv" = ( -/obj/structure/sign/mining{ - pixel_y = -32 - }, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"bZy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/port/east) -"bZz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/wardrobe/black, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bZA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bZB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"bZC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bZD" = ( -/turf/closed/wall, -/area/chapel/office) -"bZE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Chapel Office"; - dir = 5 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZF" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/chair/wood/wings, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZJ" = ( -/obj/structure/closet/coffin, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"bZK" = ( -/obj/structure/chair/stool, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"bZL" = ( -/obj/structure/table/wood/poker, -/obj/item/gun/ballistic/revolver/russian, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"bZM" = ( -/obj/structure/light_construct{ - dir = 4 - }, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"bZN" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"bZS" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"bZT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"bZU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"bZV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bZW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bZX" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/hallway/primary/port) -"bZY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"bZZ" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/holywater, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"caa" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"cab" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"cac" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/storage/crayons, -/obj/item/storage/fancy/candle_box{ - pixel_x = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"cad" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"cae" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"cak" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cal" = ( -/turf/closed/mineral, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cam" = ( -/turf/closed/wall, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"can" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"cao" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/port) -"cap" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"caq" = ( -/obj/structure/table/wood, -/obj/item/nullrod, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"cas" = ( -/obj/structure/chair/wood/wings{ - icon_state = "wooden_chair_wings"; - dir = 1 - }, -/obj/effect/landmark/start/chaplain, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"cat" = ( -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"cau" = ( -/obj/structure/closet/coffin, -/obj/machinery/camera{ - c_tag = "Chapel Coffins"; - dir = 9 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"cav" = ( -/obj/item/chair/stool, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"caw" = ( -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"caF" = ( -/obj/structure/glowshroom/single, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating/asteroid, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"caG" = ( -/turf/open/floor/plating/asteroid, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"caH" = ( -/turf/open/floor/plating/astplate, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"caI" = ( -/obj/structure/falsewall{ - desc = "A huge chunk of metal used to separate rooms. Nothing odd here, sir."; - name = "inconspicuous wall" - }, -/turf/open/floor/plating/astplate, -/area/crew_quarters/fitness) -"caJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"caK" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"caL" = ( -/obj/structure/closet/wardrobe/chaplain_black, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"caM" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"caN" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"caO" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/girder, -/obj/structure/grille, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"caP" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"caQ" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"caS" = ( -/obj/item/chair, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"caV" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil/white, -/obj/item/stack/cable_coil/white, -/obj/item/crowbar/red, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"caW" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"caX" = ( -/obj/structure/glowshroom/single, -/turf/open/floor/plating/asteroid, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"caY" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_x = -28; - pixel_y = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"caZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Holodeck South"; - dir = 1; - network = list("SS13") - }, -/obj/structure/closet/lasertag/blue, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cba" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/light, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/closet/lasertag/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cbb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/closet/lasertag/red, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cbc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/closet/lasertag/red, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cbd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cbe" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cbf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 6"; - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"cbg" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"cbh" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"cbi" = ( -/obj/machinery/door/window/northleft{ - name = "Chapel Mail"; - req_access_txt = "22" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/chapel/office) -"cbj" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/chapel/office) -"cbk" = ( -/obj/machinery/door/airlock{ - name = "Crematorium"; - req_access_txt = "22" - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbl" = ( -/obj/structure/cable/orange, -/obj/machinery/power/apc{ - dir = 2; - name = "Gambler Den APC"; - areastring = "/area/crew_quarters/abandoned_gambling_den"; - pixel_y = -24 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"cbm" = ( -/obj/machinery/computer/slot_machine, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"cbn" = ( -/obj/machinery/computer/slot_machine, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"cbs" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cbt" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"cbu" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"cbv" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/port) -"cbw" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/turf/open/floor/plating, -/area/chapel/office) -"cbx" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/chapel/office) -"cby" = ( -/obj/structure/bodycontainer/crematorium{ - id = "creamed" - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbz" = ( -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbA" = ( -/obj/machinery/camera{ - c_tag = "Crematorium"; - dir = 9 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbB" = ( -/obj/structure/plasticflaps, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "Chapel" - }, -/turf/open/floor/plating, -/area/chapel/office) -"cbC" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"cbE" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cbF" = ( -/obj/item/stack/sheet/mineral/wood, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cbG" = ( -/obj/structure/bed, -/obj/item/bedsheet/clown, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbH" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp/bananalamp, -/obj/item/device/instrument/violin, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/sign/poster/contraband/clown{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbI" = ( -/obj/structure/mineral_door/wood{ - name = "Secret Clown HQ" - }, -/turf/open/floor/plating/astplate, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"cbK" = ( -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"cbL" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/port) -"cbM" = ( -/obj/machinery/button/crematorium{ - id = "creamed"; - pixel_x = -24 - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbN" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbO" = ( -/obj/structure/table/wood, -/obj/item/storage/book/bible, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"cbP" = ( -/obj/structure/closet/crate{ - name = "top secret clown supplies" - }, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/storage/box/mousetraps, -/obj/item/storage/crayons, -/obj/item/clothing/mask/joy, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbQ" = ( -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbR" = ( -/mob/living/carbon/monkey{ - name = "Mr.Teeny" - }, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbS" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plating/astplate, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cbT" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"cbU" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Docking Asteroid" - }) -"cbV" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Docking Asteroid" - }) -"cbW" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Docking Asteroid" - }) -"cbY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"cbZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_sci) -"cca" = ( -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"ccb" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"ccc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_sci) -"ccd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"cce" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"ccf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/dock_med) -"ccg" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/dock_med) -"cch" = ( -/obj/structure/table, -/obj/item/toy/figure/clown, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cci" = ( -/obj/item/grown/bananapeel{ - name = "state-of-the-art clown home defense peel" - }, -/obj/structure/table, -/obj/item/grown/bananapeel{ - name = "state-of-the-art clown home defense peel" - }, -/obj/item/coin/clown, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"ccj" = ( -/obj/structure/closet/crate/bin, -/obj/item/clothing/mask/gas/mime, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cck" = ( -/obj/machinery/vending/autodrobe{ - desc = "A vending machine for costumes. The machine seems blessed by some higher power, allowing it to function without power. HONK!"; - use_power = 0 - }, -/turf/open/floor/plating, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"ccl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_sci) -"ccm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_sci) -"ccn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2; - name = "Arrivals Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cco" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"ccp" = ( -/obj/item/stack/sheet/mineral/wood, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccq" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccr" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccs" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Docking Asteroid" - }) -"cct" = ( -/turf/closed/mineral/random/low_chance, -/area/maintenance/asteroid/port/west) -"ccu" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"ccv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccw" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccx" = ( -/obj/item/ore/iron, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccy" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/obj/item/ore/iron, -/obj/item/ore/iron, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccz" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"ccA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccC" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - name = "Mix Input"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccD" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccE" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/aft/arrivals) -"ccF" = ( -/turf/closed/mineral/random/low_chance, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"ccG" = ( -/obj/item/ore/iron, -/obj/item/ore/iron, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccH" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Docking Atmospherics Checkpoint"; - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccJ" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"ccK" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccL" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ccM" = ( -/obj/item/ore/iron, -/obj/item/ore/iron, -/obj/item/ore/iron, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ccN" = ( -/obj/item/storage/bag/ore, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccO" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"ccS" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"ccT" = ( -/obj/item/storage/bag/ore, -/obj/item/pickaxe/mini, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ccU" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"ccV" = ( -/obj/item/device/flashlight/lantern, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"ccW" = ( -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"ccX" = ( -/turf/closed/mineral/random/low_chance, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"ccY" = ( -/obj/item/device/flashlight/lantern, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"ccZ" = ( -/obj/item/pickaxe/mini, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cda" = ( -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"cdb" = ( -/turf/open/floor/plating/asteroid/airless, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"cdc" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"cdd" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Service-Research Bridge"; - dir = 9 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"cde" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdh" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cdi" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/aft/arrivals) -"cdj" = ( -/obj/machinery/power/solar{ - id = "portsolar"; - name = "Port Solar Array" - }, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/aft) -"cdk" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdl" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - name = "Mix Output"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cdn" = ( -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/aft) -"cdo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Docking Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdq" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cdr" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) -"cds" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/escape) -"cdt" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cdu" = ( -/turf/closed/wall/r_wall, -/area/maintenance/solars/asteroid/aft) -"cdv" = ( -/turf/closed/wall/r_wall/rust, -/area/maintenance/solars/asteroid/aft) -"cdw" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 16"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cdx" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"cdy" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cdz" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdA" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cdB" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"cdC" = ( -/obj/structure/lattice, -/obj/item/wirecutters, -/turf/open/space, -/area/solar/asteroid/aft) -"cdD" = ( -/obj/structure/closet/crate{ - name = "solar pack crate" - }, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/electronics/tracker, -/obj/item/paper/guides/jobs/engi/solars, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cdE" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/aft) -"cdF" = ( -/obj/machinery/power/smes, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'HIGH VOLTAGE'"; - icon_state = "shock"; - name = "HIGH VOLTAGE"; - pixel_x = 32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/aft) -"cdG" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cdH" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 1; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cdI" = ( -/turf/closed/wall, -/area/construction/mining/aux_base) -"cdJ" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"cdK" = ( -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"cdL" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"cdM" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Solar Maintenance"; - req_access = null; - req_access_txt = "10; 13" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cdN" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cdO" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "Solar Maintenance"; - req_access = null; - req_access_txt = "10; 13" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cdP" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/aft) -"cdR" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cdS" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cdT" = ( -/turf/closed/wall, -/area/hallway/secondary/exit) -"cdU" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/secondary/exit) -"cdV" = ( -/obj/structure/chair, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"cdW" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 9; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) -"cdX" = ( -/obj/structure/chair, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 1; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cdY" = ( -/obj/structure/chair, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 1; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cdZ" = ( -/obj/structure/closet/secure_closet/miner/unlocked, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"cea" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ceb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"cec" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"ced" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/crew{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/card{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/circuitboard/computer/communications{ - pixel_x = 5; - pixel_y = -5 - }, -/obj/machinery/camera{ - c_tag = "Secure Tech Storage"; - dir = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/storage/tech) -"cee" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"cef" = ( -/obj/structure/lattice, -/obj/structure/sign/mining{ - pixel_y = -32 - }, -/turf/open/space, -/area/space) -"ceg" = ( -/obj/item/wrench, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"ceh" = ( -/obj/structure/lattice, -/obj/item/storage/toolbox/electrical, -/turf/open/space, -/area/space) -"cei" = ( -/obj/machinery/power/solar_control{ - id = "portsolar"; - name = "Aft Asteroid Solar Control"; - track = 0 - }, -/obj/structure/cable, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/aft) -"cej" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cek" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Aft Asteroid Solar APC"; - areastring = "/area/maintenance/solars/asteroid/aft"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"cel" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cem" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/obj/item/coin/silver, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cen" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/hallway/secondary/exit) -"ceo" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/hallway/secondary/exit) -"cep" = ( -/obj/structure/chair, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/hallway/secondary/exit) -"ceq" = ( -/obj/structure/chair, -/obj/machinery/camera{ - c_tag = "Docking Security Holding Area"; - dir = 6 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/hallway/secondary/exit) -"cer" = ( -/obj/structure/chair, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/hallway/secondary/exit) -"ces" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/hallway/secondary/exit) -"cet" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"ceu" = ( -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 1; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cev" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"cew" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_sci) -"cex" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_sci) -"cey" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"cez" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ceA" = ( -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ceB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ceC" = ( -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"ceD" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/robotics{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/mecha_control{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel, -/area/storage/tech) -"ceE" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/storage/tech) -"ceF" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/borgupload{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/aiupload{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel, -/area/storage/tech) -"ceG" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/storage/tech) -"ceH" = ( -/turf/closed/wall, -/area/quartermaster/miningdock/abandoned) -"ceI" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/quartermaster/miningdock/abandoned) -"ceJ" = ( -/obj/item/solar_assembly, -/obj/item/stack/sheet/glass, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/aft) -"ceK" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Solars"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"ceL" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"ceM" = ( -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/hallway/secondary/exit) -"ceN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"ceO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"ceP" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"ceQ" = ( -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"ceR" = ( -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/hallway/secondary/exit) -"ceS" = ( -/obj/structure/chair, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"ceT" = ( -/turf/open/floor/mineral/plastitanium/brig{ - dir = 8; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) -"ceU" = ( -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkredfull" - }, -/area/shuttle/escape) -"ceV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"ceW" = ( -/turf/closed/wall, -/area/hallway/primary/aft) -"ceX" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"ceY" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"ceZ" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cfa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"cfb" = ( -/turf/closed/wall, -/area/storage/tech) -"cfc" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "Secure Tech Storage"; - req_access_txt = "19;23" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/storage/tech) -"cfd" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cfe" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cff" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/pickaxe/mini, -/obj/item/gun/energy/kinetic_accelerator, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cfg" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/quartermaster/miningdock/abandoned) -"cfh" = ( -/obj/item/solar_assembly, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/asteroid/aft) -"cfi" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cfj" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cfk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"cfl" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cfm" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cfn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cfo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cfp" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"cfq" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/flasher{ - id = "shuttle_flasher"; - pixel_x = -24; - pixel_y = 6 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"cfr" = ( -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"cfs" = ( -/obj/machinery/door/airlock/glass{ - name = "Emergency Shuttle Brig"; - req_access_txt = "2" - }, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkredfull" - }, -/area/shuttle/escape) -"cft" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cfu" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cfv" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cfw" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cfx" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/storage/tech) -"cfy" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/storage/tech) -"cfz" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Tech Storage APC"; - areastring = "/area/ai_monitored/turret_protected/ai_upload"; - pixel_y = 24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/storage/tech) -"cfA" = ( -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai_upload) -"cfB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/clothing/head/cone, -/obj/item/clothing/head/cone, -/obj/item/clothing/head/cone, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cfC" = ( -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cfD" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Mining Storage APC"; - areastring = "/area/quartermaster/miningdock/abandoned"; - pixel_y = 24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cfE" = ( -/obj/machinery/power/port_gen/pacman, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cfF" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cfG" = ( -/obj/item/stack/sheet/glass, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"cfH" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cfI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cfJ" = ( -/turf/closed/wall, -/area/maintenance/asteroid/aft/arrivals) -"cfK" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/aft/arrivals) -"cfL" = ( -/obj/structure/rack, -/obj/item/pickaxe/mini, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cfM" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cfN" = ( -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/hallway/secondary/exit) -"cfO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side, -/area/hallway/secondary/exit) -"cfP" = ( -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/hallway/secondary/exit) -"cfQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cfR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner, -/area/hallway/secondary/exit) -"cfS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/red/side, -/area/hallway/secondary/exit) -"cfT" = ( -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/hallway/secondary/exit) -"cfU" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "Security Escape Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"cfV" = ( -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"cfW" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/plating, -/area/shuttle/escape) -"cfX" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 10; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cfY" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 2; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cfZ" = ( -/obj/structure/table, -/obj/item/storage/box/teargas, -/obj/item/storage/box/zipties, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 2; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"cga" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cgb" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cgc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1; - name = "Research Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cgd" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"cge" = ( -/obj/docking_port/mobile/auxillary_base{ - dheight = 4; - dir = 4; - dwidth = 4; - height = 9; - width = 9 - }, -/obj/machinery/computer/auxillary_base, -/obj/docking_port/stationary/public_mining_dock, -/turf/closed/wall, -/area/shuttle/auxillary_base) -"cgf" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"cgg" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/storage/tech) -"cgh" = ( -/obj/structure/table, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cgi" = ( -/obj/structure/table, -/obj/item/clothing/glasses/meson, -/obj/item/paper/fluff/stations/cere/abandoned_dock, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cgj" = ( -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cgk" = ( -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"cgl" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cgm" = ( -/obj/structure/sign/mining{ - pixel_y = 32 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cgn" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cgo" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Arrival Hallway Maintenance APC"; - areastring = "/area/maintenance/asteroid/aft/arrivals"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgp" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgq" = ( -/obj/machinery/computer/station_alert, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgr" = ( -/obj/machinery/camera{ - c_tag = "Arrivals SMES"; - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgs" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgt" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cgu" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cgv" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cgw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"cgx" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Holding Area"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cgy" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/escape) -"cgz" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cgA" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cgB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cgC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cgD" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cgE" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/crystal, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plating, -/area/storage/tech) -"cgF" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/amplifier, -/obj/item/stock_parts/subspace/amplifier, -/obj/item/stock_parts/subspace/amplifier, -/turf/open/floor/plating, -/area/storage/tech) -"cgG" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/structure/sign/securearea{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/storage/tech) -"cgH" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/storage/tech) -"cgI" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/device/multitool, -/obj/structure/sign/securearea{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/storage/tech) -"cgJ" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/cell/high/plus, -/obj/machinery/camera{ - c_tag = "Tech Storage North" - }, -/turf/open/floor/plating, -/area/storage/tech) -"cgK" = ( -/obj/structure/table, -/obj/item/screwdriver{ - pixel_y = 16 - }, -/obj/item/wirecutters, -/turf/open/floor/plating, -/area/storage/tech) -"cgL" = ( -/obj/structure/table, -/obj/item/aiModule/reset, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"cgM" = ( -/obj/machinery/ai_status_display{ - pixel_y = 32 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"cgN" = ( -/obj/machinery/computer/upload/borg, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"cgO" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"cgP" = ( -/obj/machinery/computer/upload/ai, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"cgQ" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"cgR" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/obj/item/ore/silver, -/obj/item/ore/silver, -/obj/item/ore/iron, -/obj/item/ore/iron, -/obj/item/ore/iron, -/obj/item/ore/gold, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cgS" = ( -/obj/machinery/light/small, -/obj/structure/table, -/turf/open/floor/plating, -/area/quartermaster/miningdock/abandoned) -"cgT" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cgU" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/closed/wall/rust, -/area/maintenance/asteroid/aft/arrivals) -"cgV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"cgW" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"cgY" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cgZ" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cha" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"chb" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"chc" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Auxillary Construction APC"; - areastring = "/area/security/vacantoffice"; - pixel_y = -24 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"chd" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"che" = ( -/obj/structure/closet, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"chf" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/turf/open/floor/plasteel/escape{ - dir = 9 - }, -/area/hallway/secondary/exit) -"chg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/escape{ - dir = 1 - }, -/area/hallway/secondary/exit) -"chh" = ( -/turf/open/floor/plasteel/escape/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) -"chi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"chj" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"chk" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"chl" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" - }, -/obj/docking_port/mobile/emergency{ - dheight = 0; - dwidth = 15; - height = 20; - name = "Cere emergency shuttle"; - port_angle = 90; - preferred_direction = 1; - width = 42 - }, -/obj/docking_port/stationary{ - dir = 4; - dwidth = 15; - height = 20; - id = "emergency_home"; - name = "CereStation emergency evac bay"; - turf_type = /turf/open/space; - width = 42 - }, -/turf/open/floor/plating, -/area/shuttle/escape) -"chm" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"chn" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cho" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chp" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Research Asteroid Hallway 1"; - dir = 5 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"chs" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cht" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 1; - req_access_txt = "24" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chu" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plating, -/area/storage/tech) -"chv" = ( -/turf/open/floor/plating, -/area/storage/tech) -"chw" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/storage/tech) -"chx" = ( -/obj/structure/table, -/obj/item/electronics/apc, -/obj/item/electronics/airlock, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/storage/tech) -"chy" = ( -/obj/structure/table, -/obj/item/aiModule/supplied/quarantine, -/obj/machinery/camera/motion{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"chz" = ( -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"chA" = ( -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"chB" = ( -/obj/structure/table, -/obj/item/aiModule/supplied/freeform, -/obj/structure/sign/kiddieplaque{ - pixel_x = 32 - }, -/obj/machinery/camera/motion{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"chC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall, -/area/maintenance/asteroid/aft/arrivals) -"chD" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"chE" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"chF" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"chG" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"chH" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"chI" = ( -/turf/closed/wall, -/area/security/vacantoffice) -"chJ" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/escape{ - dir = 8 - }, -/area/hallway/secondary/exit) -"chK" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"chL" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/shuttle/escape) -"chM" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chN" = ( -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"chP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - name = "Mix Input"; - on = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chR" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"chS" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/transmitter, -/obj/item/stock_parts/subspace/transmitter, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/turf/open/floor/plating, -/area/storage/tech) -"chT" = ( -/obj/structure/table, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/machinery/requests_console{ - department = "Tech storage"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/storage/tech) -"chU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plating, -/area/storage/tech) -"chV" = ( -/obj/structure/table, -/obj/item/device/aicard, -/obj/item/aiModule/reset, -/turf/open/floor/plating, -/area/storage/tech) -"chW" = ( -/obj/structure/table, -/obj/item/device/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/device/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/device/assembly/flash/handheld, -/obj/item/device/assembly/flash/handheld, -/turf/open/floor/plating, -/area/storage/tech) -"chX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"chY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"chZ" = ( -/obj/structure/table, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"cia" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"cib" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"cic" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/grille/broken, -/obj/item/stack/rods, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cid" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cie" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/closed/wall, -/area/maintenance/asteroid/aft/arrivals) -"cif" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall, -/area/maintenance/asteroid/aft/arrivals) -"cig" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall/rust, -/area/maintenance/asteroid/aft/arrivals) -"cih" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/closed/wall/rust, -/area/maintenance/asteroid/aft/arrivals) -"cii" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Docking Asteroid SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cij" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cik" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cil" = ( -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cim" = ( -/turf/open/floor/wood, -/area/security/vacantoffice) -"cin" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cio" = ( -/obj/structure/closet, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cip" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"ciq" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/escape{ - dir = 8 - }, -/area/hallway/secondary/exit) -"cir" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cis" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/hallway/primary/aft) -"cit" = ( -/obj/item/clothing/head/cone, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"ciu" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"civ" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"ciw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "Research Atmospherics Checkpoint"; - dir = 5 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cix" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"ciy" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"ciz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/ore_box, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ciA" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ciB" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"ciC" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/clothing/gloves/color/yellow, -/obj/item/device/t_scanner, -/obj/item/device/multitool, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/storage/tech) -"ciD" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/device/multitool, -/obj/item/clothing/glasses/meson, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plating, -/area/storage/tech) -"ciE" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"ciF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"ciG" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"ciH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"ciI" = ( -/turf/closed/wall, -/area/teleporter/quantum/research) -"ciJ" = ( -/turf/closed/wall, -/area/teleporter/quantum/docking) -"ciK" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/teleporter/quantum/docking) -"ciL" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ciM" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ciN" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ciO" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 15"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"ciP" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"ciQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ciR" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"ciS" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"ciT" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/security/vacantoffice) -"ciU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"ciV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"ciW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ciX" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Departures APC"; - areastring = "/area/hallway/secondary/exit"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ciY" = ( -/obj/structure/grille/broken, -/obj/item/clothing/head/cone, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"ciZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cja" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cjb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cjc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cjd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cje" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjf" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjg" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/construction/mining/aux_base) -"cjh" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 1; - name = "Construction Zone"; - req_access = null; - req_access_txt = "0"; - req_one_access_txt = "0" - }, -/turf/open/floor/plating, -/area/construction/mining/aux_base) -"cji" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/pandemic{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/rdconsole, -/obj/item/circuitboard/machine/rdserver{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/destructive_analyzer, -/obj/item/circuitboard/machine/protolathe, -/obj/item/circuitboard/computer/aifixer, -/obj/item/circuitboard/computer/teleporter, -/obj/item/circuitboard/machine/circuit_imprinter, -/obj/item/circuitboard/machine/mechfab, -/turf/open/floor/plating, -/area/storage/tech) -"cjj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/storage/tech) -"cjk" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/cloning, -/obj/item/circuitboard/computer/med_data{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/clonescanner, -/obj/item/circuitboard/machine/clonepod, -/obj/item/circuitboard/computer/scan_consolenew, -/turf/open/floor/plating, -/area/storage/tech) -"cjl" = ( -/obj/structure/table, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/freeformcore, -/obj/machinery/door/window{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Core Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, -/obj/item/aiModule/core/full/corp, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/aiModule/core/full/custom, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"cjm" = ( -/obj/structure/table, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/zeroth/oneHuman, -/obj/machinery/door/window{ - base_state = "left"; - dir = 8; - icon_state = "left"; - name = "High-Risk Modules"; - req_access_txt = "20" - }, -/obj/item/aiModule/reset/purge, -/obj/structure/window/reinforced, -/obj/item/aiModule/core/full/antimov, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/aiModule/supplied/protectStation, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"cjn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"cjo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'."; - name = "KEEP CLEAR OF PAD WHEN IN USE"; - pixel_y = 32 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"cjp" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Research Quantum Pad APC"; - areastring = "/area/teleporter/quantum/research"; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"cjq" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/teleporter/quantum/research) -"cjr" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/teleporter/quantum/docking) -"cjs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Docking Quantum Pad APC"; - areastring = "/area/teleporter/quantum/docking"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"cjt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'."; - name = "KEEP CLEAR OF PAD WHEN IN USE"; - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"cju" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"cjv" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cjw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cjx" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cjy" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cjz" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cjA" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cjB" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cjC" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cjD" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/fourcolor, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cjE" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cjF" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/security/vacantoffice) -"cjG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cjH" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cjI" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 6"; - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/escape{ - dir = 8 - }, -/area/hallway/secondary/exit) -"cjJ" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance/external{ - name = "External Airlock Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjM" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cjN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cjO" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/atmos{ - name = "Research Atmospherics Checkpoint"; - req_access_txt = "24" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjP" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix Output"; - on = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjR" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cjS" = ( -/obj/structure/closet/toolcloset, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjU" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Aux Base Construction"; - dir = 6 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/computer/camera_advanced/base_construction, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjY" = ( -/obj/structure/rack{ - dir = 4 - }, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/device/assault_pod/mining, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Aux Construction APC"; - areastring = "/area/construction/mining/aux_base"; - pixel_y = 24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"cjZ" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/mining, -/obj/item/circuitboard/machine/autolathe{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/computer/arcade/battle, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/storage/tech) -"cka" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plating, -/area/storage/tech) -"ckb" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/secure_data{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/security{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/storage/tech) -"ckc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"ckd" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"cke" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/power/apc{ - dir = 4; - name = "AI Upload APC"; - areastring = "/area/ai_monitored/turret_protected/ai_upload"; - pixel_x = 26 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"ckf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Research Quantum Pad"; - dir = 4; - network = list("SS13") - }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"ckg" = ( -/obj/machinery/quantumpad, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"ckh" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"cki" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"ckj" = ( -/obj/machinery/quantumpad, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"ckk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Quantum Pad"; - dir = 8; - network = list("SS13","QM") - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"ckl" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"ckm" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ckn" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cko" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Teleporter APC"; - areastring = "/area/teleporter"; - pixel_y = -24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"ckp" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckq" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cks" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cku" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckv" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood, -/area/security/vacantoffice) -"ckw" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"ckx" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/camera{ - c_tag = "Escape Wing East"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cky" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"ckz" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/plasteel/brown/corner{ - dir = 8 - }, -/area/construction/mining/aux_base) -"ckA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"ckB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"ckC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"ckD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"ckE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"ckF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"ckG" = ( -/turf/open/floor/plasteel/brown/corner, -/area/construction/mining/aux_base) -"ckH" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/circuitboard/machine/telecomms/receiver, -/obj/item/circuitboard/machine/telecomms/server, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/circuitboard/machine/telecomms/broadcaster, -/obj/item/circuitboard/computer/message_monitor{ - pixel_y = -5 - }, -/obj/machinery/power/apc{ - areastring = "/area/storage/tech"; - dir = 8; - name = "Tech Storage APC"; - pixel_x = -25; - pixel_y = 1 - }, -/turf/open/floor/plating, -/area/storage/tech) -"ckI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/storage/tech) -"ckJ" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, -/obj/item/circuitboard/computer/powermonitor{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/stationalert{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/circuitboard/computer/atmos_alert{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plating, -/area/storage/tech) -"ckK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai_upload) -"ckL" = ( -/obj/machinery/door/airlock/highsecurity{ - locked = 0; - name = "AI Upload Access"; - req_access_txt = "16" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"ckM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai_upload) -"ckN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/noticeboard{ - dir = 4; - pixel_x = -32 - }, -/obj/item/paper/guides/quantumpad, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"ckP" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"ckQ" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"ckS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 32 - }, -/obj/item/paper/guides/quantumpad, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"ckT" = ( -/turf/closed/wall/r_wall, -/area/teleporter) -"ckU" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckV" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckW" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"ckX" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"ckY" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"ckZ" = ( -/turf/open/floor/plating, -/area/security/vacantoffice) -"cla" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" - }, -/turf/open/floor/plating, -/area/shuttle/escape) -"clb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"clc" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/brown{ - dir = 10 - }, -/area/construction/mining/aux_base) -"cld" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/brown, -/area/construction/mining/aux_base) -"cle" = ( -/obj/structure/mining_shuttle_beacon, -/turf/open/floor/plasteel/brown, -/area/construction/mining/aux_base) -"clf" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/brown/corner{ - dir = 8 - }, -/area/construction/mining/aux_base) -"clg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"clh" = ( -/obj/structure/closet/crate/rcd, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/brown/corner, -/area/construction/mining/aux_base) -"cli" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/rods{ - amount = 50 - }, -/turf/open/floor/plasteel/brown, -/area/construction/mining/aux_base) -"clj" = ( -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty, -/obj/item/stack/sheet/rglass{ - amount = 50 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/brown, -/area/construction/mining/aux_base) -"clk" = ( -/obj/structure/table, -/obj/item/device/assault_pod/mining, -/obj/item/storage/box/lights/mixed, -/turf/open/floor/plasteel/brown{ - dir = 6 - }, -/area/construction/mining/aux_base) -"cll" = ( -/obj/machinery/vending/assist, -/obj/machinery/camera{ - c_tag = "Tech Storage South"; - dir = 1 - }, -/turf/open/floor/plating, -/area/storage/tech) -"clm" = ( -/obj/structure/table, -/obj/item/device/plant_analyzer, -/obj/item/stock_parts/cell/high/plus, -/obj/item/device/healthanalyzer, -/obj/item/device/analyzer, -/turf/open/floor/plating, -/area/storage/tech) -"cln" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/turretid{ - control_area = "/area/ai_monitored/turret_protected/ai_upload"; - name = "AI Upload turret control"; - pixel_y = 25 - }, -/obj/machinery/camera/motion{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"clo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"clp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/ai_upload) -"clq" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/structure/table, -/obj/item/device/multitool, -/obj/item/screwdriver, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/research) -"clr" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/research) -"cls" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/research) -"clt" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/turf/open/floor/plating, -/area/teleporter/quantum/research) -"clu" = ( -/obj/machinery/light/small, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/teleporter/quantum/research) -"clv" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating, -/area/teleporter/quantum/research) -"clw" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/turf/open/floor/plating, -/area/teleporter/quantum/docking) -"clx" = ( -/obj/machinery/light/small, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/teleporter/quantum/docking) -"cly" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating, -/area/teleporter/quantum/docking) -"clz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/docking) -"clA" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/docking) -"clB" = ( -/obj/structure/table, -/obj/item/device/multitool, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/screwdriver, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/docking) -"clC" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"clD" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"clE" = ( -/obj/machinery/light/small, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"clF" = ( -/obj/machinery/computer/teleporter, -/turf/open/floor/plating, -/area/teleporter) -"clG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/teleporter) -"clH" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/teleporter) -"clI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/camera{ - c_tag = "Teleporter"; - dir = 6 - }, -/turf/open/floor/plasteel, -/area/teleporter) -"clJ" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/shieldwallgen, -/turf/open/floor/plasteel, -/area/teleporter) -"clK" = ( -/turf/closed/wall, -/area/security/checkpoint/checkpoint2) -"clL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"clM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"clN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/security/vacantoffice) -"clO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"clP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"clQ" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/pod_2) -"clR" = ( -/obj/structure/shuttle/engine/propulsion/burst{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_2) -"clS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"clT" = ( -/obj/machinery/door/airlock/engineering{ - cyclelinkeddir = 1; - name = "Auxillary Base Construction"; - req_access_txt = "0"; - req_one_access_txt = "32;47;48" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"clU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/construction/mining/aux_base) -"clV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/storage/tech) -"clW" = ( -/obj/machinery/door/airlock/engineering{ - name = "Tech Storage"; - req_access_txt = "23" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/storage/tech) -"clX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/storage/tech) -"clY" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"clZ" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"cma" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"cmb" = ( -/turf/closed/wall/r_wall, -/area/hallway/primary/aft) -"cmc" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cmd" = ( -/obj/machinery/door/airlock/glass{ - name = "Research Quantum Pad" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/research) -"cme" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/sci_dock) -"cmf" = ( -/turf/closed/wall, -/area/hallway/secondary/entry) -"cmg" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/docking) -"cmh" = ( -/obj/machinery/door/airlock/glass{ - name = "Docking Quantum Pad" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/teleporter/quantum/docking) -"cmi" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/teleporter/quantum/docking) -"cmj" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cmk" = ( -/obj/machinery/teleport/station, -/turf/open/floor/plating, -/area/teleporter) -"cml" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/teleporter) -"cmm" = ( -/turf/open/floor/plasteel, -/area/teleporter) -"cmn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/teleporter) -"cmo" = ( -/obj/structure/closet/secure_closet/security, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/checkpoint2) -"cmp" = ( -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"cmq" = ( -/obj/machinery/computer/security, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"cmr" = ( -/obj/machinery/computer/card, -/obj/machinery/camera{ - c_tag = "Docking Security Checkpoint"; - dir = 6 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"cms" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"cmt" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"cmu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/checkpoint2) -"cmv" = ( -/obj/machinery/door/airlock/security{ - name = "Security Checkpoint"; - req_access = null; - req_access_txt = "1" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red, -/area/security/checkpoint/checkpoint2) -"cmw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cmx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"cmy" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cmz" = ( -/obj/structure/table_frame/wood, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cmA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/table_frame/wood, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/security/vacantoffice) -"cmB" = ( -/obj/docking_port/stationary/random{ - dir = 8; - id = "pod_lavaland2"; - name = "lavaland" - }, -/turf/open/space, -/area/space) -"cmC" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/pod_2) -"cmD" = ( -/obj/machinery/computer/shuttle/pod{ - pixel_y = -32; - possible_destinations = "pod_lavaland2"; - shuttleId = "pod2" - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_2) -"cmE" = ( -/obj/item/storage/pod{ - pixel_x = 6; - pixel_y = -28 - }, -/obj/item/device/radio/intercom{ - pixel_y = 25 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Research Escape Pod" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_2) -"cmF" = ( -/obj/machinery/door/airlock/titanium{ - name = "Escape Pod Airlock" - }, -/obj/docking_port/mobile/pod{ - dir = 8; - id = "pod2"; - name = "escape pod 2"; - port_angle = 180 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/pod_2) -"cmG" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4; - name = "Research Escape Pod" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cmH" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8; - name = "Research Escape Pod" - }, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cmI" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/sign/directions/evac{ - dir = 4; - icon_state = "direction_evac"; - pixel_x = 32; - pixel_y = 24 - }, -/obj/structure/sign/directions/security{ - dir = 1; - icon_state = "direction_sec"; - pixel_x = 32; - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"cmJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Research Asteroid Hallway 2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmR" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Research Asteroid Hallway 3" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmT" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmX" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cmZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research Asteroid Hallway 4" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cnb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cnc" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cne" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cnf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research Asteroid Hallway 5" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cng" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cnh" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cni" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/hallway/primary/aft) -"cnj" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/hallway/primary/aft) -"cnk" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - icon_state = "direction_evac"; - pixel_x = 32; - pixel_y = 24 - }, -/obj/structure/sign/directions/engineering{ - dir = 1; - icon_state = "direction_eng"; - pixel_x = 32; - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/hallway/primary/aft) -"cnl" = ( -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cnm" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnn" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cno" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnp" = ( -/obj/structure/sign/directions/science{ - dir = 8; - icon_state = "direction_sci"; - pixel_x = -32; - pixel_y = 24 - }, -/obj/structure/sign/directions/engineering{ - dir = 1; - icon_state = "direction_eng"; - pixel_x = -32; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cnq" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cnr" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cns" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnv" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 1"; - dir = 6 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cny" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cnz" = ( -/obj/machinery/teleport/hub, -/turf/open/floor/plating, -/area/teleporter) -"cnA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/teleporter) -"cnB" = ( -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/checkpoint2) -"cnC" = ( -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"cnD" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/checkpoint2) -"cnE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cnF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cnG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cnH" = ( -/obj/structure/table/wood, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cnI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/chair, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/security/vacantoffice) -"cnJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"cnK" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cnL" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/escape{ - dir = 8 - }, -/area/hallway/secondary/exit) -"cnM" = ( -/obj/structure/closet/emcloset, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/hallway/primary/aft) -"cnN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/pods{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cnO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnT" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnU" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cnV" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cnW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cnX" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cnY" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cnZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"coa" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cob" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"coc" = ( -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cod" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"coe" = ( -/obj/structure/table, -/obj/item/hand_tele, -/obj/item/device/radio/beacon, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/teleporter) -"cof" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/teleporter) -"cog" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/checkpoint2) -"coh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/closet/wardrobe/red, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"coi" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"coj" = ( -/obj/structure/chair/office/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"cok" = ( -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"col" = ( -/obj/structure/table, -/obj/item/crowbar, -/obj/item/device/radio, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"com" = ( -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/checkpoint2) -"con" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/security/vacantoffice) -"coo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cop" = ( -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Arrivals APC"; - areastring = "/area/hallway/secondary/entry"; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"coq" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cor" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cos" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cot" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21"; - layer = 4.1 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"cou" = ( -/turf/closed/wall, -/area/science/robotics/lab) -"cov" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"cow" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/science{ - pixel_y = -32 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coE" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/purple/corner, -/area/hallway/primary/aft) -"coF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/purple/side, -/area/hallway/primary/aft) -"coG" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/science{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"coI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coN" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coP" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coR" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coS" = ( -/obj/machinery/light, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coT" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"coU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research-Docking Bridge 1"; - dir = 1; - network = list("SS13") - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"coV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Science-Docking Bridge APC"; - areastring = "/area/hallway/secondary/bridges/sci_dock"; - pixel_y = -24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"coW" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/entry) -"coX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/entry) -"coY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/entry) -"coZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/entry) -"cpa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/entry) -"cpb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/entry) -"cpc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cpd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cpe" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/teleporter) -"cpf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/teleporter) -"cpg" = ( -/obj/machinery/door/airlock/command{ - name = "Teleport Access"; - req_access_txt = "17" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/teleporter) -"cph" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"cpi" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/window/brigdoor/northright{ - name = "Arrival Security Checkpoint"; - req_access_txt = "1" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/red, -/area/security/checkpoint/checkpoint2) -"cpj" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cpk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock{ - name = "Vacant Office"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/security/vacantoffice) -"cpl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/security/vacantoffice) -"cpm" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 5"; - dir = 6 - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/escape/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) -"cpn" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/shuttle/engine/heater, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"cpo" = ( -/turf/closed/wall/r_wall, -/area/science/mixing) -"cpp" = ( -/turf/closed/wall/r_wall, -/area/science/robotics/lab) -"cpq" = ( -/obj/machinery/mecha_part_fabricator, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cpr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RoboticsShutters" - }, -/obj/machinery/door/poddoor/preopen{ - id = "researchlockdown"; - layer = 2.6; - name = "Research Emergency Lockdown" - }, -/obj/machinery/door/firedoor, -/turf/closed/wall, -/area/science/robotics/lab) -"cpt" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RoboticsShutters" - }, -/obj/machinery/door/poddoor/preopen{ - id = "researchlockdown"; - layer = 2.6; - name = "Research Emergency Lockdown" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/northleft{ - name = "Robotics Desk" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/southleft{ - name = "Robotics Desk"; - req_access_txt = "29" - }, -/turf/open/floor/plating, -/area/science/robotics/lab) -"cpu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/science/research) -"cpv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "researchlockdown"; - layer = 2.6; - name = "Research Emergency Lockdown" - }, -/obj/machinery/door/airlock/research{ - cyclelinkeddir = 2; - name = "Research Division Access"; - req_access_txt = "47" - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/research) -"cpw" = ( -/turf/closed/wall, -/area/science/research) -"cpx" = ( -/turf/closed/wall, -/area/science/lab) -"cpy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RnDShutters" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "researchlockdown"; - layer = 2.6; - name = "Research Emergency Lockdown" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/lab) -"cpz" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RnDShutters" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "researchlockdown"; - layer = 2.6; - name = "Research Emergency Lockdown" - }, -/obj/machinery/door/window/northleft{ - name = "Research Desk"; - req_access_txt = "47" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/purple, -/area/science/lab) -"cpA" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RnDShutters" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "researchlockdown"; - layer = 2.6; - name = "Research Emergency Lockdown" - }, -/obj/machinery/door/window/northright{ - name = "Research Desk"; - req_access_txt = "47" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/purple, -/area/science/lab) -"cpB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Science SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"cpC" = ( -/obj/structure/girder, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/sci_dock) -"cpD" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/secondary/entry) -"cpE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cpF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cpG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cpH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 2"; - dir = 6 - }, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpM" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpN" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 3"; - dir = 6 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/arrival/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/obj/structure/sign/directions/science{ - dir = 8; - icon_state = "direction_sci"; - pixel_x = -32; - pixel_y = 24 - }, -/obj/structure/sign/directions/medical{ - dir = 1; - icon_state = "direction_med"; - pixel_x = -32; - pixel_y = 32 - }, -/obj/structure/sign/directions/supply{ - dir = 1; - icon_state = "direction_supply"; - pixel_x = -32; - pixel_y = 40 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"cpS" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cpT" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/sign/directions/evac{ - dir = 4; - icon_state = "direction_evac"; - pixel_x = 32; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cpU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cpV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cpW" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cpX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cpY" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cpZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cqa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 4"; - dir = 6 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cqb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cqc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cqd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cqe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cqf" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqg" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"cqh" = ( -/obj/machinery/door/poddoor{ - id = "mixvent"; - name = "Mixer Room Vent" - }, -/turf/open/floor/engine/vacuum, -/area/science/mixing) -"cqi" = ( -/obj/structure/sign/vacuum{ - pixel_y = 32 - }, -/turf/open/floor/engine/vacuum, -/area/science/mixing) -"cqj" = ( -/obj/machinery/sparker{ - dir = 2; - id = "mixingsparker"; - pixel_x = 25 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 4 - }, -/turf/open/floor/engine/vacuum, -/area/science/mixing) -"cqk" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/science/mixing) -"cql" = ( -/obj/machinery/airlock_sensor{ - id_tag = "tox_airlock_sensor"; - master_tag = "tox_airlock_control"; - pixel_y = 24 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - on = 1 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/science/mixing) -"cqm" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/meter, -/obj/machinery/embedded_controller/radio/airlock_controller{ - airpump_tag = "tox_airlock_pump"; - exterior_door_tag = "tox_airlock_exterior"; - id_tag = "tox_airlock_control"; - interior_door_tag = "tox_airlock_interior"; - pixel_x = -24; - sanitize_external = 1; - sensor_tag = "tox_airlock_sensor" - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/mixing) -"cqn" = ( -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4; - name = "mix to port" - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cqo" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"cqp" = ( -/obj/machinery/computer/rdconsole/robotics, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cqq" = ( -/obj/machinery/power/apc{ - areastring = "/area/science/robotics/lab"; - dir = 1; - name = "Robotics Lab APC"; - pixel_y = 25 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cqr" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cqs" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cqt" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cqu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cqv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RoboticsShutters" - }, -/turf/open/floor/plating, -/area/science/robotics/lab) -"cqw" = ( -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"cqx" = ( -/obj/machinery/button/door{ - id = "MechbayShutters"; - name = "Mechbay Shutters"; - pixel_x = 25; - pixel_y = 24; - req_access_txt = "29" - }, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"cqy" = ( -/obj/machinery/mech_bay_recharge_port, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) -"cqz" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mech_bay_recharge_floor, -/area/science/robotics/mechbay) -"cqA" = ( -/obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/circuit, -/area/science/robotics/mechbay) -"cqB" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Research Airlock" - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/shower{ - pixel_y = 24 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/freezer, -/area/science/research) -"cqC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cqD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/white, -/area/science/research) -"cqE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research and Development"; - network = list("SS13","RD") - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqF" = ( -/obj/machinery/button/door{ - id = "RnDShutters"; - name = "Research Privacy Shutters"; - pixel_y = 24; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqI" = ( -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqJ" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqK" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/clothing/glasses/welding, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/lab) -"cqL" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Aft Asteroid Hallway APC"; - areastring = "/area/hallway/primary/aft"; - pixel_y = 25 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cqM" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/camera{ - c_tag = "Science SMES"; - dir = 8; - network = list("SS13","QM") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"cqN" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Aft Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/aft/science"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cqO" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cqP" = ( -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/pickaxe/emergency, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cqQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqR" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Medbay"; - location = "ArrivalsMiddle"; - name = "navigation beacon (Arrivals-Middle)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cqZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cra" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"crb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"crc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"crd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cre" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"crf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"crg" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"crh" = ( -/turf/open/floor/engine/vacuum, -/area/science/mixing) -"cri" = ( -/obj/machinery/door/airlock/glass_research{ - autoclose = 0; - frequency = 1449; - glass = 1; - heat_proof = 1; - icon_state = "door_locked"; - id_tag = "tox_airlock_exterior"; - locked = 1; - name = "Mixing Room Exterior Airlock"; - req_access_txt = "8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/science/mixing) -"crj" = ( -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/science/mixing) -"crk" = ( -/obj/machinery/door/airlock/glass_research{ - autoclose = 0; - frequency = 1449; - glass = 1; - heat_proof = 1; - icon_state = "door_locked"; - id_tag = "tox_airlock_interior"; - locked = 1; - name = "Mixing Room Interior Airlock"; - req_access_txt = "8" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/science/mixing) -"crl" = ( -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/mixing) -"crm" = ( -/turf/open/floor/plasteel/white, -/area/science/mixing) -"crn" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"cro" = ( -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"crp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"crq" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"crs" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"crt" = ( -/turf/open/floor/circuit, -/area/science/robotics/mechbay) -"crv" = ( -/obj/machinery/newscaster{ - pixel_x = 28; - pixel_y = 4 - }, -/turf/open/floor/circuit, -/area/science/robotics/mechbay) -"crw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/research) -"crx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/science/research) -"cry" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"crz" = ( -/obj/machinery/r_n_d/destructive_analyzer, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/lab) -"crA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/lab) -"crB" = ( -/obj/machinery/r_n_d/protolathe, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/science/lab) -"crC" = ( -/obj/item/folder/white, -/obj/item/disk/tech_disk, -/obj/item/disk/tech_disk, -/obj/item/disk/design_disk, -/obj/item/disk/design_disk, -/obj/structure/table/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/lab) -"crD" = ( -/turf/open/floor/plasteel/white, -/area/science/lab) -"crE" = ( -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/dropper, -/obj/structure/table, -/obj/machinery/newscaster{ - pixel_x = 28; - pixel_y = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/lab) -"crF" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"crG" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"crH" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"crI" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Science SMES Access"; - req_access_txt = "10;11;12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"crJ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"crK" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"crL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crM" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crN" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"crQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crS" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"crU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"crV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crX" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"crZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"csa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"csb" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"csc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"csd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cse" = ( -/obj/machinery/sparker{ - dir = 2; - id = "mixingsparker"; - pixel_x = 25 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - frequency = 1441; - id = "air_in" - }, -/turf/open/floor/engine/vacuum, -/area/science/mixing) -"csf" = ( -/obj/structure/sign/fire{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - on = 1 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/science/mixing) -"csg" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/meter, -/obj/machinery/button/door{ - id = "mixvent"; - name = "Mixing Room Vent Control"; - pixel_x = -25; - pixel_y = 5; - req_access_txt = "7" - }, -/obj/machinery/button/ignition{ - id = "mixingsparker"; - pixel_x = -25; - pixel_y = -5 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/mixing) -"csh" = ( -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4; - name = "port to mix" - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"csi" = ( -/obj/structure/table, -/obj/item/device/assembly/flash/handheld, -/obj/item/device/assembly/flash/handheld, -/obj/item/device/assembly/flash/handheld, -/obj/item/device/assembly/flash/handheld, -/obj/item/device/assembly/flash/handheld, -/obj/item/device/assembly/flash/handheld, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/camera{ - c_tag = "Service Asteroid Hallway 6"; - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"csj" = ( -/obj/structure/table/optable, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) -"csk" = ( -/obj/structure/rack, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/plasteel/twenty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"csl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"csn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cso" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility/full, -/obj/item/storage/belt/utility/full, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/head/welding, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"css" = ( -/obj/machinery/computer/mech_bay_power_console, -/obj/machinery/camera{ - c_tag = "Robotics 2"; - dir = 1; - network = list("SS13","RD") - }, -/obj/machinery/camera{ - c_tag = "Toxins Storage"; - dir = 9; - network = list("SS13","RD") - }, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/turf/open/floor/circuit/green, -/area/science/robotics/mechbay) -"cst" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/closet/l3closet/scientist, -/turf/open/floor/plasteel/white, -/area/science/research) -"csu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"csv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/white, -/area/science/research) -"csw" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/requests_console{ - department = "Science"; - departmentType = 2; - name = "Science Requests Console"; - pixel_x = -30 - }, -/turf/open/floor/plasteel, -/area/science/lab) -"csx" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/plasteel, -/area/science/lab) -"csy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/lab) -"csz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/lab) -"csA" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/white, -/area/science/lab) -"csB" = ( -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/micro_laser, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/structure/table, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/lab) -"csC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"csD" = ( -/turf/closed/wall/r_wall, -/area/science/xenobiology) -"csE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"csF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"csG" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"csH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"csI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"csJ" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/science/mixing) -"csK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"csL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"csN" = ( -/obj/machinery/computer/aifixer, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"csP" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"csQ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/circuit/green, -/area/science/robotics/mechbay) -"csR" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/circuit/green, -/area/science/robotics/mechbay) -"csS" = ( -/obj/machinery/power/apc{ - areastring = "/area/science/robotics/mechbay"; - dir = 4; - name = "Mech Bay APC"; - pixel_x = 26 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/circuit/green, -/area/science/robotics/mechbay) -"csT" = ( -/obj/machinery/door/airlock/research{ - cyclelinkeddir = 1; - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple, -/area/science/research) -"csU" = ( -/obj/machinery/computer/rdconsole/core, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/lab) -"csV" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/lab) -"csW" = ( -/obj/machinery/r_n_d/circuit_imprinter, -/obj/item/reagent_containers/glass/beaker/sulphuric, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/science/lab) -"csX" = ( -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/lab) -"csY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/science/lab) -"csZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/science/lab) -"cta" = ( -/obj/item/stock_parts/console_screen, -/obj/item/stock_parts/console_screen, -/obj/item/stock_parts/console_screen, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/scanning_module{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/stock_parts/scanning_module, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/table, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/white, -/area/science/lab) -"ctb" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/chair/stool, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"ctc" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"ctd" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cte" = ( -/turf/open/floor/plasteel/darkpurple/side{ - dir = 1 - }, -/area/science/xenobiology) -"ctf" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/darkpurple/side{ - dir = 1 - }, -/area/science/xenobiology) -"ctg" = ( -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plasteel/darkpurple/side{ - dir = 1 - }, -/area/science/xenobiology) -"cth" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cti" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"ctj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"ctk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"ctl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"ctm" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 9 - }, -/area/science/mixing) -"ctn" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/mixing) -"cto" = ( -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/mixing) -"ctp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/science/mixing) -"ctq" = ( -/obj/effect/landmark/start/scientist, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"ctr" = ( -/obj/machinery/camera{ - c_tag = "Toxins Mixing"; - dir = 9; - network = list("SS13","RD") - }, -/obj/structure/closet/bombcloset, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"cts" = ( -/obj/structure/table, -/obj/item/surgical_drapes, -/obj/item/clothing/gloves/color/latex, -/obj/item/storage/box/bodybags, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) -"ctt" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/device/multitool, -/obj/item/device/multitool, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"ctu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/purple/corner, -/area/science/robotics/lab) -"ctv" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/purple/side, -/area/science/robotics/lab) -"ctw" = ( -/obj/structure/closet/wardrobe/robotics_black, -/obj/item/device/radio/headset/headset_sci{ - pixel_x = -3 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/science/robotics/lab) -"ctx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/filingcabinet, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"ctz" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/whitepurple/corner, -/area/science/robotics/mechbay) -"ctA" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/robotics/mechbay) -"ctB" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/science/robotics/mechbay) -"ctC" = ( -/obj/machinery/recharge_station, -/obj/machinery/light, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"ctD" = ( -/obj/machinery/recharge_station, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"ctE" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/science/robotics/mechbay) -"ctF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/science/research) -"ctG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"ctH" = ( -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/science/research) -"ctI" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/science/lab) -"ctJ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctL" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctO" = ( -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctP" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/lab) -"ctQ" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Research and Development APC"; - areastring = "/area/science/lab"; - pixel_x = -25 - }, -/obj/structure/cable/orange, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"ctR" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"ctS" = ( -/turf/open/floor/plasteel/black, -/area/science/xenobiology) -"ctT" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel/black, -/area/science/xenobiology) -"ctU" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/black, -/area/science/xenobiology) -"ctV" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/plasteel/black, -/area/science/xenobiology) -"ctW" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/black, -/area/science/xenobiology) -"ctX" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"ctY" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/arrival) -"ctZ" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/arrival) -"cua" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/mixing) -"cub" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cud" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/obj/structure/closet/bombcloset, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"cue" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Robotics Lab"; - req_access_txt = "29" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/robotics/lab) -"cuf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RoboticsShutters" - }, -/turf/open/floor/plating, -/area/science/robotics/lab) -"cug" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Mech Bay"; - req_access_txt = "29" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple, -/area/science/robotics/mechbay) -"cuh" = ( -/turf/open/floor/plasteel/white, -/area/science/research) -"cui" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/science/lab) -"cuk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/science/lab) -"cul" = ( -/turf/open/floor/plasteel/darkpurple/side, -/area/science/xenobiology) -"cum" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkpurple/side, -/area/science/xenobiology) -"cun" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 4 - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"cuo" = ( -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"cup" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"cuq" = ( -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cur" = ( -/obj/structure/table, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cus" = ( -/obj/structure/frame/computer, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cut" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/space, -/area/hallway/secondary/entry) -"cuu" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/mixing) -"cuv" = ( -/turf/open/floor/plasteel/whitepurple/side, -/area/science/mixing) -"cuw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/science/mixing) -"cux" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/mixing) -"cuy" = ( -/obj/structure/closet/wardrobe/science_white, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 5 - }, -/area/science/mixing) -"cuz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/mixing) -"cuA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 9 - }, -/area/science/research) -"cuB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"cuD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"cuE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"cuF" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"cuG" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"cuI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/noticeboard{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuN" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/science/research) -"cuP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/turf/open/floor/plasteel/whitepurple/corner, -/area/science/research) -"cuQ" = ( -/obj/machinery/shower{ - pixel_y = 24 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/freezer, -/area/science/research) -"cuR" = ( -/obj/machinery/shower{ - pixel_y = 24 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/freezer, -/area/science/research) -"cuS" = ( -/obj/structure/closet/l3closet/scientist, -/turf/open/floor/plasteel/black, -/area/science/research) -"cuT" = ( -/turf/closed/wall/r_wall, -/area/science/research) -"cuU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod1"; - name = "containment door 1" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cuV" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod1"; - layer = 2.6; - name = "containment door 1" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/door/window/northleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"cuW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod1"; - layer = 2.6; - name = "containment door 1" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cuX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod2"; - name = "containment door 2" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cuY" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod2"; - layer = 2.6; - name = "containment door 2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/door/window/northleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"cuZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod2"; - layer = 2.6; - name = "containment door 2" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cva" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod3"; - layer = 2.6; - name = "containment door 3" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cvb" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod3"; - layer = 2.6; - name = "containment door 3" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/door/window/northleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"cvc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod3"; - layer = 2.6; - name = "containment door 3" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cvd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod4"; - name = "containment door 4" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cve" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod4"; - layer = 2.6; - name = "containment door 4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/door/window/northleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"cvf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod4"; - layer = 2.6; - name = "containment door 4" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"cvg" = ( -/turf/closed/wall, -/area/science/xenobiology) -"cvh" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "47" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cvi" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cvj" = ( -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cvk" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cvl" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cvm" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"cvn" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"cvo" = ( -/obj/item/device/assembly/prox_sensor{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = 9; - pixel_y = -2 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_y = 2 - }, -/obj/structure/table/reinforced, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/mixing) -"cvp" = ( -/obj/structure/chair/stool, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cvq" = ( -/obj/structure/table/reinforced, -/obj/item/wrench, -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cvr" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cvs" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"cvt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab"; - req_access_txt = "8" - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/mixing) -"cvu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/research) -"cvv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvx" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvy" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvA" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvE" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvF" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvI" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvJ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvK" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/research) -"cvL" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Decontamination Center"; - req_access_txt = "55" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/research) -"cvM" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvN" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/sign/xenobio{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cvP" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod1"; - name = "Containment Control 1" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cvQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/window/southleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/xenobiology) -"cvR" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cvS" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod2"; - name = "Containment Control 2" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cvT" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod3"; - name = "Containment Control 3" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cvU" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod4"; - name = "Containment Control 4" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cvV" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/science/xenobiology) -"cvW" = ( -/obj/structure/table, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cvX" = ( -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cvY" = ( -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cvZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 13"; - dir = 9 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwa" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Cockpit" - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cwb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 11"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 9"; - dir = 9 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 7"; - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwh" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"cwi" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"cwj" = ( -/obj/item/device/assembly/signaler{ - pixel_y = 8 - }, -/obj/item/device/assembly/signaler{ - pixel_x = -8; - pixel_y = 5 - }, -/obj/item/device/assembly/signaler{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/device/assembly/signaler{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/structure/table/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 10 - }, -/area/science/mixing) -"cwk" = ( -/obj/item/device/transfer_valve{ - pixel_x = -5 - }, -/obj/item/device/transfer_valve{ - pixel_x = -5 - }, -/obj/item/device/transfer_valve, -/obj/item/device/transfer_valve, -/obj/item/device/transfer_valve{ - pixel_x = 5 - }, -/obj/item/device/transfer_valve{ - pixel_x = 5 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/mixing) -"cwl" = ( -/obj/item/device/assembly/timer{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/device/assembly/timer{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/device/assembly/timer{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/item/device/assembly/timer, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/mixing) -"cwm" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/tank_dispenser, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cwn" = ( -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cwo" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/mixing) -"cwp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/mixing) -"cwq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/research) -"cwr" = ( -/obj/structure/sign/bluecross_2{ - pixel_x = -32; - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cws" = ( -/obj/machinery/power/apc{ - cell_type = 5000; - dir = 2; - name = "Science APC"; - areastring = "/area/science/research"; - pixel_y = -24 - }, -/obj/structure/cable/orange, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research Western Wing"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwu" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/corner, -/area/science/research) -"cwv" = ( -/turf/open/floor/plasteel/whitepurple/side, -/area/science/research) -"cww" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/science/research) -"cwx" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwA" = ( -/obj/machinery/camera{ - c_tag = "Research Eastern Wing"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 4 - }, -/area/science/research) -"cwE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/science/research) -"cwF" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cwH" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Xenobiology"; - req_access_txt = "55" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cwI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwJ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwL" = ( -/obj/structure/sign/electricshock{ - pixel_y = 32 - }, -/obj/machinery/camera{ - c_tag = "Xenobiology 1"; - dir = 6; - network = list("SS13","RD") - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwM" = ( -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwN" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwO" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwP" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/sign/electricshock{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cwR" = ( -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/xenobiology) -"cwS" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cwT" = ( -/obj/machinery/computer/camera_advanced/xenobio, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cwU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cwV" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cwW" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cwX" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cwY" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cwZ" = ( -/obj/machinery/vending/cola, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cxa" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cxb" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cxc" = ( -/obj/machinery/door/airlock/command{ - name = "Server Room"; - req_access = null; - req_access_txt = "30" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/science/server) -"cxd" = ( -/turf/closed/wall/r_wall, -/area/science/server) -"cxe" = ( -/obj/structure/bed/roller, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/science/research) -"cxf" = ( -/turf/open/floor/plasteel/whitepurple/corner, -/area/science/research) -"cxg" = ( -/turf/closed/wall/r_wall, -/area/science/storage) -"cxh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "rdoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/hor) -"cxi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "rdoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/hor) -"cxj" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Research Director's Office"; - req_access_txt = "30" - }, -/turf/open/floor/plasteel/whitepurple, -/area/crew_quarters/heads/hor) -"cxk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "rdoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/hor) -"cxl" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/science) -"cxm" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/science) -"cxn" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Security Office"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/security/checkpoint/science) -"cxo" = ( -/turf/closed/wall, -/area/science/misc_lab) -"cxp" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/science/research) -"cxq" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/research) -"cxr" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research Xenobiology-Testing Airlock"; - dir = 9; - network = list("SS13","RD") - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cxs" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/science/research) -"cxt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxu" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxv" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxx" = ( -/obj/machinery/monkey_recycler, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxy" = ( -/obj/machinery/smartfridge/extract/preloaded, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxz" = ( -/obj/machinery/processor{ - desc = "A machine used to process slimes and retrieve their extract."; - name = "Slime Processor" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxA" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cxC" = ( -/obj/structure/table, -/obj/item/extinguisher, -/obj/item/extinguisher, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cxD" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Xenobiology APC"; - areastring = "/area/science/xenobiology"; - pixel_x = -25 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cxE" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cxF" = ( -/obj/machinery/door/airlock/shuttle, -/obj/structure/fans/tiny, -/turf/open/floor/mineral/titanium, -/area/shuttle/arrival) -"cxG" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cxH" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cxI" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/shuttle/transport) -"cxJ" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/transport) -"cxK" = ( -/obj/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/shuttle/transport) -"cxL" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/transport) -"cxM" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cxN" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cxO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cxP" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Toxins Lab APC"; - areastring = "/area/science/mixing"; - pixel_y = 25 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cxQ" = ( -/obj/machinery/r_n_d/server/core, -/turf/open/floor/circuit, -/area/science/server) -"cxR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 4; - external_pressure_bound = 120; - name = "server vent" - }, -/turf/open/floor/circuit, -/area/science/server) -"cxS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 10 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'SERVER ROOM'."; - name = "SERVER ROOM"; - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/science/server) -"cxT" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/science/server) -"cxU" = ( -/turf/open/floor/plasteel/black, -/area/science/server) -"cxV" = ( -/obj/structure/bed/roller, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/research) -"cxW" = ( -/obj/machinery/iv_drip, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 4 - }, -/area/science/research) -"cxX" = ( -/obj/structure/table, -/obj/item/cartridge/signal/toxins, -/obj/item/cartridge/signal/toxins{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/cartridge/signal/toxins{ - pixel_x = 4; - pixel_y = 6 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cxY" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cxZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cya" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cyb" = ( -/obj/machinery/portable_atmospherics/scrubber/huge/movable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/science/storage) -"cyc" = ( -/obj/structure/table, -/obj/item/paper_bin, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/science) -"cyd" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the RD's goons from a (questionably) safe distance."; - name = "Research Monitor"; - network = list("RD") - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/science) -"cye" = ( -/obj/structure/table, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/science) -"cyf" = ( -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/science) -"cyg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/science) -"cyh" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/science/research) -"cyl" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cym" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cyn" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Xenobiology"; - req_access_txt = "55" - }, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"cyo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cyp" = ( -/obj/machinery/light, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cyq" = ( -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cyr" = ( -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/obj/machinery/camera{ - c_tag = "Xenobiology 2"; - dir = 1; - network = list("SS13","RD") - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cys" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cyt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cyu" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cyv" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cyw" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cyx" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/shuttle, -/area/shuttle/arrival) -"cyy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cyz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cyA" = ( -/turf/open/floor/mineral/titanium/blue, -/turf/closed/wall/mineral/titanium/interior, -/area/shuttle/transport) -"cyB" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"cyC" = ( -/obj/machinery/computer/shuttle/ferry/request, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"cyD" = ( -/obj/structure/chair, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"cyE" = ( -/obj/structure/chair, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"cyF" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cyG" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/science/server) -"cyH" = ( -/obj/machinery/door/airlock/glass_command{ - name = "Server Room"; - req_access_txt = "30" - }, -/obj/machinery/atmospherics/pipe/manifold/general/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/science/server) -"cyI" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/black, -/area/science/server) -"cyJ" = ( -/obj/structure/chair/office/light, -/turf/open/floor/plasteel/black, -/area/science/server) -"cyK" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/science/server) -"cyL" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2, -/obj/machinery/camera{ - c_tag = "Research Treatment Center"; - dir = 1; - network = list("SS13") - }, -/obj/item/clothing/neck/stethoscope, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 10 - }, -/area/science/research) -"cyM" = ( -/obj/machinery/light, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/structure/closet/crate/freezer, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/research) -"cyN" = ( -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 6 - }, -/area/science/research) -"cyO" = ( -/turf/open/floor/plasteel, -/area/science/storage) -"cyP" = ( -/obj/machinery/suit_storage_unit/rd, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cyQ" = ( -/obj/structure/table, -/obj/machinery/newscaster/security_unit{ - pixel_x = -28 - }, -/obj/machinery/recharger, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/science) -"cyR" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/effect/landmark/start/depsec/science, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/checkpoint/science) -"cyS" = ( -/turf/open/floor/plasteel, -/area/security/checkpoint/science) -"cyT" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/science) -"cyU" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyV" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyW" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyX" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cyY" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Testing Lab"; - req_access_txt = "55" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research) -"cyZ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"cza" = ( -/obj/structure/sign/xenobio{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"czb" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod5"; - name = "Containment Control 5" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"czc" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/window/northleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/whitepurple/side, -/area/science/xenobiology) -"czd" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cze" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod6"; - name = "Containment Control 6" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"czf" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod7"; - name = "Containment Control 7" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"czg" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/button/door{ - id = "XenoPod8"; - name = "Containment Control 8" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"czh" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"czi" = ( -/obj/structure/table, -/obj/item/storage/box/beakers, -/obj/item/storage/box/syringes, -/obj/item/storage/box/monkeycubes, -/obj/item/storage/box/monkeycubes, -/turf/open/floor/plasteel/whitepurple, -/area/science/xenobiology) -"czj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"czk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"czl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"czm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"czn" = ( -/obj/machinery/door/airlock/shuttle, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"czo" = ( -/obj/machinery/door/airlock/shuttle, -/obj/docking_port/mobile{ - dir = 8; - dwidth = 2; - height = 12; - id = "ferry"; - name = "ferry shuttle"; - port_angle = 0; - preferred_direction = 4; - roundstart_move = "ferry_away"; - width = 5 - }, -/obj/docking_port/stationary{ - dir = 8; - dwidth = 2; - height = 12; - id = "ferry_home"; - name = "port bay 2"; - turf_type = /turf/open/space; - width = 5 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"czp" = ( -/obj/machinery/r_n_d/server/robotics, -/turf/open/floor/circuit, -/area/science/server) -"czq" = ( -/obj/machinery/camera{ - c_tag = "Research Server Room"; - dir = 1; - network = list("SS13","RD") - }, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 1; - on = 1; - target_temperature = 80 - }, -/turf/open/floor/plasteel/black, -/area/science/server) -"czr" = ( -/obj/machinery/computer/rdservercontrol, -/turf/open/floor/plasteel/black, -/area/science/server) -"czs" = ( -/obj/structure/table, -/turf/open/floor/plasteel/black, -/area/science/server) -"czt" = ( -/obj/machinery/modular_computer/console/preset/research, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"czu" = ( -/obj/structure/rack, -/obj/item/circuitboard/aicore{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/hor) -"czv" = ( -/obj/machinery/computer/secure_data, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/science) -"czw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Research Security Checkpoint"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/science) -"czx" = ( -/obj/machinery/light, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/science) -"czy" = ( -/obj/machinery/power/apc{ - cell_type = 5000; - dir = 2; - name = "Science Security Checkpoint APC"; - areastring = "/area/security/checkpoint/science"; - pixel_y = -24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/closet/secure_closet/security/science, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/science) -"czz" = ( -/obj/structure/filingcabinet, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/science) -"czA" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"czB" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"czC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"czD" = ( -/turf/open/floor/plasteel, -/area/science/misc_lab) -"czE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/map/left/ceres{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"czF" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod5"; - name = "containment door 5" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czG" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod5"; - name = "containment door 5" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/door/window/southleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"czH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod5"; - name = "containment door 5" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czI" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod6"; - name = "containment door 6" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czJ" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod6"; - layer = 2.6; - name = "containment door 6" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/door/window/southleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"czK" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod6"; - layer = 2.6; - name = "containment door 6" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod7"; - layer = 2.6; - name = "containment door 7" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czM" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod7"; - layer = 2.6; - name = "containment door 7" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/door/window/southleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"czN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod7"; - layer = 2.6; - name = "containment door 7" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czP" = ( -/obj/machinery/door/poddoor/preopen{ - id = "XenoPod8"; - layer = 2.6; - name = "containment door 8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/door/window/southleft{ - req_access_txt = "55" - }, -/turf/open/floor/plasteel/purple, -/area/science/xenobiology) -"czQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czR" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/science/xenobiology) -"czS" = ( -/obj/machinery/door/airlock/research{ - name = "Kill Chamber"; - req_access_txt = "55" - }, -/turf/open/floor/plating, -/area/science/xenobiology) -"czU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"czV" = ( -/obj/structure/closet/crate, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"czW" = ( -/obj/structure/closet/crate, -/obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"czX" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"czY" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/transport) -"czZ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAa" = ( -/obj/structure/closet/crate, -/obj/item/storage/bag/ore, -/obj/item/pickaxe/emergency, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cAb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/hor) -"cAc" = ( -/turf/closed/wall/r_wall, -/area/science/misc_lab) -"cAd" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/science/misc_lab) -"cAe" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -32 - }, -/obj/structure/closet/crate/bin, -/obj/item/book/manual/wiki/telescience, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAg" = ( -/obj/structure/rack, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAh" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/darkpurple/side{ - dir = 1 - }, -/area/science/xenobiology) -"cAi" = ( -/turf/open/floor/circuit/killroom, -/area/science/xenobiology) -"cAj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cAk" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAm" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAn" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAo" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "RnD Server APC"; - areastring = "/area/science/server"; - pixel_y = 25 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAp" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAq" = ( -/obj/machinery/light_switch{ - pixel_y = -23 - }, -/obj/machinery/computer/robotics, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cAr" = ( -/obj/machinery/computer/card/minor/rd, -/obj/machinery/camera{ - c_tag = "Research Director's Office"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cAs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/light, -/obj/effect/landmark/xmastree/rdrod, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/hor) -"cAt" = ( -/turf/open/floor/plating, -/area/science/misc_lab) -"cAu" = ( -/obj/machinery/shieldwallgen{ - req_access = list(55) - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cAv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/chair/stool, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAx" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Xenobiology Killroom"; - dir = 1; - network = list("SS13","RD") - }, -/turf/open/floor/circuit/killroom, -/area/science/xenobiology) -"cAz" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/circuit/killroom, -/area/science/xenobiology) -"cAA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/circuit/killroom, -/area/science/xenobiology) -"cAB" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cAC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAD" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/misc_lab) -"cAF" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAG" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAH" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/device/destTagger, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAI" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/darkpurple/side, -/area/science/xenobiology) -"cAJ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plasteel/darkpurple/side, -/area/science/xenobiology) -"cAK" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/closed/wall, -/area/science/xenobiology) -"cAL" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cAM" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cAN" = ( -/obj/machinery/light/small, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cAO" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAP" = ( -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Research Director's Office APC"; - areastring = "/area/crew_quarters/heads/hor"; - pixel_y = 25 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cAQ" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cAR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/misc_lab) -"cAS" = ( -/obj/structure/window/reinforced, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cAT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/window{ - dir = 8; - icon_state = "right"; - name = "Research Delivery Chute"; - opacity = 1; - req_access_txt = "55" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/science/misc_lab) -"cAU" = ( -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cAV" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - target_temperature = 80; - dir = 2; - on = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cAW" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cAX" = ( -/obj/structure/closet/emcloset, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 14"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cAY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cAZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cBa" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 12"; - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cBb" = ( -/obj/structure/closet/emcloset, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 10"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cBc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cBd" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Docking Asteroid Hall 8"; - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cBe" = ( -/turf/closed/mineral, -/area/hallway/secondary/entry) -"cBf" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/device/radio/beacon, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBg" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/r_n_d/experimentor, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBh" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/window/westleft{ - name = "Containment Pen"; - req_access_txt = "55" - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBi" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Containment Pen"; - req_access_txt = "55" - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBj" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBk" = ( -/obj/machinery/autolathe, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/machinery/camera{ - c_tag = "Testing Lab"; - dir = 9; - network = list("SS13","RD") - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBl" = ( -/obj/structure/plasticflaps, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/science/misc_lab) -"cBm" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cBn" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cBo" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cBp" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cBq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cBr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cBs" = ( -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"cBt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cBu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cBv" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cBw" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Disposals Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"cBx" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cBy" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cBz" = ( -/turf/closed/wall/rust, -/area/hallway/secondary/entry) -"cBA" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cBB" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cBC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBD" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/computer/rdconsole/experiment, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBF" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBG" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Engines" - }, -/turf/open/floor/plating, -/area/shuttle/arrival) -"cBH" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cBI" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cBJ" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/hallway/secondary/entry) -"cBK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBL" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research Testing Containment"; - dir = 9; - network = list("SS13","RD") - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBM" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/science/misc_lab) -"cBN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/misc_lab) -"cBO" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBP" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Injector Toggle"; - on = 0 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBQ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBR" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBS" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cBT" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/arrival) -"cBU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cBV" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/hallway/secondary/entry) -"cBW" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/southwest) -"cBX" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/southwest) -"cBY" = ( -/turf/closed/wall, -/area/mine/unexplored{ - name = "Research Asteroid" - }) -"cBZ" = ( -/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner, -/turf/open/floor/plating, -/area/science/misc_lab) -"cCa" = ( -/obj/machinery/shieldwallgen{ - req_access = list(55) - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/science/misc_lab) -"cCb" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = -28 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cCc" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cCd" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cCe" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/science/misc_lab) -"cCf" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCg" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCh" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/arrival) -"cCi" = ( -/obj/docking_port/stationary{ - dir = 1; - dwidth = 4; - height = 17; - id = "arrivals_stationary"; - name = "arrivals"; - width = 9 - }, -/obj/docking_port/mobile/arrivals{ - dir = 1; - dwidth = 4; - height = 17; - width = 9 - }, -/turf/closed/wall/mineral/titanium, -/area/shuttle/arrival) -"cCj" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/southeast) -"cCk" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/southeast) -"cCl" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/southwest) -"cCm" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCn" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "47" - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cCo" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCp" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCr" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cCs" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/external/southeast) -"cCt" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cCu" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/external/southwest) -"cCv" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCx" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Testing Lab APC"; - areastring = "/area/science/misc_lab"; - pixel_y = 25 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCy" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCA" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCB" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/poppy, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCC" = ( -/obj/machinery/light/small, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cCD" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/hallway/secondary/entry) -"cCE" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"cCF" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"cCG" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/external/southeast) -"cCH" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "South-Eastern External Waste Belt APC"; - areastring = "/area/maintenance/asteroid/disposal/external/southeast"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cCI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/wirecutters, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cCJ" = ( -/obj/machinery/disposal/deliveryChute, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cCK" = ( -/obj/machinery/conveyor/auto, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cCL" = ( -/obj/structure/rack, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southwest) -"cCM" = ( -/obj/effect/turf_decal/stripes/end, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "South-Western External Waste Belt APC"; - areastring = "/area/maintenance/asteroid/disposal/external/southwest"; - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cCN" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/asteroid/line, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cCP" = ( -/obj/structure/closet, -/obj/item/seeds/random, -/obj/item/seeds/chili, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCQ" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cCR" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cCS" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cCT" = ( -/obj/machinery/light/small, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cCU" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cCV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cCW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cCX" = ( -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cCY" = ( -/obj/machinery/conveyor/auto, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cCZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southwest) -"cDa" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southwest) -"cDb" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southwest) -"cDe" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cDf" = ( -/obj/structure/table, -/obj/item/cultivator, -/obj/item/seeds/banana, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cDg" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cDh" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cDi" = ( -/obj/structure/grille/broken, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cDj" = ( -/obj/effect/turf_decal/stripes/line, -/obj/item/wrench, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cDk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cDl" = ( -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cDm" = ( -/obj/machinery/conveyor/auto{ - dir = 9; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDn" = ( -/obj/machinery/conveyor/auto{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southwest) -"cDp" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDq" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDr" = ( -/obj/machinery/light/small, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDz" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cDA" = ( -/obj/structure/table, -/obj/item/weldingtool/mini, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cDB" = ( -/obj/item/chair, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cDC" = ( -/obj/machinery/conveyor/auto{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cDD" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cDE" = ( -/obj/machinery/conveyor/auto{ - dir = 10; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cDF" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDG" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"cDL" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cDM" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/external/southeast) -"cDN" = ( -/obj/machinery/light/small, -/obj/machinery/conveyor/auto{ - dir = 9; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDO" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southwest) -"cDP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/southwest) -"cDQ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/disposaloutlet{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/southwest) -"cEb" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/external/southeast) -"cEc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/external/southeast) -"cEd" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cEe" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/external/southeast) -"cEj" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cEl" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_s"; - name = "south of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"cEm" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/r_wall, -/area/ai_monitored/turret_protected/ai) -"cEn" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/ai_monitored/turret_protected/ai) -"cEo" = ( -/obj/machinery/door/airlock/security{ - id_tag = "laborexit"; - name = "Labor Shuttle"; - req_access = null; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"cEr" = ( -/obj/machinery/door/window/brigdoor/security/cell/westleft{ - id = "Cell 3"; - name = "Cell Door 3" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"cEt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/brig) -"cEu" = ( -/obj/machinery/newscaster/security_unit{ - pixel_x = 32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"cEv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 8 - }, -/area/security/armory) -"cEw" = ( -/obj/structure/rack, -/obj/item/gun/energy/laser{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/energy/laser, -/obj/item/gun/energy/laser{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"cEx" = ( -/turf/open/floor/plasteel/black, -/area/security/armory) -"cEy" = ( -/turf/open/floor/plasteel/darkred/side{ - dir = 8 - }, -/area/security/armory) -"cEz" = ( -/obj/structure/rack, -/obj/item/gun/energy/e_gun{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/energy/e_gun, -/obj/item/gun/energy/e_gun{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"cEA" = ( -/mob/living/simple_animal/bot/secbot/beepsky{ - desc = "It's Officer Gunsky, the most rootin'-tootin'-point-and shootin' security bot on this side of the galaxy!"; - name = "Officer Gunsky" - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"cEB" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/security/armory) -"cEC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"cED" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/heads/captain) -"cEE" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/dorms/female) -"cEG" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cEH" = ( -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cEI" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/bridge) -"cEK" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"cEL" = ( -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"cEN" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hop) -"cEO" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hop) -"cEP" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/brig) -"cEQ" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/locker) -"cER" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/brig) -"cES" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"cEU" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Service"; - location = "CommandWest"; - name = "navigation beacon (Command-West)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"cEV" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/hallway/primary/starboard/fore) -"cEW" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/teleporter/quantum/security) -"cEX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"cEY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"cEZ" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/rehab_dome) -"cFa" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/crew_quarters/rehab_dome) -"cFb" = ( -/obj/machinery/hydroponics/soil, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_x = 32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"cFc" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"cFd" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/bar) -"cFe" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/kitchen) -"cFf" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/hallway/primary/starboard) -"cFg" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringWest2"; - location = "EngineeringWest"; - name = "navigation beacon (Engineering-West)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cFh" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/sign/poster/random{ - name = "random official poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/official - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"cFi" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/machinery/newscaster{ - pixel_x = 28 - }, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"cFj" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EngineeringMiddle2"; - location = "EngineeringWest3"; - name = "navigation beacon (Engineering-West 3)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cFk" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cFl" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Medbay2"; - location = "Medbay"; - name = "navigation beacon (Medbay)" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"cFm" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Cargo"; - location = "Medbay2"; - name = "navigation beacon (Medbay-2)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"cFp" = ( -/turf/open/space/basic, -/area/space) -"cFq" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/medical/medbay/central) -"cFr" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Research"; - location = "Service"; - name = "navigation beacon (Service)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"cFs" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/hallway/primary/central) -"cFt" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/storage/primary) -"cFu" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/medical/chemistry) -"cFv" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/medical/genetics) -"cFw" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/ai_status_display, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cFx" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/closet/secure_closet/medical3, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/medical/medbay/zone2) -"cFy" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/window/southleft{ - name = "Medbay Mail Chute"; - req_access_txt = "45" - }, -/turf/open/floor/plating, -/area/medical/medbay/zone2) -"cFz" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - dir = 4; - freq = 1400; - location = "Medbay" - }, -/obj/machinery/door/window/eastleft{ - req_access_txt = "45" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/medical/medbay/zone2) -"cFA" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/medical/genetics) -"cFB" = ( -/turf/closed/wall/r_wall, -/area/maintenance/asteroid/central) -"cFC" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"cFD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "Engineering" - }, -/turf/open/floor/plating, -/area/engine/engine_smes) -"cFE" = ( -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/engine/engine_smes) -"cFF" = ( -/obj/machinery/ai_status_display, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/chapel/main) -"cFG" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/crew_quarters/fitness) -"cFH" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Chapel Office APC"; - areastring = "/area/chapel/office"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/chapel/office) -"cFI" = ( -/obj/machinery/door/window/westleft{ - req_access_txt = "22" - }, -/turf/open/floor/plating, -/area/chapel/office) -"cFJ" = ( -/obj/structure/plasticflaps{ - name = "Officer Pipsqueak's Home" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cFK" = ( -/obj/structure/bed/dogbed, -/mob/living/simple_animal/bot/secbot/beepsky/jr, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cFL" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'WARNING: FUN-SIZED JUSTICE'."; - name = "WARNING: FUN-SIZED JUSTICE"; - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"cFM" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/hallway/secondary/exit) -"cFN" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/hallway/primary/aft) -"cFO" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/escape{ - dir = 8 - }, -/area/hallway/secondary/exit) -"cFP" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=ArrivalsWest"; - location = "Research"; - name = "navigation beacon (Research)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cFQ" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=Departures"; - location = "ArrivalsWest"; - name = "navigation beacon (Arrivals-West)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cFR" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cFS" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/science/robotics/mechbay) -"cFT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cFU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=ArrivalsMiddle"; - location = "Departures"; - name = "navigation beacon (Departures)" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cFV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"cFW" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/hallway/secondary/entry) -"cFX" = ( -/obj/structure/table, -/obj/item/retractor, -/obj/item/hemostat, -/obj/item/circular_saw, -/obj/item/scalpel, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) -"cFY" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/shuttle/arrival) -"cFZ" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/mineral/titanium, -/area/shuttle/arrival) -"cGa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cGb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cGc" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "Science" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/science/misc_lab) -"cGd" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/science/misc_lab) -"cGg" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"cGh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cGi" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cGj" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"cGk" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/toilet) -"cGn" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"cGp" = ( -/obj/effect/landmark/start/janitor, -/turf/open/floor/plasteel, -/area/janitor) -"cGq" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"cGr" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/assistant, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"cGs" = ( -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel, -/area/medical/surgery) -"cGt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"cGu" = ( -/obj/item/pen, -/obj/item/storage/firstaid/regular, -/obj/structure/table/glass, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"cGv" = ( -/obj/effect/landmark/start/botanist, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"cGw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"cGx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"cGy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"cGz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cGA" = ( -/obj/structure/stacklifter, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"cGB" = ( -/obj/structure/chair/comfy/black{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/grimy, -/area/library/lounge) -"cGC" = ( -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cGD" = ( -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/zone2) -"cGE" = ( -/obj/structure/weightlifter, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness) -"cGF" = ( -/obj/machinery/pipedispenser/disposal/transit_tube, -/turf/open/floor/plasteel/yellow/corner{ - dir = 4 - }, -/area/engine/atmos) -"cGG" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/grimy, -/area/library) -"cGH" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/central) -"cGI" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"cGJ" = ( -/obj/machinery/droneDispenser/preloaded, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cGK" = ( -/obj/structure/rack, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cGL" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cGM" = ( -/obj/structure/rack, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cGN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Drone Dispensary"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cGO" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/escape{ - dir = 8 - }, -/area/hallway/secondary/exit) -"cGP" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"cGQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cGR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cGS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"cGT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cGU" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cGV" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"cGW" = ( -/obj/effect/landmark/start/scientist, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"cHa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"cHb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"cHc" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"cHe" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "innerbrig"; - name = "Brig"; - req_access_txt = "0"; - req_one_access_txt = "38;63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red, -/area/security/brig) -"cHf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/brig) -"cHg" = ( -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/brig) -"cHh" = ( -/obj/structure/table, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/brig) -"cHk" = ( -/obj/structure/table/reinforced, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/door/window/brigdoor/westright{ - name = "Brig Entry Desk"; - req_access_txt = "63" - }, -/turf/open/floor/plasteel/red, -/area/security/brig) -"cHl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"cHm" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"cHn" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "outterbrig"; - name = "Brig"; - req_access_txt = "0"; - req_one_access_txt = "38;63" - }, -/turf/open/floor/plasteel/red, -/area/security/brig) -"cHp" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"cHq" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/deliveryChute{ - desc = "A chute for big and small criminals alike!"; - dir = 1; - name = "Criminal Delivery Chute" - }, -/obj/machinery/door/window/brigdoor/northleft{ - name = "Criminal Deposit"; - req_access_txt = "2" - }, -/turf/open/floor/plating, -/area/security/checkpoint/supply) -"cHr" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel, -/area/security/brig) -"cHs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 4 - }, -/area/security/brig) -"cHt" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"cHu" = ( -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"cHv" = ( -/obj/machinery/camera{ - c_tag = "Brig Lobby East"; - dir = 9; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"cHw" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/checkpoint/supply) -"cHz" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"cHA" = ( -/obj/structure/grille/broken, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"cHB" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"cHD" = ( -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/brig) -"cHG" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/brig) -"cHJ" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/brig) -"cHM" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"cHO" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"cHQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 3"; - dir = 6 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"cHR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"cHS" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"cHT" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"cHV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cHW" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"cHX" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/fore) -"cHY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/fore) -"cHZ" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/fore) -"cIa" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"cIb" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"cIc" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/janitor) -"cId" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/janitor) -"cIe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"cIf" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"cIg" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/janitor) -"cIh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/janitor) -"cIi" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/janitor) -"cIj" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"cIk" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cIl" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"cIm" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"cIn" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cIo" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cIp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"cIq" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/central) -"cIr" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"cIs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/central) -"cIt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"cIu" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cIv" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/hallway/primary/central) -"cIw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"cIx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/rehab_dome) -"cIy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/rehab_dome) -"cIz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/central) -"cIA" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/central) -"cIB" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/central) -"cIC" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/central) -"cID" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/ai_monitored/storage/eva) -"cIE" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/ai_monitored/storage/eva) -"cIF" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/ai_monitored/storage/eva) -"cIG" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/crew_quarters/rehab_dome) -"cIH" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/hallway/primary/central) -"cII" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"cIJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cIK" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"cIL" = ( -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/central) -"cIM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/checkpoint/medical) -"cIN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cIO" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"cIP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cIQ" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"cIR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/arrival/corner, -/area/hallway/primary/starboard) -"cIS" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/checkpoint/medical) -"cIT" = ( -/turf/open/floor/plasteel, -/area/security/checkpoint/medical) -"cIU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/checkpoint/medical) -"cIV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/medical) -"cIW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/green/corner{ - dir = 8 - }, -/area/hydroponics) -"cIX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hydroponics) -"cIY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/green/corner, -/area/hydroponics) -"cIZ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hydroponics) -"cJa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/medical) -"cJb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/medical) -"cJc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/medical) -"cJd" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/engine/break_room) -"cJe" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/engine/break_room) -"cJf" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/engine/break_room) -"cJg" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/security/checkpoint/engineering) -"cJh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/security/checkpoint/engineering) -"cJi" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/security/checkpoint/engineering) -"cJj" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/deliveryChute{ - desc = "A chute for big and small criminals alike!"; - dir = 8; - name = "Criminal Delivery Chute" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/door/window/brigdoor/westleft{ - name = "Criminal Deposit"; - req_access_txt = "2" - }, -/turf/open/floor/plating, -/area/security/checkpoint/engineering) -"cJk" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/security/checkpoint/engineering) -"cJl" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/hydroponics) -"cJm" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/library) -"cJn" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/hallway/primary/port) -"cJo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/chapel/main) -"cJp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"cJq" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/port) -"cJr" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/port) -"cJs" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"cJt" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJu" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJv" = ( -/obj/machinery/ai_status_display, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJw" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Arrival Security Checkpoint APC"; - areastring = "/area/security/checkpoint/checkpoint2"; - pixel_y = -24 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cJx" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cJy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/teleporter) -"cJz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/checkpoint/checkpoint2) -"cJA" = ( -/obj/machinery/disposal/deliveryChute{ - desc = "A chute for big and small criminals alike!"; - name = "Criminal Delivery Chute" - }, -/obj/machinery/door/window/brigdoor{ - name = "Criminal Deposit"; - req_access_txt = "2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"cJB" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJD" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJE" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/teleporter) -"cJF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"cJG" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"cJH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cJI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cJJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"cJK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"cJL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/corner{ - dir = 4 - }, -/area/hallway/secondary/entry) -"cJM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/teleporter) -"cJN" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/teleporter) -"cJO" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/closed/wall, -/area/science/robotics/mechbay) -"cJP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/science/research) -"cJQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/science/research) -"cJR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/science/lab) -"cJS" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cJT" = ( -/obj/machinery/ai_status_display, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJU" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/hallway/primary/aft) -"cJV" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/science/robotics/mechbay) -"cJW" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/science/research) -"cJX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hor) -"cJY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/checkpoint/science) -"cJZ" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/crew_quarters/heads/hor) -"cKa" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/crew_quarters/heads/hor) -"cKb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/science/misc_lab) -"cKc" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/deliveryChute{ - desc = "A chute for big and small criminals alike!"; - dir = 1; - name = "Criminal Delivery Chute" - }, -/obj/machinery/door/window/brigdoor/northleft{ - name = "Criminal Deposit"; - req_access_txt = "2" - }, -/turf/open/floor/plating, -/area/science/misc_lab) -"cKd" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/turf/open/floor/plasteel/freezer, -/area/medical/virology) -"cKe" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/virology) -"cKf" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/medical/virology) -"cKg" = ( -/obj/structure/sign/bluecross_2, -/turf/closed/wall, -/area/medical/medbay/central) -"cKh" = ( -/obj/structure/sign/bluecross_2, -/turf/closed/wall, -/area/medical/genetics/cloning) -"cKi" = ( -/mob/living/carbon/monkey, -/turf/open/floor/grass, -/area/medical/genetics) -"cKj" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/grass, -/area/medical/genetics) -"cKk" = ( -/obj/structure/sign/bluecross_2, -/turf/closed/wall, -/area/medical/medbay/zone2) -"cKl" = ( -/obj/structure/flora/tree/palm, -/obj/machinery/camera{ - c_tag = "Genetics Monkey Dome"; - dir = 9 - }, -/turf/open/floor/grass, -/area/medical/genetics) -"cKm" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/light, -/turf/open/floor/grass, -/area/medical/genetics) -"cKn" = ( -/obj/structure/urinal{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"cKo" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/hallway/secondary/entry) -"cKp" = ( -/obj/structure/sign/poster/official/pda_ad{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"cKq" = ( -/obj/machinery/pdapainter, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"cKr" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cKs" = ( -/turf/open/floor/plating, -/area/engine/engineering) -"cKt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/components/trinary/filter/critical{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"cKu" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cKv" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 10 - }, -/area/science/mixing) -"cKw" = ( -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/science/mixing) -"cKx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"cKy" = ( -/obj/structure/closet/l3closet/scientist{ - pixel_x = -2 - }, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"cKz" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "47" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cKA" = ( -/obj/item/clothing/head/sombrero/shamebrero, -/turf/open/floor/plating/asteroid/airless, -/area/space) -"cKB" = ( -/obj/structure/sign/poster/contraband/borg_fancy_1{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/black, -/area/ai_monitored/turret_protected/aisat/hallway) -"cKD" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cKF" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKG" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"cKH" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cKI" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKJ" = ( -/turf/closed/wall/r_wall, -/area/security/armory) -"cKL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKM" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKN" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKO" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKP" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"cKQ" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"cKR" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cKS" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKT" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKV" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"cKW" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cKY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"cKZ" = ( -/turf/closed/wall/rust, -/area/security/prison) -"cLa" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"cLb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cLc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cLf" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"cLg" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"cLh" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/closet, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"cLi" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"cLj" = ( -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cLk" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"cLl" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cLm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/obj/machinery/door/airlock/glass_command{ - cyclelinkeddir = null; - name = "Bridge"; - req_access_txt = "19"; - req_one_access = null; - req_one_access_txt = "0" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"cLn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/obj/machinery/door/airlock/glass_command{ - cyclelinkeddir = null; - name = "Bridge"; - req_access_txt = "19"; - req_one_access = null; - req_one_access_txt = "0" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"cLo" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cLp" = ( -/obj/structure/closet/firecloset/full, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"cLq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/camera{ - c_tag = "Cargo Hall West"; - dir = 1; - network = list("SS13","QM") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cLr" = ( -/turf/closed/wall, -/area/quartermaster/qm) -"cLs" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "qmoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/qm) -"cLt" = ( -/obj/machinery/door/airlock/glass_mining{ - name = "Quartermaster's Office"; - req_access_txt = "41"; - req_one_access_txt = "0" - }, -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "qmoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/quartermaster/qm) -"cLv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/quartermaster/qm) -"cLw" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/spawner/lootdrop/costume, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"cLx" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/brown{ - dir = 9; - icon_state = "brown" - }, -/area/quartermaster/qm) -"cLy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/brown{ - dir = 1 - }, -/area/quartermaster/qm) -"cLz" = ( -/turf/open/floor/plasteel/brown{ - dir = 1 - }, -/area/quartermaster/qm) -"cLA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/brown{ - dir = 5; - icon_state = "brown" - }, -/area/quartermaster/qm) -"cLB" = ( -/turf/closed/wall, -/area/security/detectives_office) -"cLC" = ( -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Quartermaster's Office APC"; - areastring = "/area/quartermaster/qm"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"cLD" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/brown{ - dir = 8; - icon_state = "brown" - }, -/area/quartermaster/qm) -"cLE" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/folder, -/obj/item/clipboard, -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLF" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/fourcolor, -/obj/item/stamp/qm, -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLG" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/brown{ - dir = 4; - icon_state = "brown" - }, -/area/quartermaster/qm) -"cLI" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cLJ" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"cLK" = ( -/obj/structure/closet/secure_closet/quartermaster, -/obj/machinery/button/door{ - id = "qmoffice"; - name = "Office Emergency Lockdown"; - pixel_x = -24 - }, -/turf/open/floor/plasteel/brown{ - dir = 8; - icon_state = "brown" - }, -/area/quartermaster/qm) -"cLL" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLM" = ( -/obj/machinery/computer/cargo, -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLN" = ( -/turf/open/floor/plasteel, -/area/quartermaster/qm) -"cLO" = ( -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Quartermaster RC"; - pixel_x = 30 - }, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/brown{ - dir = 4; - icon_state = "brown" - }, -/area/quartermaster/qm) -"cLP" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cLQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cLR" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"cLS" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/brown{ - dir = 10 - }, -/area/quartermaster/qm) -"cLT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Quartermaster's Office"; - dir = 1; - network = list("SS13","QM") - }, -/turf/open/floor/plasteel/brown, -/area/quartermaster/qm) -"cLU" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/brown, -/area/quartermaster/qm) -"cLV" = ( -/turf/open/floor/plasteel/brown, -/area/quartermaster/qm) -"cLW" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/brown{ - dir = 6 - }, -/area/quartermaster/qm) -"cLX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"cLZ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cMa" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"cMb" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Fore Asteroid Hallway APC"; - areastring = "/area/hallway/primary/fore"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"cMc" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"cMd" = ( -/obj/structure/sign/biohazard{ - desc = "A sign stating that there are better, more efficient methods of suicide that don't cause extra work for security and the janitor. Volunteer to be miner bait, be voluntary specimen for Research, or just find your nearest external airlock! "; - name = "SUICIDE HOPLINE ISN'T THE WAY!"; - pixel_y = 32 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 1 - }, -/area/crew_quarters/heads/hop) -"cMe" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"cMf" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"cMg" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"cMh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"cMi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"cMj" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"cMk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"cMl" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"cMm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"cMn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"cMo" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/cargo_south) -"cMp" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMq" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMr" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMs" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMt" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMu" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cMv" = ( -/obj/machinery/camera{ - c_tag = "Service SMES"; - dir = 6; - network = list("SS13","QM") - }, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMw" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Port Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/port/west"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMx" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMy" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMz" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cMA" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMB" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMC" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cME" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/chair/stool, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMF" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/computer/station_alert, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMG" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cMH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMI" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMJ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMK" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cML" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMM" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"cMN" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMO" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cMP" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMQ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMR" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMS" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/sign/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/port/west) -"cMT" = ( -/turf/closed/wall, -/area/crew_quarters/theatre) -"cMU" = ( -/obj/structure/table, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/starboard) -"cMV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMX" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cMY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cMZ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cNa" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/baguette, -/obj/structure/sign/poster/official/the_owl{ - pixel_y = 32 - }, -/obj/machinery/camera{ - c_tag = "Theatre Backstage"; - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"cNb" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"cNc" = ( -/obj/machinery/vending/autodrobe, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"cNd" = ( -/obj/structure/table/wood, -/obj/item/device/instrument/guitar, -/obj/item/device/instrument/violin, -/obj/machinery/camera{ - c_tag = "Theatre Stage"; - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNe" = ( -/obj/machinery/light_switch{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNf" = ( -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNg" = ( -/obj/machinery/door/window/eastright{ - name = "Theatre Stage" - }, -/turf/open/floor/plasteel/stage_left, -/area/crew_quarters/theatre) -"cNh" = ( -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/crew_quarters/theatre) -"cNi" = ( -/obj/structure/chair/wood, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNk" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"cNm" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/rack, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cNn" = ( -/obj/structure/grille/broken, -/obj/item/stack/rods, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cNo" = ( -/obj/structure/table, -/obj/item/lipstick/random, -/obj/item/lipstick/random, -/obj/item/lipstick/random, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"cNp" = ( -/obj/effect/landmark/start/mime, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"cNq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/theatre) -"cNr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/theatre) -"cNs" = ( -/obj/structure/table/wood, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/obj/item/clothing/head/sombrero, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNt" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNu" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNv" = ( -/obj/structure/table/wood, -/obj/item/candle, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNw" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNx" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNy" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/theatre) -"cNz" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cNA" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cNB" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cNC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cND" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "46" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cNE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"cNF" = ( -/obj/effect/landmark/start/clown, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/theatre) -"cNG" = ( -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/theatre) -"cNH" = ( -/obj/machinery/door/airlock{ - name = "Theatre Backstage"; - req_access_txt = "46" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNJ" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNL" = ( -/obj/machinery/door/airlock/glass{ - name = "The Chuckle Den" - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNM" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cNN" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"cNO" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cNP" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cNQ" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cNR" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cNS" = ( -/obj/structure/closet/secure_closet/freezer/cream_pie, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/obj/item/reagent_containers/food/snacks/pie/cream, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/theatre) -"cNT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/closet/crate/wooden/toy, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/theatre) -"cNU" = ( -/obj/structure/table, -/obj/item/clothing/mask/pig, -/obj/item/clothing/mask/cowmask, -/obj/item/clothing/mask/cigarette/cigar/cohiba, -/obj/structure/sign/poster/contraband/the_griffin{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/clothing/mask/facehugger/toy, -/obj/item/clothing/mask/fakemoustache, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/theatre) -"cNV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/theatre) -"cNW" = ( -/obj/structure/piano, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNX" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"cNY" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cNZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cOa" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Theatre"; - dir = 1; - network = list("SS13") - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cOb" = ( -/obj/structure/table/wood, -/obj/item/candle, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cOc" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"cOd" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/theatre) -"cOe" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"cOg" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cOh" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/cmo) -"cOi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"cOj" = ( -/turf/closed/wall/r_wall, -/area/medical/patients_rooms) -"cOk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cOl" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cOm" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOn" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cOo" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Theatre APC"; - areastring = "/area/crew_quarters/theatre"; - pixel_y = 24 - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cOp" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOq" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"cOr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"cOs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"cOt" = ( -/obj/machinery/suit_storage_unit/cmo, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/heads/cmo) -"cOu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/sign/map/left/ceres{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOx" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cOy" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cOz" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOB" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOC" = ( -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"cOD" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/keycard_auth{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/heads/cmo) -"cOE" = ( -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOF" = ( -/obj/structure/table/glass, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOG" = ( -/obj/structure/table/glass, -/obj/item/clothing/neck/stethoscope, -/obj/item/folder, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/holopad, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOI" = ( -/turf/closed/wall/r_wall, -/area/medical/surgery) -"cOJ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOK" = ( -/obj/machinery/computer/card/minor/cmo, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Chief Medical Officer's Desk"; - departmentType = 5; - name = "Chief Medical Officer RC"; - pixel_x = -30 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/heads/cmo) -"cOL" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/chief_medical_officer, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOM" = ( -/obj/machinery/computer/med_data/laptop, -/obj/structure/table/glass, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cON" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cOP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"cOQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"cOR" = ( -/obj/structure/closet/secure_closet/personal/patient, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"cOS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/virology) -"cOT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/machinery/vending/medical, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"cOU" = ( -/obj/structure/table, -/obj/item/hand_labeler, -/obj/item/device/radio/headset/headset_med, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 1 - }, -/area/medical/virology) -"cOV" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/structure/sign/deathsposal{ - pixel_x = 32 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"cOW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cOX" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/hallway/primary/central) -"cOY" = ( -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/crew_quarters/heads/cmo) -"cOZ" = ( -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/stamp/cmo, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cPa" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"cPb" = ( -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"cPc" = ( -/obj/structure/closet, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cPd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/rust, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"cPe" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"cPf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"cPg" = ( -/obj/structure/closet/secure_closet/personal/patient, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"cPh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/virology) -"cPi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"cPj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/rust, -/area/maintenance/asteroid/starboard) -"cPk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/medical/medbay/central) -"cPl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"cPm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"cPn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cPo" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cPp" = ( -/obj/machinery/door/airlock/medical{ - name = "Morgue"; - req_access_txt = "0"; - req_one_access_txt = "5;9" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPr" = ( -/obj/structure/table, -/obj/item/folder, -/obj/machinery/camera{ - c_tag = "Morgue North"; - dir = 6 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"cPs" = ( -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Morgue APC"; - areastring = "/area/medical/morgue"; - pixel_y = 24 - }, -/obj/structure/table, -/obj/item/storage/box/bodybags, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"cPt" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cPv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/genetics/cloning) -"cPw" = ( -/obj/structure/bodycontainer/morgue, -/obj/effect/landmark/revenantspawn, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"cPx" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"cPy" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cPz" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPA" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"cPB" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cPD" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cPE" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"cPF" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cPG" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cPH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/genetics/cloning) -"cPI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/medical/morgue) -"cPJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPL" = ( -/obj/item/stack/rods, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cPM" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cPN" = ( -/obj/structure/bodycontainer/morgue, -/obj/machinery/camera{ - c_tag = "Morgue South"; - dir = 1; - network = list("SS13") - }, -/obj/effect/landmark/revenantspawn, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"cPO" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"cPP" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cPQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Morgue"; - req_access_txt = "5" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cPR" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cPS" = ( -/obj/structure/rack, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"cPT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cPU" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cPW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cPX" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cPZ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cQa" = ( -/obj/effect/landmark/start/station_engineer, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cQb" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"cQc" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cQd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQe" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"cQf" = ( -/obj/structure/sign/enginesafety{ - pixel_y = -32 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"cQg" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/engine/engineering) -"cQh" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cQk" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cQl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"cQm" = ( -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"cQn" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/door/airlock/glass_engineering{ - name = "Chief Engineer's Office"; - req_access_txt = "56" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQo" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/engineering) -"cQp" = ( -/obj/structure/grille/broken, -/obj/item/stack/rods, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"cQq" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cQr" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cQs" = ( -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cQt" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/west) -"cQu" = ( -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQv" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/paper/monitorkey, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/mob/living/simple_animal/parrot/Poly, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQw" = ( -/obj/item/cartridge/engineering{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/cartridge/engineering{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/cartridge/engineering{ - pixel_x = 3 - }, -/obj/structure/table/reinforced, -/obj/machinery/light_switch{ - pixel_x = 27 - }, -/obj/item/cartridge/atmos, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQx" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cQy" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cQz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"cQA" = ( -/obj/item/stack/rods, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQC" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQD" = ( -/obj/structure/table/reinforced, -/obj/item/clipboard, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/twohanded/rcl/pre_loaded, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQE" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQG" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQI" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cQJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cQK" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/stamp/ce, -/obj/item/pen, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQL" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cQM" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"cQN" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cQO" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"cQQ" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"cQR" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQS" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"cQT" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQU" = ( -/obj/structure/closet/emcloset, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQV" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQW" = ( -/obj/structure/girder, -/obj/item/stack/rods, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cQX" = ( -/obj/structure/rack, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"cQY" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cQZ" = ( -/obj/structure/grille/broken, -/obj/item/stack/rods, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRa" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cRb" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"cRc" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRd" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRe" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cRf" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRg" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRh" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cRi" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cRj" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cRk" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRl" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRm" = ( -/obj/structure/table, -/obj/item/reagent_containers/syringe/charcoal, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRn" = ( -/obj/structure/table, -/obj/item/clothing/mask/muzzle, -/obj/item/clothing/glasses/sunglasses/blindfold, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cRp" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"cRq" = ( -/turf/closed/wall/rust, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"cRr" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cRs" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRt" = ( -/obj/machinery/camera{ - c_tag = "Aux Base Construction North"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"cRu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRv" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRw" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRx" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/arrivals) -"cRy" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRz" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cRA" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cRB" = ( -/obj/machinery/camera{ - c_tag = "Aux Base Construction South"; - dir = 6 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"cRC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRE" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRF" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRG" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRH" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cRI" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRJ" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRK" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRL" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cRM" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRN" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRP" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/stack/rods, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cRR" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/arrivals) -"cRS" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRT" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRU" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/arrivals) -"cRV" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"cRW" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cRX" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cRY" = ( -/obj/item/stack/rods, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cRZ" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSa" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"cSc" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cSd" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"cSe" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/turf/open/floor/plasteel, -/area/science/storage) -"cSf" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/plasteel, -/area/science/storage) -"cSg" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/power/apc{ - dir = 1; - name = "Toxins Storage APC"; - areastring = "/area/science/storage"; - pixel_y = 25 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSh" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel, -/area/science/storage) -"cSi" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSj" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSk" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSm" = ( -/obj/machinery/camera{ - c_tag = "Toxins Storage"; - dir = 9; - network = list("SS13","RD") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"cSp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/storage) -"cSs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Storage"; - req_access_txt = "8" - }, -/turf/open/floor/plasteel/neutral, -/area/science/storage) -"cSt" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/plasteel, -/area/science/storage) -"cSu" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hor) -"cSv" = ( -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSw" = ( -/obj/structure/displaycase/labcage, -/obj/structure/sign/map/left/ceres{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSx" = ( -/obj/machinery/button/door{ - id = "researchlockdown"; - name = "Research Emergency Lockdown"; - pixel_x = -24 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "rdoffice"; - name = "Office Emergency Lockdown"; - pixel_x = -24; - pixel_y = -8 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSz" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSA" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cSB" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cSC" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cSD" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/hor) -"cSE" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen, -/obj/item/folder/white, -/obj/item/stamp/rd{ - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/hor) -"cSG" = ( -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Research Director's Desk"; - departmentType = 5; - name = "Research Director RC"; - pixel_x = -30 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSH" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/obj/effect/landmark/start/research_director, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSI" = ( -/obj/machinery/computer/mecha, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSJ" = ( -/obj/structure/rack, -/obj/item/device/paicard{ - pixel_x = 4 - }, -/obj/item/device/taperecorder{ - pixel_x = -3 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/hor) -"cSK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSL" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSM" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSN" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSO" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/keycard_auth{ - pixel_y = -28 - }, -/obj/structure/closet/secure_closet/RD, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cSP" = ( -/obj/structure/rack, -/obj/item/device/aicard, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/hor) -"cSQ" = ( -/turf/closed/wall, -/area/crew_quarters/heads/hor) -"cSR" = ( -/obj/structure/grille, -/turf/closed/wall/rust, -/area/maintenance/asteroid/aft/science) -"cSS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cST" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSU" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/obj/item/stack/rods, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cSV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSX" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cSZ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cTa" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cTb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/obj/item/stack/rods, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cTc" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cTd" = ( -/obj/machinery/light/small, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cTe" = ( -/obj/structure/table, -/obj/item/wrench, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cTf" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cTg" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille/broken, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cTh" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cTi" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cTj" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"cTk" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"cTl" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"cTm" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"cTn" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"cTo" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"cTp" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/airless/astplate, -/area/mine/unexplored{ - name = "Cargo Asteroid" - }) -"cTq" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/quartermaster/sorting) -"cTr" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Mail Chute"; - req_access_txt = "31" - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"cTs" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"cTt" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"cTu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/twohanded/required/kirbyplants/dead, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"cTv" = ( -/turf/closed/mineral, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTw" = ( -/turf/closed/wall/rust, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTx" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTy" = ( -/turf/closed/wall, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTz" = ( -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTA" = ( -/obj/structure/closet, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTB" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTC" = ( -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTD" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-20"; - light_color = "#E1E17D"; - light_range = 5; - luminosity = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTE" = ( -/obj/structure/bed, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTF" = ( -/obj/structure/sign/map/left/ceres{ - pixel_x = 32 - }, -/obj/structure/closet/crate/bin, -/obj/item/paper/crumpled/stations/cere/rocks1, -/obj/item/paper/crumpled/stations/cere/rocks2, -/obj/item/paper/crumpled/stations/cere/rocks3, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTG" = ( -/turf/closed/mineral/random/low_chance, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTH" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/paper/crumpled/stations/cere/empty_station, -/obj/item/paper/fluff/stations/cere/journal/journal, -/obj/item/paper/fluff/stations/cere/journal/journal_2, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTI" = ( -/obj/item/paper/crumpled/bloody/hop, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTJ" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTK" = ( -/obj/structure/table, -/obj/item/pen, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTL" = ( -/obj/structure/sign/map/left{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTM" = ( -/obj/structure/table, -/obj/structure/sign/map/right{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTN" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/plating, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTO" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"cTP" = ( -/obj/machinery/smartfridge/food, -/turf/open/floor/plating, -/area/crew_quarters/kitchen) -"cTQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/northleft{ - name = "Kitchen Pick-Up"; - req_access_txt = "28" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchen" - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"cTR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"cTS" = ( -/obj/machinery/plantgenes, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"cTT" = ( -/obj/machinery/r_n_d/circuit_imprinter, -/obj/machinery/requests_console{ - department = "Robotics"; - departmentType = 2; - name = "Robotics RC"; - pixel_y = 30 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"cTV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"cTW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"cTX" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"cTY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"cTZ" = ( -/obj/structure/closet/secure_closet/CMO, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/crew_quarters/heads/cmo) -"cUa" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix To Incinerator"; - on = 0 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUb" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUc" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUd" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUe" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUf" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUg" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Central Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUi" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUj" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUl" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUm" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUn" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUo" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUp" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUq" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUr" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUs" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUt" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUv" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUw" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUx" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUy" = ( -/turf/closed/wall, -/area/maintenance/disposal/incinerator) -"cUz" = ( -/turf/closed/wall/rust, -/area/maintenance/disposal/incinerator) -"cUA" = ( -/obj/machinery/door/airlock/atmos{ - name = "Turbine Access"; - req_access_txt = "32" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/maintenance/disposal/incinerator) -"cUB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Central Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cUD" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/sign/mining{ - pixel_y = -32 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cUE" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4; - name = "input gas connector port" - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "plasma tank pump" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUH" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/item/extinguisher, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUI" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/disposal/incinerator) -"cUJ" = ( -/obj/machinery/power/smes{ - capacity = 9e+006; - charge = 10000 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/plating, -/area/maintenance/disposal/incinerator) -"cUK" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUL" = ( -/obj/machinery/atmospherics/pipe/manifold4w/general{ - level = 2 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUM" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUN" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUO" = ( -/obj/machinery/airalarm/all_access{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "output gas connector port" - }, -/obj/machinery/portable_atmospherics/canister, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUP" = ( -/obj/structure/chair/stool, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Incinerator APC"; - areastring = "/area/maintenance/disposal/incinerator"; - pixel_x = -23; - pixel_y = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUQ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUR" = ( -/obj/machinery/atmospherics/components/binary/valve{ - name = "Mix to Space" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUT" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUU" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Incinerator to Output"; - on = 0 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUV" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUW" = ( -/obj/machinery/computer/turbine_computer{ - id = "incineratorturbine" - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUX" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUY" = ( -/obj/machinery/button/door{ - id = "auxincineratorvent"; - name = "Auxiliary Vent Control"; - pixel_x = 6; - pixel_y = -24; - req_access_txt = "32" - }, -/obj/machinery/button/door{ - id = "turbinevent"; - name = "Turbine Vent Control"; - pixel_x = -6; - pixel_y = -24; - req_access_txt = "32" - }, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cUZ" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4; - name = "Incinerator to Space" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cVa" = ( -/obj/machinery/doorButtons/airlock_controller{ - idExterior = "incinerator_airlock_exterior"; - idSelf = "incinerator_access_control"; - idInterior = "incinerator_airlock_interior"; - name = "Incinerator Access Console"; - pixel_x = 6; - pixel_y = -26; - req_access_txt = "12" - }, -/obj/machinery/button/ignition{ - id = "Incinerator"; - pixel_x = -6; - pixel_y = -24 - }, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"cVb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plating, -/area/maintenance/disposal/incinerator) -"cVc" = ( -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"cVd" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 2 - }, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"cVe" = ( -/obj/machinery/door/airlock/glass{ - autoclose = 0; - frequency = 1449; - heat_proof = 1; - icon_state = "door_locked"; - id_tag = "incinerator_airlock_interior"; - locked = 1; - name = "Turbine Interior Airlock"; - req_access_txt = "32" - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) -"cVf" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"cVg" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - name = "Incinerator Output Pump"; - on = 1 - }, -/turf/open/space, -/area/maintenance/disposal/incinerator) -"cVh" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 2; - on = 1 - }, -/obj/machinery/doorButtons/access_button{ - idDoor = "incinerator_airlock_exterior"; - idSelf = "incinerator_access_control"; - layer = 3.1; - name = "Incinerator airlock control"; - pixel_x = 8; - pixel_y = -24 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/sign/fire{ - pixel_x = -32 - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) -"cVi" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) -"cVj" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - on = 1 - }, -/obj/structure/sign/fire{ - pixel_x = 32 - }, -/obj/machinery/doorButtons/access_button{ - idSelf = "incinerator_access_control"; - idDoor = "incinerator_airlock_interior"; - name = "Incinerator airlock control"; - pixel_x = -8; - pixel_y = 24 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) -"cVk" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/space, -/area/maintenance/disposal/incinerator) -"cVl" = ( -/obj/machinery/door/airlock/glass{ - autoclose = 0; - frequency = 1449; - heat_proof = 1; - icon_state = "door_locked"; - id_tag = "incinerator_airlock_exterior"; - locked = 1; - name = "Turbine Exterior Airlock"; - req_access_txt = "32" - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) -"cVm" = ( -/obj/machinery/door/poddoor{ - id = "auxincineratorvent"; - name = "Auxiliary Incinerator Vent" - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVn" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1; - frequency = 1441; - id = "inc_in" - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVo" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/igniter{ - icon_state = "igniter0"; - id = "Incinerator"; - luminosity = 2; - on = 0 - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVp" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVr" = ( -/obj/machinery/power/compressor{ - comp_id = "incineratorturbine"; - dir = 1; - luminosity = 2 - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVs" = ( -/obj/machinery/power/turbine{ - luminosity = 2 - }, -/obj/structure/cable/yellow, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVt" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/disposal/incinerator) -"cVu" = ( -/obj/structure/sign/fire, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"cVv" = ( -/obj/machinery/door/poddoor{ - id = "turbinevent"; - name = "Turbine Vent" - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) -"cVw" = ( -/obj/item/ore/glass, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/security/execution/transfer) -"cVz" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Perma Storage" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"cVA" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"cVB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"cVC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "PCell 1"; - name = "Cell 1 Flash"; - pixel_x = 24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "isolation1"; - name = "Cell 1 Isolation"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "2"; - specialfunctions = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"cVD" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/security/prison) -"cVE" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/camera{ - c_tag = "Brig Perma Cell 1"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"cVF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"cVH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"cVI" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/closed/wall, -/area/security/prison) -"cVL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"cVM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "PCell 2"; - name = "Cell 2 Flash"; - pixel_x = 24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "isolation2"; - name = "Cell 2 Isolation"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "2"; - specialfunctions = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"cVO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/prison) -"cVP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/prison) -"cVR" = ( -/obj/structure/table, -/obj/machinery/computer/libraryconsole/bookmanagement, -/turf/open/floor/plating/astplate, -/area/security/prison) -"cVX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "PCell 5"; - name = "Cell 5 Flash"; - pixel_x = 24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "isolation5"; - name = "Cell 5 Isolation"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "2"; - specialfunctions = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"cVY" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "permabolt5"; - name = "Cell 5 Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"cWa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ceoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) -"cWb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/glass_engineering{ - name = "Chief Engineer's Office"; - req_access_txt = "56" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"cWc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ceoffice" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) -"cWd" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWe" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cWf" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/com_serv) -"cWg" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWh" = ( -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/com_serv) -"cWi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/com_engi) -"cWj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/com_engi) -"cWk" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"cWl" = ( -/obj/machinery/camera{ - c_tag = "Command-Service Bridge"; - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWm" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWn" = ( -/obj/machinery/camera{ - c_tag = "Command-Engineering Bridge"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cWo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/med_cargo) -"cWp" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc{ - dir = 8; - name = "Medical-Cargo Bridge APC"; - areastring = "/area/hallway/secondary/bridges/med_cargo"; - pixel_x = -25 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"cWq" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"cWr" = ( -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/med_cargo) -"cWs" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Command-Service Bridge APC"; - areastring = "/area/hallway/secondary/bridges/com_serv"; - pixel_x = -25 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWt" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWu" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWw" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cWx" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Medbay-Cargo Bridge"; - dir = 4 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"cWz" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"cWA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/serv_engi) -"cWB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/engi_med) -"cWC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWE" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cWF" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cWG" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWH" = ( -/obj/machinery/camera{ - c_tag = "Service-Engineering Bridge 1"; - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWI" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Service-Engineering Bridge APC"; - areastring = "/area/hallway/secondary/bridges/serv_engi"; - pixel_y = -24 - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWJ" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWK" = ( -/obj/machinery/camera{ - c_tag = "Service-Engineering Bridge 2"; - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/serv_engi) -"cWL" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"cWM" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"cWN" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cWO" = ( -/obj/machinery/camera{ - c_tag = "Medbay-Engineering Bridge"; - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cWP" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Engineering-Medical Bridge APC"; - areastring = "/area/hallway/secondary/bridges/engi_med"; - pixel_y = -24 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cWQ" = ( -/obj/machinery/camera{ - c_tag = "Medbay-Engineering Bridge 2"; - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/engi_med) -"cWR" = ( -/turf/closed/wall, -/area/hallway/secondary/bridges/serv_engi) -"cWS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/serv_engi) -"cWT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/engi_med) -"cWU" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cWV" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/dock_med) -"cWW" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cWX" = ( -/obj/machinery/camera{ - c_tag = "Docking-Medbay Bridge"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cWY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/dock_med) -"cWZ" = ( -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cXa" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Docking-Medical Bridge APC"; - areastring = "/area/hallway/secondary/bridges/dock_med"; - pixel_x = 24 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cXb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cXc" = ( -/obj/machinery/camera{ - c_tag = "Docking-Medbay Bridge 2"; - dir = 8; - network = list("SS13") - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cXd" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cXe" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cXf" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cXg" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"cXh" = ( -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/sci_dock) -"cXi" = ( -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXj" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXk" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXl" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"cXm" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"cXn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research-Docking Bridge 5"; - dir = 1; - network = list("SS13") - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research-Docking Bridge 2"; - dir = 1; - network = list("SS13") - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research-Docking Bridge 3"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Research-Docking Bridge 4"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cXs" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space) -"cXt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"cXu" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/grille, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"cXv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"cXw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"cXx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/cargo_ai) -"cXy" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/cargo_ai) -"cXA" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXB" = ( -/obj/machinery/camera{ - c_tag = "Core-Command-Cargo Bridge 1"; - dir = 8; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/cargo_ai) -"cXD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/cargo_ai) -"cXF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/cargo_ai) -"cXG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"cXH" = ( -/obj/machinery/camera{ - c_tag = "Core-Command-Cargo Bridge 2"; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXI" = ( -/obj/machinery/camera{ - c_tag = "Core-Command-Cargo Bridge 3"; - network = list("SS13") - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXJ" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Cargo-AI-Command Bridge APC"; - areastring = "/area/hallway/secondary/bridges/cargo_ai"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXK" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXL" = ( -/obj/machinery/camera{ - c_tag = "Core-Command-Cargo Bridge 3"; - network = list("SS13") - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXM" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"cXN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"cXO" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXP" = ( -/obj/machinery/light, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXQ" = ( -/obj/machinery/light/small, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/cargo_ai) -"cXS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"cXT" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cXU" = ( -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cXV" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_serv) -"cXW" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Command-Engineering Bridge APC"; - areastring = "/area/hallway/secondary/bridges/com_engi"; - pixel_x = 24 - }, -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cXX" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/com_engi) -"cXY" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/med_cargo) -"cXZ" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"cYa" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"cYb" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/central) -"cYc" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/dock_med) -"cYd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/serv_sci) -"cYe" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc{ - dir = 4; - name = "Service-Science Bridge APC"; - areastring = "/area/hallway/secondary/bridges/serv_sci"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"cYf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/serv_sci) -"cYg" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"cYh" = ( -/obj/effect/landmark/lightsout, -/turf/open/floor/engine, -/area/hallway/secondary/bridges/sci_dock) -"cYi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard/fore) -"cYj" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/closed/wall, -/area/maintenance/asteroid/fore/com_west) -"cYk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Cargo Hallway APC"; - areastring = "/area/hallway/primary/starboard/fore"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"cYl" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Cargo Hallway APC"; - areastring = "/area/maintenance/asteroid/fore/cargo_south"; - pixel_x = -23; - pixel_y = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/cargo_south) -"cYm" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"cYn" = ( -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"cYo" = ( -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"cYp" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/hallway/primary/port) -"cYq" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard) -"cYr" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/table/glass, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/sign/poster/official/safety_report{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"cYs" = ( -/obj/structure/displaycase/trophy, -/turf/open/floor/wood, -/area/library) -"cYt" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cYu" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/central) -"cYv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"cYw" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned) -"cYx" = ( -/obj/machinery/door/airlock/titanium{ - name = "mech bay external airlock" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/docking_port/mobile{ - dheight = 0; - dir = 2; - dwidth = 8; - height = 16; - id = "whiteship"; - launch_status = 0; - name = "NT Recovery White-Ship"; - port_angle = -90; - preferred_direction = 1; - roundstart_move = "whiteship_away"; - width = 16 - }, -/obj/docking_port/stationary{ - dir = 2; - dwidth = 8; - height = 16; - id = "whiteship_home"; - name = "SS13: Auxiliary Dock, Station-Port"; - width = 16 - }, -/turf/open/floor/plating, -/area/shuttle/abandoned) -"cYy" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned) -"cYz" = ( -/obj/machinery/mech_bay_recharge_port{ - icon_state = "recharge_port"; - dir = 2 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYA" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYB" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYC" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium, -/area/shuttle/abandoned) -"cYD" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYE" = ( -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned) -"cYF" = ( -/obj/structure/mecha_wreckage/ripley, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mech_bay_recharge_floor, -/area/shuttle/abandoned) -"cYG" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYH" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium, -/area/shuttle/abandoned) -"cYI" = ( -/obj/effect/spawner/lootdrop{ - loot = list(/obj/mecha/working/ripley/mining = 1, /obj/structure/mecha_wreckage/ripley = 5); - lootdoubles = 0; - name = "25% mech 75% wreckage ripley spawner" - }, -/turf/open/floor/mech_bay_recharge_floor, -/area/shuttle/abandoned) -"cYJ" = ( -/obj/machinery/computer/mech_bay_power_console, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYK" = ( -/obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYL" = ( -/obj/machinery/door/airlock/titanium{ - name = "mech bay" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYM" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/abandoned) -"cYN" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/structure/closet/crate{ - name = "spare equipment crate" - }, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYO" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYP" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYQ" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - name = "spare equipment crate"; - opened = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYR" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYS" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - name = "spare equipment crate"; - opened = 1 - }, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/storage/toolbox/emergency/old, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYT" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/abandoned) -"cYU" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "cerewhiteleft"; - name = "Cargo Blast Door Toggle"; - pixel_x = -24 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYV" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYW" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - name = "spare equipment crate"; - opened = 1 - }, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYX" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYY" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/structure/closet/crate{ - name = "spare equipment crate" - }, -/obj/item/stack/sheet/glass/fifty, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cYZ" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "cerewhiteright"; - name = "Cargo Blast Door Toggle"; - pixel_x = 24 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cZa" = ( -/obj/machinery/door/poddoor{ - id = "cerewhiteleft" - }, -/turf/open/floor/plating, -/area/shuttle/abandoned) -"cZb" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium, -/area/shuttle/abandoned) -"cZc" = ( -/obj/machinery/door/poddoor{ - id = "cerewhiteright" - }, -/turf/open/floor/plating, -/area/shuttle/abandoned) -"cZd" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/obj/item/crowbar, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkpurple, -/area/shuttle/escape) -"cZe" = ( -/obj/machinery/computer/aifixer, -/turf/open/floor/plasteel/darkpurple, -/area/shuttle/escape) -"cZf" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel/darkpurple, -/area/shuttle/escape) -"cZg" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZh" = ( -/obj/machinery/computer/card, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZi" = ( -/obj/machinery/computer/emergency_shuttle, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZj" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZk" = ( -/obj/structure/table, -/turf/open/floor/plasteel/darkyellow, -/area/shuttle/escape) -"cZl" = ( -/obj/machinery/computer/cargo/request, -/turf/open/floor/plasteel/darkyellow, -/area/shuttle/escape) -"cZm" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/storage/firstaid/o2, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkyellow, -/area/shuttle/escape) -"cZn" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/power/apc{ - dir = 8; - name = "Starboard Quarter Primary Hallway APC"; - areastring = "/area/hallway/primary/starboard/aft"; - pixel_x = -25; - pixel_y = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"cZo" = ( -/obj/structure/table, -/turf/open/floor/plasteel/darkblue, -/area/shuttle/escape) -"cZp" = ( -/turf/open/floor/plasteel/darkblue, -/area/shuttle/escape) -"cZq" = ( -/obj/structure/chair/comfy/beige{ - dir = 1 - }, -/turf/open/floor/plasteel/darkpurple, -/area/shuttle/escape) -"cZr" = ( -/turf/open/floor/plasteel/darkpurple, -/area/shuttle/escape) -"cZs" = ( -/obj/machinery/computer/station_alert, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZt" = ( -/obj/structure/chair/office/light{ - icon_state = "officechair_white"; - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZu" = ( -/obj/machinery/computer/communications, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZv" = ( -/turf/open/floor/plasteel/darkyellow, -/area/shuttle/escape) -"cZw" = ( -/obj/structure/chair/comfy/beige{ - dir = 1 - }, -/turf/open/floor/plasteel/darkyellow, -/area/shuttle/escape) -"cZx" = ( -/turf/open/floor/plasteel/darkred, -/area/shuttle/escape) -"cZy" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/plasteel/darkred, -/area/shuttle/escape) -"cZz" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/structure/closet/crate{ - name = "spare equipment crate" - }, -/obj/item/storage/toolbox/mechanical/old, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/item/clothing/glasses/welding, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cZA" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - name = "spare equipment crate"; - opened = 1 - }, -/obj/machinery/light, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cZB" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium, -/area/shuttle/abandoned) -"cZC" = ( -/obj/effect/turf_decal/delivery{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/machinery/light, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cZD" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/darkblue, -/area/shuttle/escape) -"cZE" = ( -/turf/open/floor/plasteel/darkpurple/side{ - dir = 1 - }, -/area/shuttle/escape) -"cZF" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZG" = ( -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZH" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZI" = ( -/turf/open/floor/plasteel/darkyellow/side{ - dir = 1 - }, -/area/shuttle/escape) -"cZJ" = ( -/obj/machinery/computer/security, -/turf/open/floor/plasteel/darkred, -/area/shuttle/escape) -"cZK" = ( -/obj/structure/ore_box, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cZL" = ( -/obj/machinery/door/airlock/titanium{ - name = "cockpit" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"cZM" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/structure/tank_dispenser/oxygen{ - layer = 2.7; - pixel_x = -1; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/abandoned) -"cZN" = ( -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/darkblue, -/area/shuttle/escape) -"cZO" = ( -/obj/structure/chair/comfy/beige{ - dir = 8 - }, -/turf/open/floor/plasteel/darkblue, -/area/shuttle/escape) -"cZP" = ( -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"cZQ" = ( -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, -/area/shuttle/escape) -"cZR" = ( -/obj/structure/chair/comfy/beige{ - dir = 4 - }, -/turf/open/floor/plasteel/darkred, -/area/shuttle/escape) -"cZS" = ( -/obj/machinery/computer/secure_data, -/turf/open/floor/plasteel/darkred, -/area/shuttle/escape) -"cZT" = ( -/obj/structure/table, -/obj/item/device/gps{ - gpstag = "NTCONST1"; - pixel_x = -1; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"cZU" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"cZV" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"cZW" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"cZX" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/storage/firstaid/regular, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"cZY" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"cZZ" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"daa" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, -/area/shuttle/escape) -"dab" = ( -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/plasteel/darkred, -/area/shuttle/escape) -"dac" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"dad" = ( -/obj/machinery/door/airlock/glass{ - name = "Emergency Shuttle Cockpit"; - req_access_txt = "19" - }, -/turf/open/floor/plasteel/black, -/area/shuttle/escape) -"dae" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"daf" = ( -/obj/structure/chair/comfy/black, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"dag" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"dah" = ( -/obj/structure/chair, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 5; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"dai" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/shuttle/escape) -"daj" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/shuttle/escape) -"dak" = ( -/obj/machinery/mech_bay_recharge_port{ - icon_state = "recharge_port"; - dir = 2 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dal" = ( -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dam" = ( -/obj/structure/table, -/obj/item/phone{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"dan" = ( -/obj/machinery/computer/shuttle/white_ship, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"dao" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/abandoned) -"dap" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"daq" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/flasher{ - id = "shuttle_flasher"; - pixel_x = 24; - pixel_y = 6 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dar" = ( -/obj/machinery/button/flasher{ - id = "shuttle_flasher"; - pixel_x = -24; - pixel_y = -6 - }, -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 8; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) -"das" = ( -/turf/open/floor/mineral/plastitanium/brig{ - dir = 4; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) -"dat" = ( -/turf/open/floor/mech_bay_recharge_floor, -/area/shuttle/escape) -"dau" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dav" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Emergency Shuttle Brig"; - req_access_txt = "2" - }, -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkredfull" - }, -/area/shuttle/escape) -"daw" = ( -/obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dax" = ( -/turf/open/floor/mineral/plastitanium/brig{ - icon_state = "darkred"; - dir = 2; - floor_tile = /obj/item/stack/tile/plasteel - }, -/area/shuttle/escape) -"day" = ( -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/brown{ - dir = 8 - }, -/area/shuttle/escape) -"daz" = ( -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daA" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - icon_state = "warningline"; - dir = 1 - }, -/obj/structure/closet, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - dir = 4 - }, -/area/shuttle/escape) -"daB" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 6; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) -"daC" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Cargo" - }, -/turf/open/floor/plasteel/darkyellow, -/area/shuttle/escape) -"daD" = ( -/turf/open/floor/plasteel/brown{ - dir = 8 - }, -/area/shuttle/escape) -"daE" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daF" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/brown{ - dir = 4 - }, -/area/shuttle/escape) -"daG" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daH" = ( -/obj/structure/table, -/obj/item/storage/box/cups, -/obj/item/device/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_y = 27 - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daI" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daJ" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daK" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/obj/item/storage/box/donkpockets, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daL" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32; - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daM" = ( -/turf/open/floor/plasteel/brown{ - dir = 10 - }, -/area/shuttle/escape) -"daN" = ( -/turf/open/floor/plasteel/brown, -/area/shuttle/escape) -"daO" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/brown, -/area/shuttle/escape) -"daP" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/closet, -/turf/open/floor/plasteel/brown{ - dir = 6 - }, -/area/shuttle/escape) -"daQ" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daR" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/shuttle/escape) -"daS" = ( -/turf/open/floor/plasteel/neutral/side, -/area/shuttle/escape) -"daT" = ( -/obj/item/device/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_y = 27 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daU" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daV" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daW" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"daX" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daY" = ( -/obj/structure/sign/bluecross_2{ - pixel_x = 32; - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"daZ" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/shuttle/escape) -"dba" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21"; - layer = 4.1 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dbb" = ( -/obj/machinery/door/airlock/glass_medical{ - name = "Emergency Shuttle Medbay" - }, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbc" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/shuttle/escape) -"dbd" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dbe" = ( -/mob/living/simple_animal/bot/medbot{ - name = "Speedy* Recovery" - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 9 - }, -/area/shuttle/escape) -"dbf" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbg" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbh" = ( -/obj/machinery/atmospherics/components/unary/cryo_cell, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbi" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbj" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/item/wrench, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 5 - }, -/area/shuttle/escape) -"dbk" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"dbl" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/shuttle/escape) -"dbm" = ( -/turf/open/floor/plasteel/white, -/area/shuttle/escape) -"dbn" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/shuttle/escape) -"dbo" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/plasteel/white, -/area/shuttle/escape) -"dbp" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/shuttle/escape) -"dbq" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/shuttle/escape) -"dbr" = ( -/obj/machinery/sleeper{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 5 - }, -/area/shuttle/escape) -"dbs" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 10 - }, -/area/shuttle/escape) -"dbt" = ( -/turf/open/floor/plasteel/whiteblue/side, -/area/shuttle/escape) -"dbu" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/shuttle/escape) -"dbv" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 3 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/shuttle/escape) -"dbw" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plasteel/neutral, -/area/shuttle/escape) -"dbx" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dby" = ( -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbz" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 - }, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbA" = ( -/obj/machinery/sleeper{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/shuttle/escape) -"dbB" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/empty, -/obj/item/reagent_containers/blood/empty, -/obj/item/reagent_containers/blood/AMinus, -/obj/item/reagent_containers/blood/BMinus{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_containers/blood/BPlus{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/reagent_containers/blood/OMinus, -/obj/item/reagent_containers/blood/OPlus{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/APlus, -/obj/item/reagent_containers/blood/random, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbC" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/circular_saw, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/hemostat, -/obj/item/surgicaldrill, -/obj/item/cautery{ - pixel_x = 4 - }, -/obj/item/retractor, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbD" = ( -/obj/structure/table, -/obj/item/storage/firstaid/fire, -/obj/item/crowbar, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/shuttle/escape) -"dbE" = ( -/obj/machinery/computer/operating, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbF" = ( -/obj/structure/table/optable, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbG" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/mask/surgical, -/obj/item/surgical_drapes, -/obj/item/razor, -/turf/open/floor/plasteel/whiteblue, -/area/shuttle/escape) -"dbH" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/toxin, -/obj/item/defibrillator/loaded, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 10 - }, -/area/shuttle/escape) -"dbI" = ( -/obj/machinery/sleeper{ - dir = 1 - }, -/turf/open/floor/plasteel/whiteblue/side, -/area/shuttle/escape) -"dbJ" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/whiteblue/side, -/area/shuttle/escape) -"dbK" = ( -/obj/machinery/sleeper{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 6 - }, -/area/shuttle/escape) -"dbL" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbM" = ( -/obj/machinery/door/airlock/glass_engineering{ - name = "Engine Room"; - req_one_access_txt = "10;24" - }, -/turf/open/floor/plasteel/yellow, -/area/shuttle/escape) -"dbN" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dbO" = ( -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dbP" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dbQ" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/plasteel/yellow/side{ - dir = 9 - }, -/area/shuttle/escape) -"dbR" = ( -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbS" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/computer/monitor, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/shuttle/escape) -"dbT" = ( -/turf/open/floor/plasteel/yellow/side{ - dir = 5 - }, -/area/shuttle/escape) -"dbU" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dbV" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dbW" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/shuttle/escape) -"dbX" = ( -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/shuttle/escape) -"dbY" = ( -/turf/open/floor/plasteel/yellow/corner{ - dir = 4 - }, -/area/shuttle/escape) -"dbZ" = ( -/obj/structure/table, -/obj/item/storage/box/metalfoam, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/shuttle/escape) -"dca" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/plasteel/yellow/side{ - dir = 1 - }, -/area/shuttle/escape) -"dcb" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plasteel/yellow/side{ - dir = 5 - }, -/area/shuttle/escape) -"dcc" = ( -/obj/structure/urinal{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dcd" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/recharge_station, -/turf/open/floor/plasteel/freezer, -/area/shuttle/escape) -"dce" = ( -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/shuttle/escape) -"dcf" = ( -/obj/structure/sign/electricshock{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/shuttle/escape) -"dcg" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/shuttle/escape) -"dch" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plasteel/yellow/side, -/area/shuttle/escape) -"dci" = ( -/obj/structure/table, -/obj/structure/sign/enginesafety{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/yellow/side, -/area/shuttle/escape) -"dcj" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/turf/open/floor/plasteel/yellow/side, -/area/shuttle/escape) -"dck" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/yellow/side, -/area/shuttle/escape) -"dcl" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/yellow/side, -/area/shuttle/escape) -"dcm" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 6 - }, -/area/shuttle/escape) -"dcn" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plating, -/area/shuttle/escape) -"dco" = ( -/turf/open/floor/plating, -/area/shuttle/escape) -"dcp" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/shuttle/escape) -"dcq" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/escape) -"dcr" = ( -/obj/machinery/power/smes/engineering, -/turf/open/floor/plating, -/area/shuttle/escape) -"dcs" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/shuttle/escape) -"dct" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/shuttle/escape) -"dcu" = ( -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating, -/area/shuttle/escape) -"dcv" = ( -/obj/effect/landmark/carpspawn, -/turf/open/space/basic, -/area/space) -"dcw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/hallway/secondary/bridges/serv_engi) -"dcx" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkgreen/side, -/area/hydroponics) -"dcy" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/plasteel/darkgreen/side, -/area/hydroponics) -"dcz" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) -"dcB" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/eastright{ - name = "Hydroponics Desk"; - req_access_txt = "35" - }, -/turf/open/floor/plating, -/area/hydroponics) -"dcC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"dcE" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/grass, -/area/hydroponics) -"dcF" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Hydroponics Bee Reserve North"; - dir = 9; - network = list("SS13") - }, -/turf/open/floor/grass, -/area/hydroponics) -"dcG" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcH" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/darkgreen/side, -/area/hydroponics) -"dcI" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcJ" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/hydroponics) -"dcK" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/maintenance/asteroid/port/east) -"dcL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/hydroponics) -"dcM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"dcN" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 8 - }, -/area/hydroponics) -"dcO" = ( -/obj/effect/landmark/lightsout, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 4 - }, -/area/hydroponics) -"dcQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcR" = ( -/obj/machinery/door/airlock/glass{ - name = "Bee Reserve"; - req_access_txt = "35" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/grass, -/area/hydroponics) -"dcT" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/grass, -/area/hydroponics) -"dcU" = ( -/turf/open/floor/grass, -/area/hydroponics) -"dcV" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j1s"; - name = "disposal pipe - Hydroponics"; - sortType = 21 - }, -/turf/closed/wall, -/area/maintenance/asteroid/port/east) -"dcW" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"dcX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"dcZ" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen/side, -/area/hydroponics) -"dda" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"ddb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"ddc" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/maintenance/asteroid/port/east) -"ddd" = ( -/obj/effect/landmark/start/botanist, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"dde" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/grass, -/area/hydroponics) -"ddf" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/hydroponics) -"ddg" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"ddh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/hydroponics) -"ddi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"ddj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"ddk" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"ddl" = ( -/obj/machinery/door/airlock/glass{ - name = "Hydroponics"; - req_access_txt = "35" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics) -"ddm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"ddn" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/grass, -/area/hydroponics) -"ddo" = ( -/obj/machinery/vending/hydroseeds, -/obj/machinery/camera{ - c_tag = "Hydroponics South 1"; - dir = 1; - network = list("SS13"); - start_active = 1 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"ddp" = ( -/obj/machinery/vending/hydronutrients, -/obj/machinery/light, -/turf/open/floor/plasteel/black, -/area/hydroponics) -"ddq" = ( -/obj/structure/closet{ - name = "Bee-keeping suits" - }, -/obj/item/clothing/head/beekeeper_head, -/obj/item/clothing/head/beekeeper_head, -/obj/item/clothing/suit/beekeeper_suit, -/obj/item/clothing/suit/beekeeper_suit, -/obj/item/melee/flyswatter, -/obj/item/melee/flyswatter, -/obj/machinery/camera{ - c_tag = "Hydroponics South 2"; - dir = 1; - network = list("SS13"); - start_active = 1 - }, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"ddr" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Hydroponics APC"; - areastring = "/area/hydroponics"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/obj/structure/cable/orange, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/hydroponics) -"dds" = ( -/obj/item/device/assembly/mousetrap/armed, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"ddt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddu" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddv" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddw" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/closet/secure_closet/atmospherics, -/obj/item/pickaxe/mini, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddx" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - frequency = 1441; - id = "n2_in" - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/maintenance/asteroid/central) -"ddy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/mineral, -/area/maintenance/asteroid/central) -"ddz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/central) -"ddA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/central) -"ddB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"ddC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/central) -"ddD" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/scrubber/huge, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"ddE" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"ddF" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"ddG" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmos) -"ddH" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "Waste Release" - }, -/turf/open/floor/plasteel/yellow/side, -/area/engine/atmos) -"ddI" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/floor/plasteel/yellow/side{ - dir = 10 - }, -/area/engine/atmos) -"ddJ" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 2; - filter_type = "n2"; - name = "nitrogen filter"; - on = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/red, -/area/engine/atmos) -"ddK" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddL" = ( -/obj/structure/sign/nosmoking_2, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"ddM" = ( -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "n2_in"; - name = "Nitrogen Supply Control"; - output_tag = "n2_out"; - sensors = list("n2_sensor" = "Tank") - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/red, -/area/engine/atmos) -"ddN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddO" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "N2 to Pure" - }, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/structure/window/reinforced, -/obj/machinery/door/window/eastright{ - name = "Interior Pipe Access"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"ddP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/closed/wall, -/area/crew_quarters/heads/chief) -"ddQ" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 2; - filter_type = "o2"; - name = "oxygen filter"; - on = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/blue, -/area/engine/atmos) -"ddR" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddS" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/engine/atmos) -"ddV" = ( -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "o2_in"; - name = "Oxygen Supply Control"; - output_tag = "o2_out"; - sensors = list("o2_sensor" = "Tank") - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/blue, -/area/engine/atmos) -"ddW" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"ddX" = ( -/obj/machinery/pipedispenser, -/obj/machinery/light, -/turf/open/floor/plasteel/yellow/corner{ - dir = 8 - }, -/area/engine/atmos) -"ddY" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"ddZ" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"dea" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "O2 to Airmix"; - on = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/blue, -/area/engine/atmos) -"deb" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/machinery/camera{ - c_tag = "Atmospherics Distro"; - dir = 9; - network = list("SS13","CE") - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"dec" = ( -/obj/structure/sign/poster/official/safety_internals, -/turf/closed/wall, -/area/engine/atmos) -"ded" = ( -/obj/machinery/camera{ - c_tag = "Atmospherics South"; - dir = 4; - network = list("SS13","CE") - }, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"dee" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"def" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/plasteel, -/area/engine/atmos) -"deg" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"deh" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "O2 to Pure" - }, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/structure/window/reinforced, -/obj/machinery/door/window/eastright{ - name = "Interior Pipe Access"; - req_access_txt = "24" - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"dei" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "South Canister To Waste"; - on = 0; - target_pressure = 101 - }, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"dej" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 1 - }, -/area/engine/atmos) -"dek" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/plasteel/delivery, -/area/engine/atmos) -"del" = ( -/obj/effect/landmark/start/atmospheric_technician, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"dem" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"den" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/engine/atmos) -"deo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"dep" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"deq" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/barber, -/area/engine/atmos) -"der" = ( -/obj/machinery/atmospherics/pipe/manifold4w/general/visible, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmos) -"des" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"det" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 8 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/atmos) -"deu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"dev" = ( -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "air_in"; - name = "Mixed Air Supply Control"; - output_tag = "air_out"; - sensors = list("air_sensor" = "Tank") - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/barber, -/area/engine/atmos) -"dew" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"dex" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/window/eastright{ - dir = 1; - name = "Interior Pipe Access"; - req_access_txt = "24" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Air to South Canister"; - on = 0 - }, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"dey" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "tox_in"; - name = "Plasma Supply Control"; - output_tag = "tox_out"; - sensors = list("tox_sensor" = "Tank") - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/purple, -/area/engine/atmos) -"dez" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Plasma to Pure"; - on = 0 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/purple, -/area/engine/atmos) -"deA" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 4; - filter_type = "n2o"; - name = "n2o filter"; - on = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/escape{ - dir = 10 - }, -/area/engine/atmos) -"deB" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/computer/atmos_control/tank{ - frequency = 1441; - input_tag = "n2o_in"; - name = "Nitrous Oxide Supply Control"; - output_tag = "n2o_out"; - sensors = list("n2o_sensor" = "Tank") - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/escape, -/area/engine/atmos) -"deC" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "N2O to Pure"; - on = 0 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/escape{ - dir = 6 - }, -/area/engine/atmos) -"deD" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/atmos) -"deE" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/plasteel/black, -/area/engine/atmos) -"deF" = ( -/turf/closed/wall, -/area/maintenance/asteroid/fore/com_east) -"deH" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"deI" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/fore/com_west) -"deJ" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/fore/com_east) -"deK" = ( -/turf/closed/wall, -/area/maintenance/asteroid/fore/com_west) -"deL" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"deN" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"deO" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/fore/com_north) -"deP" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/fore/com_east) -"deQ" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"deR" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"deS" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/fore/cargo_west) -"deU" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"deV" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/fore/com_east) -"deW" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/fore/cargo_west) -"deX" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"deY" = ( -/obj/machinery/door/poddoor/shutters{ - id = "armoryaccess"; - name = "Armory Shutters" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/security/armory) -"deZ" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"dfa" = ( -/turf/closed/wall, -/area/maintenance/asteroid/fore/cargo_west) -"dfb" = ( -/obj/vehicle/secway, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/armory) -"dfc" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 9 - }, -/area/security/armory) -"dfd" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dfe" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"dff" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/fore/cargo_west) -"dfg" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dfh" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"dfi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/armory) -"dfk" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"dfl" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"dfn" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dfo" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"dfp" = ( -/obj/vehicle/secway, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "armoryaccess2"; - name = "Armory Shutter Access"; - pixel_y = -28; - req_access_txt = "3" - }, -/turf/open/floor/plasteel, -/area/security/armory) -"dfq" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_north) -"dfr" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dfs" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"dft" = ( -/obj/structure/disposalpipe/segment, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/main) -"dfu" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"dfv" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"dfw" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_west) -"dfx" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_west) -"dfy" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"dfz" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dfA" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"dfB" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"dfC" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfD" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dfE" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"dfF" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfG" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfI" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_east) -"dfK" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfL" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfM" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/fore/cargo_south) -"dfN" = ( -/turf/closed/wall, -/area/maintenance/asteroid/fore/cargo_south) -"dfO" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/fore/cargo_south) -"dfP" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dfQ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dfR" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dfS" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dfT" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dfV" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dfW" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dfX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dfY" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dfZ" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dga" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"dgb" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dgc" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dgd" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dge" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dgg" = ( -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dgh" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/fore/com_west) -"dgi" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dgj" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dgk" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dgl" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dgm" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgn" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dgo" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dgp" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dgq" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dgr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgs" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dgt" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dgv" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/fore/cargo_south) -"dgw" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgx" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dgy" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgA" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dgB" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dgC" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dgD" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"dgE" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"dgF" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dgG" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dgK" = ( -/turf/closed/wall, -/area/hallway/primary/starboard/fore) -"dgL" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/starboard/fore) -"dgM" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"dgN" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgO" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgP" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/cargo_south) -"dgT" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"dgU" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgV" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dgW" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dgX" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dhc" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"dhd" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"dhe" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"dhf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"dhg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"dhh" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dhi" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"dhj" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/fore) -"dhk" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhl" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhm" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhn" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dho" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhp" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_west) -"dhr" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/fore/com_south) -"dhs" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/fore/com_south) -"dht" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"dhu" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dhv" = ( -/turf/closed/wall, -/area/maintenance/asteroid/fore/com_south) -"dhw" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"dhx" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"dhy" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"dhz" = ( -/obj/structure/girder, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"dhA" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"dhB" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"dhC" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"dhD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"dhE" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"dhF" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"dhG" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_south) -"dhH" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/fore/com_south) -"dhI" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhJ" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dhK" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dhL" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/cargo_south) -"dhM" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/cargo_south) -"dhN" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhO" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"dhP" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhQ" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhR" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhS" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"dhT" = ( -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"dhU" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"dhV" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhW" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/hallway/primary/starboard/fore) -"dhX" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhY" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dhZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"dia" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/starboard/fore) -"dib" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"dic" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"did" = ( -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/command) -"die" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/fore) -"dif" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/port/neast) -"dig" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/port/neast) -"dih" = ( -/turf/closed/wall, -/area/maintenance/asteroid/port/neast) -"dii" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/neast) -"dij" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/port/west) -"dik" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"dil" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"dim" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"din" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"dio" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"dip" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"diq" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"dir" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"dis" = ( -/turf/closed/wall, -/area/maintenance/asteroid/port/east) -"dit" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"diu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/port/east) -"div" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"diw" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"dix" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/port/east) -"diy" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"diz" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diA" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"diB" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/port/east) -"diC" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"diD" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diE" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diF" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"diG" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"diH" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diI" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/port/east) -"diJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"diK" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"diL" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"diM" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diO" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diS" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/east) -"diT" = ( -/turf/closed/wall, -/area/hallway/primary/starboard/aft) -"diU" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"diV" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"diW" = ( -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"diX" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"diY" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"diZ" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"dja" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"djb" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"djd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"dje" = ( -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djf" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djg" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall, -/area/hallway/primary/starboard/aft) -"djh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"dji" = ( -/obj/structure/table, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djj" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djk" = ( -/turf/open/space, -/area/solar/asteroid/aft) -"djl" = ( -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"djm" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"djo" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djp" = ( -/obj/structure/lattice, -/turf/open/space, -/area/solar/asteroid/aft) -"djq" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"djr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"djs" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"djt" = ( -/obj/item/stack/cable_coil{ - amount = 2 - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"dju" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/asteroid/aft) -"djv" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/primary/starboard/aft) -"djw" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"djx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/starboard/aft) -"djy" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djz" = ( -/turf/closed/wall, -/area/maintenance/asteroid/aft/science) -"djA" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djB" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djC" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djD" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djE" = ( -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djF" = ( -/obj/structure/girder, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djG" = ( -/turf/closed/mineral, -/area/maintenance/asteroid/aft/science) -"djH" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djI" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djJ" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djK" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djL" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djM" = ( -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djN" = ( -/obj/machinery/computer/station_alert, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djO" = ( -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djP" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"djQ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djR" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/aft/science) -"djS" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/aft/science) -"djT" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djU" = ( -/obj/effect/turf_decal/stripes/asteroid/line, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djV" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djW" = ( -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/aft/science) -"djX" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"djY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"djZ" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/assembly/mousetrap/armed, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dka" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dkb" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"dkc" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dkd" = ( -/obj/structure/closet, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"dke" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/aft/science) -"dkf" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/aft/science) -"dkg" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dkh" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dki" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dkj" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dkk" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/science) -"dkm" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "CargoWaste" - }, -/obj/machinery/status_display{ - density = 0; - layer = 4; - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/quartermaster/sorting) -"dko" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"dkp" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/fore) -"dkq" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"dkr" = ( -/obj/structure/closet/crate, -/obj/item/pickaxe, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"dks" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"dkt" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"dku" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dkv" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/engine/engineering) -"dkw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/science/mixing) -"dkx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/science/mixing) -"dkA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 8 - }, -/area/science/mixing) -"dkB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/science/mixing) -"dkC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/science/server) -"dkD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4; - external_pressure_bound = 140; - name = "server vent"; - pressure_checks = 0 - }, -/turf/open/floor/circuit, -/area/science/server) -"dkE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/science/server) -"dkF" = ( -/turf/open/space/basic, -/area/mine/unexplored{ - name = "Command Asteroid" - }) -"dkG" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space) -"dkH" = ( -/obj/structure/rack, -/obj/item/shovel, -/obj/item/shovel, -/turf/open/floor/plating/astplate, -/area/security/execution/transfer) -"dkI" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/security/execution/transfer) -"dkK" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plating/asteroid, -/area/security/execution/transfer) -"dkL" = ( -/obj/structure/sign/poster/contraband/fun_police{ - pixel_y = 32 - }, -/turf/open/floor/plating/astplate, -/area/security/execution/transfer) -"dkM" = ( -/turf/open/floor/plating, -/area/security/execution/transfer) -"dkP" = ( -/obj/item/ore/glass, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"dkQ" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Prisoner Transfer APC"; - areastring = "/area/security/execution/transfer"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"dkS" = ( -/obj/machinery/light/small, -/turf/open/floor/plating/astplate, -/area/security/execution/transfer) -"dkT" = ( -/obj/structure/mineral_door/iron, -/turf/open/floor/plating/astplate, -/area/security/execution/transfer) -"dkV" = ( -/obj/item/ore/glass, -/turf/open/floor/plating, -/area/security/execution/transfer) -"dkW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"dkX" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"dlb" = ( -/obj/machinery/door/airlock/security{ - name = "Prisoner Transfer Center"; - req_access_txt = "2" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/security/prison) -"dlc" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/plasteel/red, -/area/security/prison) -"dld" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"dlg" = ( -/obj/machinery/computer/gulag_teleporter_computer, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlh" = ( -/obj/machinery/computer/security{ - name = "Labor Camp Monitoring"; - network = list("Labor") - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlj" = ( -/obj/machinery/flasher{ - id = "Cell 5"; - pixel_y = 32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dll" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/prison) -"dlm" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Perma Storage" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"dln" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Perma Storage" - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"dlo" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"dlp" = ( -/obj/machinery/atmospherics/pipe/manifold4w/general/hidden, -/obj/machinery/meter, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"dlq" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 9 - }, -/obj/item/wrench, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/prison) -"dlr" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space) -"dls" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlt" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlu" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlv" = ( -/obj/machinery/camera{ - c_tag = "Brig Labor Shuttle Dock North"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dlz" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"dlA" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dlB" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dlC" = ( -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4; - name = "Mix To Perma" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"dlD" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 10 - }, -/turf/closed/wall, -/area/security/prison) -"dlG" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/restraints/handcuffs, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"dlH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"dlI" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Labor Shuttle Dock APC"; - areastring = "/area/security/processing"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dlJ" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dlK" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 5"; - name = "Cell 5 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dlL" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 6"; - name = "Cell 6 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dlM" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Perma Storage" - }, -/obj/machinery/camera{ - c_tag = "Brig Perma Wing 4"; - dir = 10; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/prison) -"dlN" = ( -/obj/structure/table, -/obj/item/device/electropack, -/obj/item/device/assembly/signaler, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"dlO" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/prison) -"dlP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dlQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"dlS" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/item/seeds/random, -/obj/machinery/light/small, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/showroomfloor, -/area/security/prison) -"dlT" = ( -/obj/structure/sink{ - pixel_y = 24 - }, -/obj/item/soap/nanotrasen, -/turf/open/floor/plasteel/showroomfloor, -/area/security/prison) -"dlU" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restroom"; - req_access_txt = "0" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/prison) -"dlV" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plating, -/area/security/prison) -"dlZ" = ( -/obj/machinery/button/flasher{ - id = "gulagshuttleflasher"; - name = "Flash Control"; - pixel_y = -26; - req_access_txt = "1" - }, -/obj/machinery/light, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/labor) -"dma" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Labor Camp Shuttle Airlock"; - req_access_txt = "2"; - shuttledocked = 1 - }, -/turf/open/floor/plating, -/area/security/processing) -"dmb" = ( -/turf/open/floor/plating, -/area/security/processing) -"dmd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dme" = ( -/obj/machinery/door/airlock/security{ - name = "Labor Shuttle"; - req_access = null; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmg" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/prison) -"dmi" = ( -/obj/machinery/door/window/brigdoor/security/cell/northleft{ - id = "Cell 5"; - name = "Cell Door 5" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"dmj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/security/prison) -"dmk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"dmm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"dmo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/security/prison) -"dmp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"dmr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/prison) -"dmt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dmu" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dmv" = ( -/obj/machinery/camera{ - c_tag = "Brig Perma North"; - dir = 6; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dmy" = ( -/obj/machinery/computer/shuttle/labor, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"dmC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmD" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 4"; - name = "Cell 4 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/prison) -"dmF" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 7"; - name = "Cell 7 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmG" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 7"; - dir = 9; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmH" = ( -/obj/machinery/camera{ - c_tag = "Brig Perma Wing 3"; - dir = 4; - network = list("SS13","Security") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"dmJ" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Cell 1"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - desc = "Talk through this. It looks like it has been modified to not broadcast."; - dir = 2; - name = "Prison Intercom (General)"; - pixel_y = 24; - prison_radio = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmL" = ( -/obj/machinery/flasher{ - id = "PCell 1"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmM" = ( -/obj/machinery/door/airlock/glass{ - id_tag = "permabolt1"; - name = "Cell 1" - }, -/obj/machinery/door/poddoor/preopen{ - id = "isolation1"; - name = "cell isolation blast door" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dmO" = ( -/obj/structure/holohoop, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dmV" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/labor) -"dmW" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Prisoner Processing"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"dmY" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dmZ" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CellBlockUpRight"; - location = "CellBlockUpLeft"; - name = "navigation beacon (CellBlockUpLeft)" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dna" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dnb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dnc" = ( -/obj/machinery/door/window/brigdoor/security/cell/eastleft{ - id = "Cell 7"; - name = "Cell Door 7" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"dnd" = ( -/obj/machinery/flasher{ - id = "Cell 7"; - pixel_x = 32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dne" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "permabolt1"; - name = "Cell 1 Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dnu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/camera{ - c_tag = "Brig Labor Shuttle Dock main"; - dir = 4; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dnz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/security/prison) -"dnA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dnB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dnC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/security/prison) -"dnO" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "Labor Camp Shuttle Airlock"; - shuttledocked = 1 - }, -/turf/open/floor/plating, -/area/security/processing) -"dnS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dnT" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dnU" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Cell 2"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dnW" = ( -/obj/machinery/flasher{ - id = "PCell 2"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dnX" = ( -/obj/machinery/door/airlock/glass{ - id_tag = "permabolt2"; - name = "Cell 2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "isolation2"; - name = "cell isolation blast door" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dnY" = ( -/obj/item/toy/beach_ball/holoball, -/turf/open/floor/plating/astplate, -/area/security/prison) -"doa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dob" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"doc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/processing) -"dod" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"doe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dof" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"dog" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 8"; - dir = 9; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"doh" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "permabolt2"; - name = "Cell 2 Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dol" = ( -/obj/structure/closet/emcloset, -/obj/machinery/light, -/turf/open/floor/plating, -/area/security/processing) -"dom" = ( -/obj/machinery/disposal/deliveryChute{ - desc = "A chute for the reformed crewmember to re-enter the station population."; - dir = 1; - name = "Gulag Exit Chute" - }, -/obj/machinery/door/window/northright, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating, -/area/security/processing) -"don" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"doo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dop" = ( -/obj/machinery/flasher{ - id = "Cell 3"; - pixel_x = -32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dor" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/camera{ - c_tag = "Brig Cellblock North"; - dir = 10; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dot" = ( -/obj/machinery/flasher{ - id = "Cell 8"; - pixel_x = 32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dou" = ( -/obj/structure/sign/poster/official/obey{ - pixel_x = -32 - }, -/obj/machinery/camera{ - c_tag = "Brig Perma Middle 1"; - dir = 4; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dox" = ( -/obj/structure/table, -/obj/item/cultivator, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"doz" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_north) -"doB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Brig Labor Shuttle Dock South"; - dir = 4; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel, -/area/security/processing) -"doD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/security/prison) -"doE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"doG" = ( -/obj/machinery/flasher{ - id = "PCell 3"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"doH" = ( -/obj/machinery/door/airlock/glass{ - id_tag = "permabolt3"; - name = "Cell 3" - }, -/obj/machinery/door/poddoor/preopen{ - id = "isolation3"; - name = "cell isolation blast door" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"doK" = ( -/obj/machinery/seed_extractor, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"doL" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/processing) -"doM" = ( -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/security/processing) -"doO" = ( -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" - }, -/turf/open/floor/plating, -/area/security/processing) -"doP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"doR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"doT" = ( -/obj/machinery/door_timer{ - id = "Cell 8"; - name = "Cell 8"; - pixel_x = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"doU" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Brig Perma Wing 2"; - dir = 4; - network = list("SS13","Security") - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"doV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "PCell 3"; - name = "Cell 3 Flash"; - pixel_x = 24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "isolation3"; - name = "Cell 3 Isolation"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "2"; - specialfunctions = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"doW" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "permabolt3"; - name = "Cell 3 Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"doX" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 6 - }, -/turf/closed/wall, -/area/security/prison) -"doY" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8; - frequency = 1441; - id = null; - pixel_y = 1 - }, -/turf/open/floor/plating, -/area/security/prison) -"dpa" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/security/processing) -"dpb" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/plating, -/area/security/processing) -"dpd" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Riot Control Storage"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/turf/open/floor/plating, -/area/security/processing) -"dpe" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dpf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/processing) -"dpg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/prison) -"dph" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/prison) -"dpi" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used to watch the various criminals inside their cells."; - name = "Cell Monitor"; - network = list("PrisonCell"); - pixel_x = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"dpj" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 5 - }, -/turf/closed/wall, -/area/security/prison) -"dpk" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 9 - }, -/turf/closed/wall, -/area/security/prison) -"dpl" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plating, -/area/security/prison) -"dpm" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/ambrosia, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dpn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall/r_wall, -/area/security/armory) -"dpo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/security/armory) -"dpu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"dpx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"dpy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/prison) -"dpB" = ( -/obj/machinery/newscaster{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/security/prison) -"dpC" = ( -/obj/structure/table, -/obj/item/storage/pill_bottle/dice, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dpD" = ( -/obj/machinery/hydroponics/soil, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dpE" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/security/armory) -"dpJ" = ( -/obj/machinery/door/poddoor/shutters{ - id = "armoryaccess"; - name = "Armory Shutters" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/security/armory) -"dpL" = ( -/obj/machinery/flasher{ - id = "PCell 4"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dpM" = ( -/obj/machinery/door/airlock/glass{ - id_tag = "permabolt4"; - name = "Cell 4" - }, -/obj/machinery/door/poddoor/preopen{ - id = "isolation4"; - name = "cell isolation blast door" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dpN" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dpO" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/potato, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dpP" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dpT" = ( -/obj/machinery/suit_storage_unit/security, -/turf/open/floor/plasteel, -/area/security/armory) -"dpU" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/armory) -"dpV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, -/area/security/armory) -"dpW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera/motion{ - c_tag = "Armory North"; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, -/area/security/armory) -"dpX" = ( -/obj/machinery/button/door{ - id = "armoryaccess"; - name = "Armory Shutter Access"; - pixel_y = 28; - req_access_txt = "3" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, -/area/security/armory) -"dpY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, -/area/security/armory) -"dpZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side{ - dir = 5 - }, -/area/security/armory) -"dqa" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 2"; - dir = 4; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqb" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 2"; - name = "Cell 2 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqe" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 9"; - name = "Cell 9 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "PCell 4"; - name = "Cell 4 Flash"; - pixel_x = 24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "isolation4"; - name = "Cell 4 Isolation"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "2"; - specialfunctions = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"dqh" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/camera{ - c_tag = "Brig Perma Cell 4"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqi" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "permabolt4"; - name = "Cell 4 Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqj" = ( -/obj/machinery/camera{ - c_tag = "Brig Perma Middle 2"; - dir = 4; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plating, -/area/security/prison) -"dqk" = ( -/obj/machinery/vending/sovietsoda, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dqm" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dqp" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dqs" = ( -/turf/open/floor/plasteel, -/area/security/armory) -"dqu" = ( -/obj/structure/rack, -/obj/item/gun/energy/ionrifle, -/obj/item/gun/energy/temperature/security, -/obj/item/clothing/suit/armor/laserproof, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"dqv" = ( -/obj/structure/rack, -/obj/item/storage/lockbox/loyalty, -/obj/item/storage/box/trackimp, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side{ - dir = 4 - }, -/area/security/armory) -"dqw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dqx" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"dqy" = ( -/obj/machinery/flasher{ - id = "Cell 9"; - pixel_x = 32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqz" = ( -/obj/machinery/vending/sustenance, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/security/prison) -"dqF" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/grille, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dqG" = ( -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Armory APC"; - areastring = "/area/security/armory"; - pixel_x = 24 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dqI" = ( -/obj/structure/closet/secure_closet{ - name = "contraband locker"; - req_access_txt = "3" - }, -/obj/effect/spawner/lootdrop/armory_contraband{ - loot = list(/obj/item/gun/ballistic/automatic/pistol = 5, /obj/item/gun/ballistic/shotgun/automatic/combat = 5, /obj/item/gun/ballistic/revolver/mateba, /obj/item/gun/ballistic/automatic/pistol/deagle, /obj/item/storage/box/syndie_kit/throwing_weapons = 3) - }, -/turf/open/floor/plasteel, -/area/security/armory) -"dqK" = ( -/obj/structure/rack, -/obj/item/clothing/suit/armor/riot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/suit/armor/riot{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/clothing/head/helmet/riot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/head/helmet/riot, -/obj/item/clothing/head/helmet/riot{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/shield/riot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/shield/riot, -/obj/item/shield/riot{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"dqL" = ( -/obj/structure/table, -/obj/item/storage/box/firingpins{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/storage/box/firingpins{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/key/security, -/obj/item/key/security, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side{ - dir = 4 - }, -/area/security/armory) -"dqM" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Perma Cell 5"; - req_access_txt = "2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqN" = ( -/obj/machinery/flasher{ - id = "PCell 5"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqO" = ( -/obj/machinery/door/airlock/glass{ - id_tag = "permabolt5"; - name = "Cell 5" - }, -/obj/machinery/door/poddoor/preopen{ - id = "isolation5"; - name = "cell isolation blast door" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dqU" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dqV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/main) -"dqX" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/main) -"dra" = ( -/obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/gun/energy/e_gun/advtaser{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"drb" = ( -/obj/structure/rack, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/suit/armor/bulletproof, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/clothing/head/helmet/alt{ - layer = 3.00001; - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/head/helmet/alt{ - layer = 3.00001 - }, -/obj/item/clothing/head/helmet/alt{ - layer = 3.00001; - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/plasteel/black, -/area/security/armory) -"drc" = ( -/obj/structure/closet/secure_closet/lethalshots, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side{ - dir = 4 - }, -/area/security/armory) -"drf" = ( -/obj/structure/stacklifter, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dro" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"drp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"drq" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/main) -"drr" = ( -/obj/structure/disposaloutlet, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating, -/area/security/main) -"drt" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/security/armory) -"dru" = ( -/obj/item/grenade/barrier{ - pixel_x = 4 - }, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier{ - pixel_x = -4 - }, -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side{ - dir = 4 - }, -/area/security/armory) -"drv" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 1"; - dir = 4; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"drw" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 1"; - name = "Cell 1 Locker" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"drz" = ( -/obj/machinery/camera{ - c_tag = "Brig Cell 10"; - dir = 9; - network = list("SS13","Security","PrisonCell") - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"drA" = ( -/obj/machinery/camera{ - c_tag = "Brig Perma Wing 1"; - dir = 4; - network = list("SS13","Security") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/prison) -"drB" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"drG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"drL" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"drN" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"drQ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/window/brigdoor/southleft{ - name = "Security Mail Chute"; - req_one_access_txt = "38;63" - }, -/turf/open/floor/plating, -/area/security/main) -"drR" = ( -/obj/machinery/door/poddoor/shutters{ - id = "armoryaccess2"; - name = "Armory Shutters" - }, -/turf/open/floor/plating, -/area/security/main) -"drS" = ( -/obj/structure/rack, -/obj/item/storage/box/chemimp{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/reagent_containers/glass/bottle/morphine, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side{ - dir = 4 - }, -/area/security/armory) -"drT" = ( -/obj/machinery/door/window/brigdoor/security/cell/westleft{ - id = "Cell 1"; - name = "Cell Door 1" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"drU" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CellBlockMidLeft"; - location = "CellBlockLowRight"; - name = "navigation beacon (CellBlockLowRight)" - }, -/turf/open/floor/plasteel, -/area/security/prison) -"drV" = ( -/obj/machinery/door/window/brigdoor/security/cell/eastleft{ - id = "Cell 10"; - name = "Cell Door 10" - }, -/turf/open/floor/plasteel/red, -/area/security/prison) -"drW" = ( -/obj/machinery/flasher{ - id = "Cell 10"; - pixel_x = 32 - }, -/obj/machinery/holopad, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"drY" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/prison) -"drZ" = ( -/obj/machinery/flasher{ - id = "PCell 6"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dsa" = ( -/obj/machinery/door/airlock/glass{ - id_tag = "permabolt6"; - name = "Cell 6" - }, -/obj/machinery/door/poddoor/preopen{ - id = "isolation6"; - name = "cell isolation blast door" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dsb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dsc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dsd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plating/astplate, -/area/security/prison) -"dsi" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dsm" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/device/radio, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/main) -"dsn" = ( -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/main) -"dso" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/device/radio, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/main) -"dsp" = ( -/turf/open/floor/plasteel/darkred/side{ - dir = 10 - }, -/area/security/armory) -"dsq" = ( -/turf/open/floor/plasteel/darkred/side, -/area/security/armory) -"dsr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/darkred/side, -/area/security/armory) -"dss" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/darkred/side, -/area/security/armory) -"dst" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/darkred/side{ - dir = 6 - }, -/area/security/armory) -"dsu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/prison) -"dsv" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"dsw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"dsx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/prison) -"dsy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/prison) -"dsz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "PCell 6"; - name = "Cell 6 Flash"; - pixel_x = 24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "isolation6"; - name = "Cell 6 Isolation"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "2"; - specialfunctions = 1 - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/prison) -"dsB" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/camera{ - c_tag = "Brig Perma Cell 6"; - dir = 10; - network = list("SS13","Security","PrisonCell") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dsC" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "permabolt6"; - name = "Cell 6 Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"dsD" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dsF" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dsJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dsL" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dsM" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/main) -"dsN" = ( -/obj/machinery/vending/security, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/red, -/area/security/main) -"dsO" = ( -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"dsP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/security/main) -"dsQ" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Armory"; - req_access_txt = "3" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/armory) -"dsT" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "wardencell" - }, -/obj/machinery/door/airlock/glass_security{ - name = "Brig Cell Access"; - req_access_txt = "3" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dsV" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Cell Block"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red, -/area/security/brig) -"dsW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"dsX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"dtf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/main) -"dtg" = ( -/obj/structure/closet{ - name = "evidence closet" - }, -/obj/machinery/camera{ - c_tag = "Brig Evidence Room"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/brig) -"dth" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dti" = ( -/obj/structure/filingcabinet/chestdrawer/wheeled, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dtj" = ( -/obj/machinery/computer/crew, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dtk" = ( -/obj/machinery/computer/prisoner, -/obj/machinery/camera{ - c_tag = "Brig Control Room"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dtl" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/computer/security/telescreen{ - desc = "Used to watch the various criminals inside their cells."; - name = "Cell Monitor"; - network = list("PrisonCell"); - pixel_y = 32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dtn" = ( -/obj/structure/table, -/obj/item/clothing/neck/stethoscope, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/security/brig) -"dto" = ( -/obj/structure/table, -/obj/item/storage/firstaid/toxin, -/obj/machinery/camera{ - c_tag = "Brig Medbay"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/security/brig) -"dtp" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/camera{ - c_tag = "Brig Interrogation"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/security/brig) -"dts" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtt" = ( -/obj/structure/table/wood, -/obj/item/clipboard, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtu" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtv" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/camera{ - c_tag = "Brig Interrogation 2"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"dtz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/newscaster/security_unit{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"dtA" = ( -/obj/structure/closet, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dtC" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/obj/structure/closet/secure_closet/hos, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dtD" = ( -/obj/structure/table/wood, -/obj/item/storage/box/deputy, -/obj/item/storage/box/seccarts{ - pixel_x = 3; - pixel_y = 2 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dtE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dtF" = ( -/obj/structure/table/wood, -/obj/item/device/taperecorder, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dtG" = ( -/obj/machinery/suit_storage_unit/hos, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dtH" = ( -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/main) -"dtK" = ( -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"dtL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/brig) -"dtM" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"dtN" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/white, -/area/security/brig) -"dtO" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtP" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtR" = ( -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtT" = ( -/obj/structure/table/wood, -/obj/item/storage/box/cups, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dtU" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dtV" = ( -/obj/structure/girder, -/obj/structure/grille, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"dtW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"dtX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"dtY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dtZ" = ( -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Head of Security's Desk"; - departmentType = 5; - name = "Head of Security RC"; - pixel_x = -30 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dua" = ( -/mob/living/simple_animal/hostile/retaliate/bat{ - desc = "A fierce companion for any person of power, this spider has been carefully trained by Nanotrasen specialists. Its beady, staring eyes send shivers down your spine."; - emote_hear = list("chitters"); - faction = list("spiders"); - harm_intent_damage = 3; - health = 200; - icon_dead = "guard_dead"; - icon_gib = "guard_dead"; - icon_living = "guard"; - icon_state = "guard"; - max_co2 = 5; - max_tox = 2; - maxHealth = 250; - melee_damage_lower = 15; - melee_damage_upper = 20; - min_oxy = 5; - name = "Sergeant Araneus"; - real_name = "Sergeant Araneus"; - response_help = "pets"; - turns_per_move = 10; - voice_name = "unidentifiable voice" - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dub" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"duc" = ( -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"duf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/poddoor/preopen{ - id = "hosoffice"; - name = "emergency lockdown blast door" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/hos) -"dug" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"duh" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/restraints/handcuffs, -/obj/item/device/assembly/flash, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/main) -"duj" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/item/storage/toolbox/mechanical, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"duk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dul" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/security/warden) -"dum" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/brig) -"dun" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"duo" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/white, -/area/security/brig) -"dup" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/bed/roller, -/obj/item/clothing/suit/straight_jacket, -/turf/open/floor/plasteel/white, -/area/security/brig) -"dur" = ( -/obj/structure/table/wood, -/obj/item/device/taperecorder, -/turf/open/floor/plasteel/black, -/area/security/brig) -"duu" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/folder/red, -/turf/open/floor/plasteel/black, -/area/security/brig) -"duv" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"duz" = ( -/obj/structure/sign/poster/official/enlist{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"duB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"duC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"duF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"duG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/main) -"duJ" = ( -/obj/structure/closet{ - name = "evidence closet" - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/brig) -"duK" = ( -/obj/structure/table, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/ears/earmuffs, -/obj/item/book/manual/wiki/security_space_law, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Warden's Office APC"; - areastring = "/area/security/warden"; - pixel_y = -24 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"duL" = ( -/obj/structure/chair/office/light, -/obj/effect/landmark/start/warden, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"duM" = ( -/obj/machinery/computer/camera_advanced{ - z_lock = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"duO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"duP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/security/brig) -"duQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/security/brig) -"duR" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Courtroom APC"; - areastring = "/area/security/courtroom"; - pixel_y = -24 - }, -/obj/structure/cable/orange, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_north) -"duT" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/black, -/area/bridge) -"duW" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc{ - dir = 4; - name = "Head of Security's Office APC"; - areastring = "/area/crew_quarters/heads/hos"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"duX" = ( -/obj/machinery/keycard_auth{ - pixel_x = -24 - }, -/obj/machinery/camera{ - c_tag = "Head of Security's Office"; - dir = 4; - network = list("SS13","Security") - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"duY" = ( -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"duZ" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp/green{ - on = 0; - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/storage/fancy/cigarettes/cigars/cohiba, -/obj/item/lighter, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dva" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dve" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"dvf" = ( -/obj/structure/table, -/obj/item/restraints/handcuffs, -/turf/open/floor/plasteel, -/area/security/main) -"dvg" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/coffee, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/security/main) -"dvh" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/turf/closed/wall, -/area/security/brig) -"dvi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/security/warden) -"dvk" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Brig Control"; - req_access_txt = "3" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"dvm" = ( -/obj/structure/table/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/window/brigdoor/northright{ - name = "Warden's Desk"; - req_access_txt = "3" - }, -/turf/open/floor/plasteel/red, -/area/security/warden) -"dvn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/security/warden) -"dvo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/warden) -"dvq" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/white, -/area/security/brig) -"dvs" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/white, -/area/security/brig) -"dvt" = ( -/obj/machinery/door/airlock/security{ - name = "Interrogation Room"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dvu" = ( -/obj/machinery/door/airlock/security{ - name = "Interrogation Viewing"; - req_access_txt = "0"; - req_one_access_txt = "38;2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/security/brig) -"dvv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"dvx" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/button/door{ - id = "hosoffice"; - name = "Emergency Office Lockdown"; - pixel_x = -24; - pixel_y = 8; - req_access_txt = "58" - }, -/obj/machinery/button/door{ - id = "brigfront"; - name = "Emergency Brig Lockdown"; - pixel_x = -24; - req_access_txt = "1" - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dvz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/effect/landmark/start/head_of_security, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dvA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/item/folder/red, -/obj/item/stamp/hos, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dvB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dvD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"dvE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/security/main) -"dvF" = ( -/obj/structure/table, -/obj/item/storage/fancy/donut_box, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/security/main) -"dvG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Brig APC"; - areastring = "/area/security/brig"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/brig) -"dvH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dvI" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dvK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dvL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Brig Main East"; - dir = 6; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dvN" = ( -/obj/structure/grille, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dvO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dvP" = ( -/obj/machinery/computer/security, -/obj/machinery/newscaster/security_unit{ - pixel_x = -32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dvR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dvS" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dvT" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"dvX" = ( -/obj/structure/table/wood, -/obj/item/device/radio/intercom{ - broadcasting = 0; - dir = 8; - listening = 1; - name = "Station Intercom (Court)" - }, -/turf/open/floor/plasteel, -/area/security/courtroom) -"dvY" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/plasteel, -/area/security/courtroom) -"dvZ" = ( -/obj/machinery/door/window/southleft{ - name = "Court Cell"; - req_access_txt = "2" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"dwa" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dwc" = ( -/obj/machinery/computer/card/minor/hos, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/sign/map/left/ceres{ - pixel_x = -32 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dwe" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dwf" = ( -/obj/structure/table/wood, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos) -"dwi" = ( -/obj/structure/closet/bombcloset, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/main) -"dwj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/security/main) -"dwk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dwl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"dwn" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"dwp" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dwr" = ( -/obj/structure/closet/bombcloset, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/main) -"dws" = ( -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/security/main) -"dwt" = ( -/obj/machinery/door/airlock/security{ - name = "Detective's Office"; - req_access_txt = "4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dwu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "detective" - }, -/turf/open/floor/plating, -/area/security/detectives_office) -"dww" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "lawyer" - }, -/turf/open/floor/plating, -/area/lawoffice) -"dwx" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/lawoffice) -"dwy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dwz" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "innerbrig"; - name = "Brig"; - req_access_txt = "0"; - req_one_access_txt = "38;63" - }, -/turf/open/floor/plasteel/red, -/area/security/brig) -"dwA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/security/brig) -"dwB" = ( -/obj/item/device/radio/beacon, -/turf/open/floor/plasteel/neutral, -/area/security/courtroom) -"dwC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/blue/side{ - dir = 4 - }, -/area/security/courtroom) -"dwE" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dwK" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/girder, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dwO" = ( -/obj/structure/closet/secure_closet/detective, -/obj/item/reagent_containers/food/drinks/bottle/whiskey, -/obj/machinery/light{ - dir = 8 - }, -/obj/item/ammo_box/c38, -/obj/item/ammo_box/c38, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dwP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dwQ" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/wooden_tv, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dwR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dwS" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dwT" = ( -/obj/structure/filingcabinet, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood, -/area/lawoffice) -"dwV" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dwW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/security/brig) -"dwX" = ( -/obj/structure/table/wood, -/obj/item/folder/red, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/courtroom) -"dwY" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/plasteel/blue/side{ - dir = 10 - }, -/area/security/courtroom) -"dwZ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/blue/side, -/area/security/courtroom) -"dxd" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dxe" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/main) -"dxf" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/main) -"dxg" = ( -/obj/effect/landmark/secequipment, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/main) -"dxi" = ( -/obj/effect/landmark/secequipment, -/obj/machinery/camera{ - c_tag = "Brig Equipment South"; - dir = 10; - network = list("SS13","Security") - }, -/turf/open/floor/plasteel/red/side, -/area/security/main) -"dxk" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dxl" = ( -/obj/structure/table/wood, -/obj/machinery/computer/secure_data/laptop, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dxm" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Detective's Office APC"; - areastring = "/area/security/detectives_office"; - pixel_x = 24 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dxn" = ( -/obj/structure/rack, -/obj/item/storage/briefcase, -/obj/item/storage/briefcase, -/turf/open/floor/wood, -/area/lawoffice) -"dxo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/security/brig) -"dxr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"dxs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/brig) -"dxt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dxu" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/brig) -"dxv" = ( -/obj/machinery/button/door{ - id = "outterbrig"; - name = "Brig External Doors"; - normaldoorcontrol = 1; - pixel_x = -8; - pixel_y = -24; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "innerbrig"; - name = "Brig Internal Doors"; - normaldoorcontrol = 1; - pixel_x = -8; - pixel_y = -32; - req_access_txt = "2" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/security/brig) -"dxw" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"dxz" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dxB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/main) -"dxC" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/detectives_office) -"dxD" = ( -/obj/structure/table/wood, -/obj/item/device/tape/random, -/obj/item/device/tape/random{ - pixel_x = 2; - pixel_y = 3 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dxE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dxF" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes, -/obj/item/clothing/glasses/sunglasses, -/obj/item/device/flashlight/lamp, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dxG" = ( -/obj/machinery/button/door{ - id = "detective"; - name = "Privacy Shutters"; - pixel_x = 24 - }, -/turf/open/floor/carpet, -/area/security/detectives_office) -"dxH" = ( -/obj/structure/filingcabinet, -/obj/machinery/newscaster/security_unit{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/lawoffice) -"dxI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"dxK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/security/brig) -"dxL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dxM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/brig) -"dxN" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"dxO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"dxP" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"dxR" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/obj/machinery/door/airlock/glass_command{ - cyclelinkeddir = null; - name = "Bridge"; - req_access_txt = "0"; - req_one_access = null; - req_one_access_txt = "19;41" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"dxS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/preopen{ - id = "bridge"; - layer = 2.6; - name = "Emergency Blast Door" - }, -/obj/machinery/door/airlock/glass_command{ - cyclelinkeddir = null; - name = "Bridge"; - req_access_txt = "0"; - req_one_access = null; - req_one_access_txt = "19;41" - }, -/turf/open/floor/plasteel/black, -/area/bridge) -"dxW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/grille, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"dxZ" = ( -/obj/structure/rack, -/obj/item/storage/briefcase, -/obj/item/storage/briefcase, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dya" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/newscaster/security_unit{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"dyb" = ( -/obj/machinery/camera{ - c_tag = "Lawyer's Office"; - dir = 4 - }, -/turf/open/floor/wood, -/area/lawoffice) -"dyc" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"dye" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dyf" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - broadcasting = 0; - listening = 1; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dyg" = ( -/obj/structure/sign/poster/official/safety_report{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/brig) -"dym" = ( -/obj/effect/landmark/start/lawyer, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/lawoffice) -"dyn" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"dyo" = ( -/obj/structure/table, -/obj/item/storage/pill_bottle/dice, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/floorgrime, -/area/security/brig) -"dyr" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dys" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dyu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dyv" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/detectives_office) -"dyx" = ( -/obj/structure/closet/lawcloset, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood, -/area/lawoffice) -"dyy" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/closed/wall, -/area/security/brig) -"dyA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"dyB" = ( -/obj/machinery/vending/coffee, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"dyC" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/space) -"dyD" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/space) -"dyH" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"dyI" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating, -/area/security/detectives_office) -"dyJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "lawyer" - }, -/turf/open/floor/plating, -/area/lawoffice) -"dyL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "emergency blast door" - }, -/turf/open/floor/plating, -/area/security/brig) -"dyM" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/security/courtroom) -"dyQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_west) -"dyR" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Command Asteroid Hall 10"; - dir = 6 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"dyS" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"dyT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/fore) -"dyU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CommandWest"; - location = "Security"; - name = "navigation beacon (Security)" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/fore) -"dyV" = ( -/obj/structure/plasticflaps{ - name = "Officer Beepsky's Home" - }, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"dyW" = ( -/obj/structure/bed/dogbed, -/mob/living/simple_animal/bot/secbot/beepsky, -/turf/open/floor/plating, -/area/hallway/primary/fore) -"dyX" = ( -/obj/structure/sign/poster/contraband/rip_badger{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"dyY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"dyZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"dza" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"dzc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/trinary/filter/critical{ - dir = 4; - filter_type = "freon"; - name = "gas filter (freon)" - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"dzd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"dze" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/black, -/area/engine/engineering) -"dzf" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"dzg" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/hallway/secondary/bridges/cargo_ai) -"dzh" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ai_monitored/storage/eva) -"dzi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"dzj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/red/side, -/area/security/brig) -"dzk" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"dzl" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) -"dzm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"dzn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"dzo" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Starboard Asteroid Maintenance APC"; - areastring = "/area/maintenance/asteroid/starboard"; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/end{ - icon_state = "warn_end"; - dir = 1 - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"dzp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard/aft) -"dzq" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"dzr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/primary/aft) -"dzs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/aft) -"dzt" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/supply) -"dzu" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/supply) -"dzv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"dzw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"dzx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"dzy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cmooffice" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) -"dzA" = ( -/turf/open/floor/plasteel, -/area/medical/surgery) -"dzB" = ( -/obj/effect/landmark/xeno_spawn, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/surgery) -"dzC" = ( -/obj/structure/table, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/circular_saw, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/medical/surgery) -"dzD" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/surgery) -"dzE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/mask/muzzle, -/obj/structure/table/glass, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"dzF" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/pen/red, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"dzG" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/structure/filingcabinet, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"dzH" = ( -/obj/structure/table/glass, -/obj/item/clipboard, -/obj/item/toy/figure/virologist, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"dzI" = ( -/obj/item/bedsheet/medical, -/obj/structure/bed, -/obj/item/device/radio/intercom{ - broadcasting = 0; - name = "Station Intercom (General)"; - pixel_y = 20 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"dzJ" = ( -/obj/item/storage/secure/safe{ - pixel_y = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"dzK" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/crew_quarters/heads/cmo) -"dzL" = ( -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dzM" = ( -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, -/area/medical/virology) -"dzN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"dzO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dzP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/chair/office/light{ - icon_state = "officechair_white"; - dir = 1 - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dzR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dzS" = ( -/obj/structure/closet, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"dzT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 5 - }, -/area/medical/medbay/central) -"dzU" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dzV" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dzW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dzX" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"dzY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/vending/wallmed{ - pixel_y = 26 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"dzZ" = ( -/obj/machinery/status_display{ - density = 0; - layer = 4 - }, -/turf/closed/wall/r_wall, -/area/medical/virology) -"dAc" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"dAd" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"dAe" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dAf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"dAg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"dAh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dAi" = ( -/obj/structure/sign/securearea, -/turf/closed/wall/r_wall, -/area/medical/virology) -"dAj" = ( -/obj/structure/table/glass, -/obj/item/book/manual/wiki/infections{ - pixel_y = 7 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 9 - }, -/area/medical/virology) -"dAn" = ( -/obj/structure/sign/poster/official/nanotrasen_logo, -/turf/closed/wall, -/area/medical/medbay/central) -"dAq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dAs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dAt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dAv" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - icon_state = "door_locked"; - id_tag = "virology_airlock_interior"; - locked = 1; - name = "Virology Interior Airlock"; - req_access_txt = "39" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"dAw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"dAz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dAA" = ( -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dAD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dAE" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/spray/cleaner, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dAF" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/medbay/central) -"dAJ" = ( -/obj/machinery/requests_console{ - announcementConsole = 0; - department = "Medbay"; - departmentType = 1; - name = "Medbay RC"; - pixel_x = 30 - }, -/obj/structure/table/glass, -/obj/item/storage/box/bodybags{ - pixel_x = 3; - pixel_y = 2 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"dAP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dAS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"dAU" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/central) -"dAV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"dAX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"dAY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 5 - }, -/area/medical/medbay/central) -"dBc" = ( -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"dBd" = ( -/obj/machinery/atmospherics/components/unary/cryo_cell{ - dir = 8; - icon_state = "cell-off" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dBe" = ( -/obj/machinery/light, -/obj/structure/sign/chemistry{ - pixel_y = -32 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"dBf" = ( -/obj/machinery/camera{ - c_tag = "Medbay Lobby"; - dir = 1; - network = list("SS13") - }, -/turf/open/floor/plasteel/whiteblue/side, -/area/medical/medbay/central) -"dBh" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/structure/bed/roller, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"dBi" = ( -/obj/machinery/light, -/obj/structure/bed/roller, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"dBj" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 6 - }, -/area/medical/medbay/central) -"dBk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dBn" = ( -/obj/structure/sign/nosmoking_2, -/turf/closed/wall, -/area/medical/medbay/central) -"dBp" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "chemisttop"; - name = "Chemistry Lobby Shutters" - }, -/obj/machinery/door/window/southleft{ - name = "Chemistry Desk"; - req_access_txt = "5; 33" - }, -/obj/item/folder/yellow, -/obj/machinery/door/window/northleft{ - name = "Chemistry Desk" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/medical/chemistry) -"dBq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "chemisttop"; - name = "Chemistry Lobby Shutters" - }, -/turf/open/floor/plating, -/area/medical/chemistry) -"dBs" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "chemisttop"; - name = "Chemistry Lobby Shutters" - }, -/obj/machinery/door/window/southleft{ - name = "Chemistry Desk"; - req_access_txt = "5; 33" - }, -/obj/machinery/door/window/northleft{ - name = "Chemistry Desk" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/medical/chemistry) -"dBu" = ( -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"dBv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"dBw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"dBx" = ( -/obj/structure/table/glass, -/obj/item/storage/box/syringes, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"dBy" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/landmark/start/chemist, -/obj/machinery/button/door{ - id = "chemisttop"; - name = "Chemistry Shutter Control"; - pixel_x = 24; - pixel_y = 22; - req_access_txt = "33" - }, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 4 - }, -/area/medical/chemistry) -"dBz" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 4 - }, -/area/medical/chemistry) -"dBA" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/eastleft{ - name = "Chemistry Desk"; - req_access_txt = "33" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/southleft{ - dir = 8; - name = "Chemistry Desk"; - req_access_txt = "5; 33" - }, -/turf/open/floor/plating, -/area/medical/chemistry) -"dBH" = ( -/obj/machinery/vending/medical, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"dBI" = ( -/obj/machinery/chem_dispenser, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side, -/area/medical/chemistry) -"dBJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 8 - }, -/area/medical/chemistry) -"dBL" = ( -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 4 - }, -/area/medical/chemistry) -"dBM" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"dBN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteyellow/side{ - dir = 1 - }, -/area/medical/chemistry) -"dBO" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 8 - }, -/area/medical/medbay/zone2) -"dBP" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 6 - }, -/area/medical/medbay/zone2) -"dBQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"dBR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door{ - id = "MechbayShutters"; - name = "Mechbay Shutters"; - pixel_x = 25; - pixel_y = -24; - req_access_txt = "29" - }, -/turf/open/floor/plasteel/purple/corner{ - dir = 8 - }, -/area/hallway/primary/aft) -"dBS" = ( -/obj/machinery/door/poddoor/shutters{ - id = "MechbayShutters" - }, -/turf/open/floor/plating, -/area/science/robotics/mechbay) -"dBU" = ( -/turf/closed/wall, -/area/science/robotics/mechbay) -"dBW" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/effect/landmark/start/roboticist, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "RoboticsShutters"; - name = "Robotics Privacy Shutters"; - pixel_x = -25; - pixel_y = 8; - req_access_txt = "29" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dBX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dBY" = ( -/obj/effect/landmark/start/roboticist, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dBZ" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dCa" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dCb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dCc" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Mech Bay"; - req_access_txt = "29" - }, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"dCd" = ( -/obj/structure/rack, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dCe" = ( -/turf/open/floor/mech_bay_recharge_floor, -/area/science/robotics/mechbay) -"dCf" = ( -/obj/effect/landmark/start/roboticist, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) -"dCg" = ( -/obj/structure/table, -/obj/item/device/mmi, -/obj/item/device/mmi, -/obj/item/device/mmi, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) -"dCh" = ( -/obj/structure/table, -/obj/item/storage/firstaid{ - name = "first-aid kit (empty)" - }, -/obj/item/storage/firstaid{ - name = "first-aid kit (empty)" - }, -/obj/item/storage/firstaid{ - name = "first-aid kit (empty)" - }, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/prox_sensor, -/obj/item/device/assembly/prox_sensor, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dCi" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"dCj" = ( -/obj/machinery/computer/operating, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) -"dCl" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RoboticsShutters" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/science/robotics/lab) -"dCm" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "RoboticsShutters" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/science/robotics/lab) -"dCn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/science/robotics/mechbay) -"dCo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/science/robotics/mechbay) -"dCr" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/whitepurple/side{ - dir = 1 - }, -/area/science/research) -"dCs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"dCt" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/white, -/area/science/research) -"dCu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/medical/virology) -"dCv" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"dCw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/starboard) -"dCx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/mineral, -/area/maintenance/asteroid/starboard) -"dCy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/mineral/random/labormineral, -/area/maintenance/asteroid/starboard) -"dCz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"dCA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/mineral, -/area/mine/unexplored{ - name = "Medical Asteroid" - }) -"dCC" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8; - frequency = 1441; - id = "n2_in" - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space) -"dCD" = ( -/obj/machinery/iv_drip, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dCE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dCF" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dCG" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dCH" = ( -/obj/structure/sign/biohazard, -/turf/closed/wall/r_wall, -/area/medical/virology) -"dCL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dCM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dCN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"dCO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dCR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/medical/virology) -"dCS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/medical/virology) -"dCT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/medical/virology) -"dCU" = ( -/obj/structure/bed/roller, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"dCV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/mob/living/carbon/monkey, -/turf/open/floor/plasteel/white, -/area/medical/virology) -"dCX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/computer/shuttle/mining, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"dEm" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"dPQ" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"dTM" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"dZe" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"ecv" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"eec" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"ehn" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"ejj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north/east) -"enD" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/teleporter) -"ewd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/storage/primary) -"eBB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"eHJ" = ( -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"eYG" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/engine/gravity_generator) -"fbR" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"fdP" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_south) -"ffH" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"fkB" = ( -/obj/machinery/computer/med_data/syndie, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"fsD" = ( -/obj/structure/table/reinforced, -/obj/machinery/status_display{ - pixel_x = -32 - }, -/obj/item/clipboard, -/obj/machinery/light{ - dir = 8 - }, -/obj/item/folder/red, -/obj/item/toy/figure/syndie, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"fxP" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"fQQ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/south) -"fTb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/crew_quarters/heads/hos) -"fTn" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"fVk" = ( -/obj/machinery/computer/secure_data/syndie, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"fXq" = ( -/turf/open/space, -/obj/machinery/porta_turret/syndicate{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"ghw" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 4; - icon_state = "pipe-j2s"; - name = "disposal pipe - Robotics"; - sortType = 14 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"gqd" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"gAE" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/heads/hor) -"gIL" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hop) -"gOr" = ( -/obj/machinery/nuclearbomb/syndicate, -/obj/machinery/door/window{ - dir = 1; - name = "Theatre Stage"; - req_access_txt = "0" - }, -/turf/open/floor/circuit/red, -/area/shuttle/syndicate) -"gTe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/white, -/area/science/lab) -"gXD" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hos/private) -"hco" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"hiU" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"hkI" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"hAB" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/grass, -/area/crew_quarters/rehab_dome) -"hKt" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/darkblue/side{ - dir = 1 - }, -/area/bridge) -"hOb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/crew_quarters/heads/cmo/private) -"hXC" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"ieV" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/docking) -"inu" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/west/secondary) -"iuy" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"ixb" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - HoS Office"; - sortType = 8 - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"jfl" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/science/misc_lab) -"jfM" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_west) -"jnf" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Chief Engineer's Private Quarters APC"; - areastring = "/area/crew_quarters/heads/chief/private"; - pixel_x = -23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/asteroid/end{ - icon_state = "ast_warn_end"; - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"jsL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/south/west) -"jXv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/fitness) -"jYi" = ( -/obj/machinery/holopad, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"kds" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"kdF" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"kfe" = ( -/obj/item/chair, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"kfu" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - QM Office"; - sortType = 3 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"khr" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"klh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/girder, -/obj/structure/grille, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"knG" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"knQ" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/white, -/area/science/mixing) -"kxH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north) -"kzz" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/security/vacantoffice) -"kEb" = ( -/obj/machinery/quantumpad, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/security) -"kLf" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"kNu" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"kQd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"kSZ" = ( -/obj/structure/closet/emcloset, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_x = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) -"kUG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/item/wrench, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"lme" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/neast) -"lnN" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/medical/surgery) -"loB" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/solars/asteroid/fore) -"lqQ" = ( -/obj/machinery/conveyor/auto, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"lqU" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_north) -"lzY" = ( -/obj/structure/grille, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"lFc" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"lGP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"lOB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/east) -"lPU" = ( -/obj/structure/shuttle/engine/propulsion/right, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, -/area/shuttle/syndicate) -"lRC" = ( -/obj/item/grenade/syndieminibomb{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/grenade/syndieminibomb{ - pixel_x = -1 - }, -/obj/structure/table/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/grenade/plastic/c4, -/obj/item/grenade/plastic/c4, -/obj/item/grenade/plastic/c4, -/obj/item/grenade/plastic/c4, -/obj/item/grenade/plastic/c4, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"lZv" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/conveyor/auto{ - dir = 5; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"mfY" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north) -"mhj" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"mqe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/west/secondary) -"mro" = ( -/obj/structure/girder, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"mKW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/circuit, -/area/tcommsat/server) -"mUO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"ndV" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"nhB" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"nqz" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west/secondary) -"nuB" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/north/east) -"nCp" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/dropper, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"nES" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"nFd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/south) -"nJQ" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/north) -"nJU" = ( -/obj/machinery/suit_storage_unit/syndicate, -/turf/open/floor/plasteel/podhatch{ - dir = 6 - }, -/area/shuttle/syndicate) -"nKt" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"nSJ" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"nYL" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"okW" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"onJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"owe" = ( -/obj/machinery/light/small, -/obj/structure/closet/toolcloset, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"oAh" = ( -/obj/machinery/conveyor/auto{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"oAZ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/north/west) -"oCT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"oGf" = ( -/obj/machinery/telecomms/allinone{ - intercept = 1 - }, -/turf/open/floor/circuit/red, -/area/shuttle/syndicate) -"oHZ" = ( -/obj/structure/table/reinforced, -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/obj/item/storage/fancy/donut_box, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"oIk" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"oKd" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"oNh" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north/east) -"oRA" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"oVZ" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"paW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"peP" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"ppM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) -"pxP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"pAt" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j2s"; - name = "disposal pipe - Hydroponics"; - sortType = 21 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"pAv" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/engine/break_room) -"pFg" = ( -/obj/machinery/door/airlock/external{ - name = "Ready Room"; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"pGA" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms/male) -"pQY" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"pTy" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/south/west) -"pZu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"qah" = ( -/turf/open/space, -/obj/machinery/porta_turret/syndicate{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"qbN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"qel" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"qia" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = -32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"qwU" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"qza" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"qFX" = ( -/obj/effect/baseturf_helper/asteroid/airless, -/turf/open/floor/plasteel/floorgrime, -/area/ruin/space/derelict/secret{ - valid_territory = 0 - }) -"qOD" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/miningdock/abandoned) -"qRT" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"qTC" = ( -/obj/machinery/door/window{ - dir = 1; - name = "Technological Storage"; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"qVE" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet/fitness) -"rcy" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/disposal/incinerator) -"rnv" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "South Western Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/south/west"; - pixel_y = -24 - }, -/obj/structure/cable/orange, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"rsx" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/north) -"rtA" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"rzu" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"rzC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"rBq" = ( -/obj/item/storage/firstaid/regular{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"rDs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"rHM" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"rKN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north/west) -"rLZ" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/science/server) -"rPx" = ( -/obj/structure/chair{ - dir = 4; - name = "tactical chair" - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"rRb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"rWL" = ( -/obj/machinery/light/small, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"sck" = ( -/obj/structure/shuttle/engine/propulsion, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, -/area/shuttle/syndicate) -"ssn" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"stD" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/west) -"swy" = ( -/obj/item/weldingtool/largetank{ - pixel_y = 3 - }, -/obj/item/device/multitool, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"szL" = ( -/obj/machinery/conveyor/auto{ - dir = 9 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"sDp" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"sKT" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/fore/com_west) -"sLz" = ( -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"sMX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"sUE" = ( -/obj/item/device/sbeacondrop/bomb{ - pixel_y = 5 - }, -/obj/item/device/sbeacondrop/bomb, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"sWw" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"sYV" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/item/device/aicard, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"sZf" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/command) -"tga" = ( -/obj/machinery/light/small, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"ttS" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/north/west) -"tCI" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"tOG" = ( -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"tPc" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/ai_monitored/turret_protected/aisat/hallway) -"tTl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'."; - name = "KEEP CLEAR OF PAD WHEN IN USE"; - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/cargo) -"tUD" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - CMO Office"; - sortType = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"ufn" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"ufo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/red/side, -/area/security/prison) -"ujk" = ( -/obj/machinery/computer/shuttle/syndicate, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"ujN" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j2s"; - name = "disposal pipe - Chapel"; - sortType = 17 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"ula" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/medical/morgue) -"uBe" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"uER" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/crew_quarters/heads/hor/private) -"uNO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"uRf" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"uSr" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"uTg" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"uUL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/theatre) -"uXC" = ( -/obj/machinery/conveyor/auto{ - dir = 5; - verted = -1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"uYr" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"uZq" = ( -/obj/item/wrench, -/obj/item/device/assembly/infra, -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"vls" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - Custodials"; - sortType = 22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"vlV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/rack, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"vnW" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"vol" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/grille/broken, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"vtB" = ( -/obj/structure/disposalpipe/junction, -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"vCD" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/aft) -"vFB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"vUn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"vZt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"wgh" = ( -/obj/machinery/status_display, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate) -"wil" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/north) -"wpW" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/maintenance/asteroid/aft/arrivals) -"wvJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "North Eastern Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/north/east"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"wGW" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/medical/patients_rooms) -"wRW" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 4; - icon_state = "pipe-j2s"; - name = "disposal pipe - Research"; - sortType = 12 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"wVc" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j2s"; - name = "disposal pipe - Kitchen"; - sortType = 20 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"xbV" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"xgx" = ( -/turf/open/floor/plasteel/podhatch{ - dir = 10 - }, -/area/shuttle/syndicate) -"xis" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/handcuffs{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/zipties, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"xov" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 1; - icon_state = "pipe-j2s"; - name = "disposal pipe - Medbay"; - sortType = 9 - }, -/obj/item/wrench, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"xqZ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"xtR" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"xvx" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"xBc" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"xGd" = ( -/obj/structure/chair/office/dark{ - dir = 1; - name = "tactical swivel chair" - }, -/obj/machinery/button/door{ - id = "syndieshutters"; - name = "Cockpit View Control"; - pixel_x = 32; - pixel_y = 32; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/black, -/area/shuttle/syndicate) -"xQI" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"ybv" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/west/secondary) -"yfn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"yyr" = ( -/obj/machinery/conveyor/auto{ - dir = 10 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"yEH" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/port/west) -"yFq" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"yGe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"yIe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"yIq" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/south) -"yOy" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/science/storage) -"yQL" = ( -/obj/machinery/conveyor/auto, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"yRS" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"yWG" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"yWK" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"yXg" = ( -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"zdv" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"zfh" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/conveyor/auto{ - dir = 6; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"ziw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/freezer, -/area/medical/genetics/cloning) -"zjN" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/com_east) -"zlm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"zns" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"zon" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/obj/structure/grille, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"zpw" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard/fore) -"zrU" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"zsP" = ( -/obj/structure/shuttle/engine/propulsion/left, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, -/area/shuttle/syndicate) -"zuT" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"zwR" = ( -/turf/open/floor/plasteel/podhatch{ - dir = 6 - }, -/area/shuttle/syndicate) -"zyk" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"zzP" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"zBg" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"zFO" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/closed/mineral, -/area/crew_quarters/theatre{ - name = "Top Secret Clown HQ" - }) -"zHG" = ( -/obj/machinery/door/airlock/external{ - name = "E.V.A. Gear Storage"; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"zRh" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"zXV" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/east) -"zZN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/south/west) -"Aaw" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"AbZ" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north/west) -"AgT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/processing) -"Ajf" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"Arn" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/brown{ - dir = 1 - }, -/area/quartermaster/qm) -"AGf" = ( -/obj/machinery/disposal/deliveryChute, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/east) -"ANA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"AOn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"Bhs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"Bju" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"BoD" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"Brt" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) -"Bsu" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"BGO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/item/wrench, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"BMP" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/heads/chief) -"BMW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille/broken, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"BNE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"BPU" = ( -/obj/item/chair, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"BQj" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"BXG" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"CdN" = ( -/obj/structure/table/optable, -/obj/item/surgical_drapes, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"Cjh" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/checkpoint/science) -"CuI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"CxW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/grille/broken, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"CFx" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/armory) -"CHb" = ( -/obj/structure/chair{ - dir = 8; - name = "tactical chair" - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"CJx" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"CZk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"Dhd" = ( -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = -3 - }, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"DrB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"DEO" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"DHr" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"DHs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"DKn" = ( -/obj/structure/plasticflaps, -/obj/machinery/conveyor/auto, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"DNv" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/east) -"DXx" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/west) -"Ebh" = ( -/obj/structure/table/reinforced, -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/ointment, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"Eht" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, -/area/shuttle/syndicate) -"Ekn" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"Esb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"Esk" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 2 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"ExD" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"EzG" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"EDx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/reagent_dispensers/fueltank, -/obj/item/weldingtool, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"EGd" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/east) -"EIe" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"EKN" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - HoP Office"; - sortType = 15 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/rack, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"ERf" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"EWs" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/west) -"Fbo" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/west) -"Foo" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/wood, -/area/library/lounge) -"Fov" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"Fsg" = ( -/obj/structure/chair{ - name = "tactical chair" - }, -/turf/open/floor/plasteel/podhatch{ - dir = 6 - }, -/area/shuttle/syndicate) -"FFY" = ( -/obj/machinery/computer/camera_advanced/syndie, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"FQm" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/bar, -/area/crew_quarters/bar) -"FRD" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/maintenance/solars/asteroid/aft) -"FUy" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"FWK" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/east) -"FZD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Fore Asteroid Maintenance Access"; - req_access_txt = "12" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"Gae" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"GiS" = ( -/turf/open/floor/plasteel/podhatch{ - dir = 1 - }, -/area/shuttle/syndicate) -"Goz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/black, -/area/teleporter/quantum/research) -"GBu" = ( -/obj/structure/table, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) -"GOY" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"GPe" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/closed/wall, -/area/maintenance/asteroid/aft/science) -"GRh" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/north/east) -"GUQ" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"GWH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Eastern Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/east"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"HdC" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/east) -"Hlj" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/wood, -/area/lawoffice) -"Hmg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"HmY" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"Hpl" = ( -/obj/structure/closet/syndicate/nuclear, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"HsZ" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "150" - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/syndicate) -"HKu" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"HLI" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/cmo, -/area/crew_quarters/heads/cmo) -"HMd" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 1; - icon_state = "pipe-j2s"; - name = "disposal pipe - Atmospherics"; - sortType = 6 - }, -/obj/structure/grille/broken, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"HOp" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/showroomfloor, -/area/security/warden) -"HUf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"HWp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/darkgreen, -/area/hydroponics) -"Iad" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/south/west) -"IbX" = ( -/obj/machinery/suit_storage_unit/syndicate, -/turf/open/floor/plasteel/podhatch{ - dir = 5 - }, -/area/shuttle/syndicate) -"Idz" = ( -/obj/item/cautery, -/obj/item/scalpel, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"IeB" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - layer = 4; - name = "EXTERNAL AIRLOCK"; - pixel_x = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west/secondary) -"IHW" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate) -"IIn" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/west) -"ILy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/supermatter) -"IMP" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"IOE" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"Jov" = ( -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/white, -/area/science/research) -"JtY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/rack, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"Jul" = ( -/obj/structure/chair/office/dark{ - dir = 8; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/black, -/area/shuttle/syndicate) -"JvU" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "North Western Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/north/west"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/west) -"JDQ" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"JZR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"Kae" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"KcZ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"Kel" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"KkQ" = ( -/obj/machinery/conveyor/auto{ - dir = 6; - verted = -1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"KEd" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/weldingtool/hugetank, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"KPR" = ( -/obj/structure/girder, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"KQP" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Northern Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/north"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"KSc" = ( -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/signaler, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"LeL" = ( -/obj/machinery/suit_storage_unit/syndicate, -/turf/open/floor/plasteel/podhatch{ - dir = 4 - }, -/area/shuttle/syndicate) -"Llr" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) -"Lmy" = ( -/turf/open/floor/plasteel/podhatch{ - dir = 5 - }, -/area/shuttle/syndicate) -"LnK" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/south/west) -"LoO" = ( -/obj/item/storage/toolbox/mechanical/old, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"Ltv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"Lxz" = ( -/obj/structure/disposalpipe/junction, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"LDY" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/holodeck/rec_center) -"LGS" = ( -/obj/machinery/light/small, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"LJP" = ( -/obj/structure/closet/syndicate/personal, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"LTe" = ( -/turf/open/floor/plasteel/podhatch{ - dir = 9 - }, -/area/shuttle/syndicate) -"MaD" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/west/secondary) -"MfG" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"MxO" = ( -/obj/structure/table, -/obj/item/storage/fancy/cigarettes, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"MzE" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/west/secondary) -"MNm" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/west/secondary) -"MTb" = ( -/obj/machinery/door/airlock/glass_external{ - cyclelinkeddir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"MWx" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 1; - icon_state = "pipe-j2s"; - name = "disposal pipe - Genetics"; - sortType = 23 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"MXP" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/janitor) -"MZA" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"Nas" = ( -/obj/item/wrench, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/west) -"Nbq" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"Nci" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"Ner" = ( -/obj/machinery/computer/crew/syndie, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"NkJ" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j2s"; - name = "disposal pipe - Security"; - sortType = 7 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"Not" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/south/west) -"NxB" = ( -/obj/machinery/sleeper/syndie{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"NHH" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/west) -"NOe" = ( -/obj/structure/chair{ - dir = 1; - name = "tactical chair" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"NTY" = ( -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"NUL" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 8 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"NYl" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"OgL" = ( -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"Oih" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/tcommsat/computer) -"OmI" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/disposaloutlet{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/south) -"Oss" = ( -/obj/structure/closet/firecloset/full, -/obj/item/coin/silver, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"OPf" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/item/bodypart/r_arm/robot, -/obj/item/bodypart/l_arm/robot, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"OPP" = ( -/obj/machinery/holopad, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"OQj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"OUe" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/crew_quarters/heads/chief/private) -"Pap" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j2s"; - name = "disposal pipe - Bar"; - sortType = 19 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"PfX" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"PhV" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/engine/atmos) -"Pnn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) -"PsJ" = ( -/obj/structure/chair/stool, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"Pti" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Western Secondary Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/west/secondary"; - pixel_x = 23; - pixel_y = 2 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west/secondary) -"PFk" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - icon_state = "pipe-j2s"; - name = "disposal pipe - Library"; - sortType = 16 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"PLn" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Port Asteroid Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"PTb" = ( -/obj/item/stock_parts/cell/high{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/high, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"PUG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"PXs" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/west) -"PXL" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/checkpoint/medical) -"Qbt" = ( -/obj/structure/chair/office/dark{ - dir = 4; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/black, -/area/shuttle/syndicate) -"QbG" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - RD Office"; - sortType = 13 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"QeW" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"Qmh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"Qqu" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"QFX" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/brute, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"QIK" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/south) -"QTJ" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/asteroid, -/area/maintenance/asteroid/central) -"Rhg" = ( -/turf/closed/wall/rust, -/area/maintenance/asteroid/disposal/north/east) -"Rsm" = ( -/obj/machinery/gateway, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/awaymission/research/interior/gateway) -"RAQ" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"RKn" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/west) -"RKE" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"RQE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"RQH" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"RTO" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/south/west) -"RUN" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/maintenance/asteroid/fore/cargo_south) -"SaA" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_east) -"SfQ" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"Slf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"SrE" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/grille/broken, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"Svz" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"SvE" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms/female) -"Sxw" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"SHC" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "SM South"; - dir = 1; - network = list("SS13","CE") - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/engine/engineering) -"SKM" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"SMF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/quartermaster/qm/private) -"SQL" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/syndicate/black/red, -/obj/item/clothing/head/helmet/space/syndicate/black/red, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"SUs" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/storage/toolbox/mechanical, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south) -"Tav" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/sign/poster/random{ - name = "random contraband poster"; - pixel_y = 32; - random_basetype = /obj/structure/sign/poster/contraband - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"TaH" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"TaL" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/east) -"Tef" = ( -/obj/effect/turf_decal/stripes/asteroid/line{ - icon_state = "ast_warn"; - dir = 8 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"TfU" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"TiR" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/neutral, -/area/security/courtroom) -"TiY" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/grass, -/area/medical/genetics) -"Tzw" = ( -/obj/structure/grille/broken, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"TFw" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 1; - icon_state = "pipe-j2s"; - name = "disposal pipe - Engineering"; - sortType = 4 - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"THy" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/fore/com_east) -"TJh" = ( -/obj/machinery/door/airlock/hatch{ - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"TRu" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"TTr" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/checkpoint/supply) -"UdM" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"Uhy" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 1 - }, -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/east) -"UnC" = ( -/obj/machinery/door/window{ - dir = 1; - name = "Surgery"; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault, -/area/shuttle/syndicate) -"UrW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/quartermaster/storage) -"UtE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"Uwx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"UwA" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"UCK" = ( -/obj/structure/chair{ - dir = 8; - name = "tactical chair" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"UCR" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/closed/mineral/random/labormineral, -/area/mine/unexplored{ - name = "Civilian Asteroid" - }) -"UFv" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north) -"UJo" = ( -/obj/item/screwdriver{ - pixel_y = 9 - }, -/obj/item/device/assembly/voice{ - pixel_y = 3 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"ULk" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) -"UOh" = ( -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"UQc" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"URO" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 8; - icon_state = "pipe-j2s"; - name = "disposal pipe - CE Office"; - sortType = 5 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north) -"Van" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/west) -"VbR" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Western Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/west"; - pixel_y = 24 - }, -/obj/structure/cable/orange{ - d2 = 2; - icon_state = "0-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"VdI" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"Vud" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/whiteyellow/corner{ - dir = 1 - }, -/area/medical/chemistry) -"VwE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/white, -/area/science/robotics/mechbay) -"VxC" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"VFF" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"VHp" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"VIG" = ( -/obj/item/surgicaldrill, -/obj/item/circular_saw, -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"VMD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/carpet, -/area/library) -"VSX" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/grille/broken, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north) -"Wbp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/asteroid/disposal/south) -"WbG" = ( -/turf/open/floor/plasteel/podhatch, -/area/shuttle/syndicate) -"Wcl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"Wgl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"Wid" = ( -/obj/machinery/door/poddoor{ - id = "smindicate"; - name = "outer blast door" - }, -/obj/machinery/button/door{ - id = "smindicate"; - name = "external door control"; - pixel_x = -26; - req_access_txt = "150" - }, -/obj/docking_port/mobile{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate"; - name = "syndicate infiltrator"; - port_angle = 0; - roundstart_move = "syndicate_away"; - width = 18 - }, -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_nw"; - name = "northwest of station"; - turf_type = /turf/open/space; - width = 18 - }, -/obj/structure/fans/tiny, -/turf/open/floor/plasteel/podhatch{ - dir = 1 - }, -/area/shuttle/syndicate) -"WjU" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"Wub" = ( -/obj/item/retractor, -/obj/item/hemostat, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"Wue" = ( -/obj/structure/table, -/obj/item/storage/fancy/cigarettes, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"WAy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/checkpoint/engineering) -"WVc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/clothing/head/cone, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/port/west) -"WYB" = ( -/obj/structure/rack, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/west) -"Xhf" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/orange{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"XmD" = ( -/obj/machinery/conveyor/auto{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"XtS" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/zone2) -"XFS" = ( -/obj/machinery/recharge_station, -/turf/open/floor/circuit/red, -/area/shuttle/syndicate) -"XLa" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"XRA" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "Southern Disposals APC"; - areastring = "/area/maintenance/asteroid/disposal/south"; - pixel_y = -24 - }, -/obj/structure/cable/orange, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"XSM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/fore/com_west) -"XXu" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south) -"XZA" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"Yck" = ( -/obj/structure/chair{ - dir = 4; - name = "tactical chair" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/shuttle/syndicate) -"YcZ" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/maintenance/asteroid/disposal/north/west) -"Yhz" = ( -/obj/machinery/door/airlock/hatch{ - name = "Cockpit"; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"Yug" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/astplate, -/area/maintenance/asteroid/starboard) -"YyX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"YBW" = ( -/obj/structure/cable/orange{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/brig) -"YCP" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/engine{ - name = "reinforced floor" - }, -/area/hallway/secondary/bridges/serv_sci) -"YHv" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/north/west) -"YLw" = ( -/obj/machinery/conveyor/auto{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west/secondary) -"YNP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/conveyor_switch{ - id = "CargoWaste" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) -"YTk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/asteroid/starboard) -"YTF" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plasteel, -/area/security/main) -"YUT" = ( -/obj/item/storage/toolbox/syndicate, -/obj/item/crowbar/red, -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/podhatch{ - dir = 10 - }, -/area/shuttle/syndicate) -"YWC" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating, -/area/storage/tech) -"YZx" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/east) -"Zed" = ( -/obj/effect/baseturf_helper/asteroid, -/turf/open/floor/plating/astplate, -/area/security/execution/transfer) -"ZeA" = ( -/obj/structure/closet, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/south/west) -"ZfX" = ( -/turf/open/space, -/obj/machinery/porta_turret/syndicate{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"Zsk" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/obj/structure/grille/broken, -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/south/west) -"ZHk" = ( -/turf/closed/wall, -/area/maintenance/asteroid/disposal/north/west) -"ZLG" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/maintenance/asteroid/disposal/west) -"ZWz" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/shuttle/syndicate) -"ZYy" = ( -/turf/open/space, -/obj/machinery/porta_turret/syndicate{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/syndicate) -"ZZE" = ( -/turf/open/floor/plasteel/floorgrime, -/area/maintenance/asteroid/disposal/north/east) - -(1,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(2,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(3,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(4,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(5,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(6,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aab -aaa -aaa -aac -aac -aac -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(7,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aad -aac -aac -aac -aab -aaa -aaa -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aac -aad -aad -aaa -aaa -aaa -aad -aab -aab -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(8,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aac -aac -aac -aad -aaa -aaa -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aac -aac -aac -aac -aac -aad -aad -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(9,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aab -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aac -aad -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(10,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aab -aab -aab -aac -aac -aad -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aab -aac -aac -aac -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(11,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aad -aac -aab -aab -aab -aab -aab -aab -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aad -aad -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aab -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(12,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aad -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(13,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aad -aab -aad -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aab -aac -aac -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(14,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aab -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aac -aac -aac -aac -aac -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(15,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aab -aab -aab -aab -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aad -aac -aac -aac -aac -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(16,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -cFp -aaa -aaa -aaa -aab -aab -aab -aab -aad -aad -aad -aad -aab -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aad -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(17,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -fXq -aai -aai -aai -aai -aai -aai -aai -aai -aaM -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -aaa -aaa -aab -aab -aab -aab -aad -aad -aad -aad -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(18,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -fXq -aai -aai -aai -aai -aai -aai -NxB -JDQ -NxB -nCp -OPf -VIG -Idz -Eht -zsP -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaP -aaP -aaP -aaP -aaP -aaP -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aaP -aaP -aaP -aaP -aaP -aaP -cFp -aaa -aaa -aad -aab -aab -cTy -cTB -cTw -cTy -cTG -cTw -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(19,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aai -IbX -LeL -LeL -LeL -nJU -aai -sLz -NTY -acU -acU -UnC -acU -CdN -Eht -sck -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaP -aba -abr -abr -abV -acj -cFp -cFp -cFp -cFp -cXs -cFp -cFp -cFp -cFp -cFp -avx -abV -abr -abr -dyC -aaP -cFp -aaa -aaa -aab -aad -cTv -cTy -cTC -cTx -cTC -cTH -cTw -cTw -aac -aac -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(20,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aai -acU -acU -acU -acU -acU -IHW -yWG -NTY -LTe -xgx -ufn -aeF -Wub -Eht -lPU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaP -abb -abs -abs -aaP -aaP -cXs -cXs -cXs -cXs -cXs -cXs -cXs -cXs -cXs -cXs -aaP -aaP -abs -abs -abb -aaP -cFp -aaa -aad -aad -aad -cTw -cTy -cTB -cTz -cTE -cTC -cTL -cTy -aac -aac -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -RTO -RTO -Ltv -Ltv -Ltv -RTO -RTO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(21,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -fXq -aai -aai -aai -aaM -cFp -cFp -aai -acU -acU -acU -acU -acU -aai -Dhd -NTY -GiS -WbG -QFX -aai -aai -aai -ZYy -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaP -abb -abs -aaP -aaP -cXs -cFp -cFp -cFp -cFp -cXs -cFp -cFp -cFp -cFp -cFp -cXs -aaP -aaP -abs -abb -aaP -cFp -aac -aac -aad -aad -cTv -cTz -cTx -cTD -qFX -cTI -cTM -cTy -aac -aad -aad -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -RTO -uSr -fxP -kLf -yXg -XLa -RTO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(22,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aai -fkB -fsD -NTY -aai -qah -cFp -aai -hkI -ZWz -hco -sLz -SfQ -aai -Ebh -NTY -GiS -WbG -rBq -aai -cFp -cFp -cFp -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaP -abc -aaP -aaP -cFp -cXs -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaP -aaP -abc -aaP -cFp -aac -aac -aad -aad -cTx -cTz -cTz -cTx -cTC -cTJ -cTN -cTx -aac -aad -aab -aad -aad -aad -aab -aad -aaa -aaa -aaa -aaa -aaP -aaP -aaP -aaP -aaP -aaP -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -RTO -RTO -RTO -pQY -RAQ -EzG -BPU -rnv -RTO -RTO -RTO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cBW -cBW -cBW -cBW -cBW -cBW -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(23,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaj -Ner -Jul -NTY -aai -aai -aai -aai -aai -aai -aai -zHG -acr -aai -aai -aai -TJh -acr -aai -aai -aai -aaM -cFp -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaP -abd -aaP -cFp -cFp -cXs -aaa -cFp -cFp -cFp -abC -cFp -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaP -dyD -aaP -cFp -aaa -aad -aac -aac -cTw -cTA -cTz -dyX -cTF -cTK -cTO -cTw -aac -aad -aab -aac -aad -aad -aad -aab -aaa -aaa -aaa -aaa -aaP -aba -abr -abr -abV -aYR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -LnK -Iad -sDp -Pap -wVc -pAt -PFk -ujN -XZA -Iad -pTy -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cBX -cCl -cCt -cCK -cCY -cDm -cCu -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(24,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaj -HmY -aan -NTY -wgh -caV -Yck -rPx -Yck -Yck -acr -acU -acU -acU -acU -IOE -GiS -WbG -NTY -acr -Eht -zsP -cFp -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -abC -cFp -cFp -cXs -cFp -cFp -abW -abW -adm -abE -cFp -cFp -cFp -cFp -abC -aaa -aaa -aaa -aaa -abC -cFp -aaa -aad -aac -aac -cTw -cTw -cTv -cTy -cTy -cTv -cTw -cTy -aad -aad -aab -aac -aac -aac -aad -aad -aad -aad -aaa -aaa -aaP -abb -abs -abs -aaP -aaP -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -RTO -Not -jsL -Tav -Lxz -oRA -Zsk -SrE -RTO -RTO -RTO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cBW -cBW -cCu -cCL -cCZ -cDn -cDm -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(25,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaj -ujk -xGd -NTY -Yhz -acU -aan -aan -aan -acU -pFg -acU -aan -aan -aan -aan -GiS -WbG -NTY -gOr -Eht -sck -cFp -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -abC -aaa -aaa -abC -aaa -aaa -abW -abW -abW -abE -abE -abW -abW -abW -abC -abW -aaa -aaa -aaa -abC -cFp -aaa -aaa -aaa -aac -aac -aad -aad -aac -aac -aac -aac -aad -aad -aad -aab -aac -aac -aac -aad -aab -aab -aad -aad -aaa -aaP -abb -abs -aaP -aaP -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -jsL -oKd -Tzw -zon -xBc -owe -Not -aXn -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cBW -cCM -cDa -cDo -cDF -cBW -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(26,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaj -DEO -aan -NTY -aai -xis -UCK -CHb -UCK -UCK -acr -acU -acU -acU -acU -FUy -GiS -WbG -NTY -acr -Eht -lPU -cFp -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -abC -aaa -abC -aaa -aaa -adm -abE -abW -abW -abW -abW -abW -abW -abW -abW -abW -adm -abW -aaa -aaa -aaa -abC -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aac -aad -aab -aad -aad -aad -aad -aad -aab -aab -aaa -aad -aad -aaa -aaP -abc -aaP -aaP -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXn -aXn -jsL -uTg -Uwx -yIe -oKd -ZeA -Not -aXn -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ccW -ccW -aaa -abC -aaa -cBW -cBW -cDb -cDp -cDn -cDN -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(27,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaj -FFY -Qbt -NTY -aai -aai -aai -abB -aai -aai -aai -HsZ -acr -aai -aai -aai -TJh -acr -aai -aai -aai -aaO -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -abC -aaa -cXs -abE -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -aaa -aaa -aaa -abC -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aad -aad -aad -aab -aad -aad -aad -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaP -abd -aaP -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXn -aXL -zZN -RTO -EIe -PLn -Not -Not -Not -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdb -cdb -cdb -ccW -ccW -ccW -abC -aaa -aaa -cBW -cCu -cDq -cCu -cDO -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(28,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -aai -fVk -oHZ -NTY -aai -ZYy -cFp -cFp -cFp -aai -YUT -acU -NOe -aai -PTb -NTY -GiS -WbG -sUE -aai -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -abC -aaa -abC -abW -dgh -dgg -deK -deI -abW -abW -abW -dgh -deI -deK -deK -abW -abW -abW -aaa -aaa -aaa -abC -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aab -aab -aab -aab -aab -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXK -aXK -bRR -bRR -bRR -aXK -aXK -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXL -bZz -din -aXW -vFB -cRp -dij -aXL -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdb -cdb -cdb -ccW -ccW -aaa -abC -aaa -aaa -aaa -cBW -cDr -cCu -cDP -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(29,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -ZfX -aai -aai -aai -aaO -cFp -cFp -cFp -cFp -Wid -WbG -acU -NOe -aai -UJo -NTY -GiS -WbG -lRC -aai -aai -aai -qah -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abE -abE -abW -ZHk -oAZ -ZHk -deK -deI -deL -dtA -deK -dgg -deI -dgh -dgh -dwa -dwp -deI -deK -deK -abW -aaa -aaa -aaa -abC -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXr -bhO -bhO -bhO -aXK -bQV -bRS -bSD -bTo -bTP -aXv -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXL -bZA -din -cak -ANA -cRp -dij -dij -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cdb -cdb -cdb -cdb -cdb -cdb -cdb -aaa -abC -aaa -aaa -aaa -cBW -cDq -cBW -cDQ -cBW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(30,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aci -Fsg -acU -SQL -wgh -uZq -NTY -Lmy -zwR -ufn -acU -XFS -Eht -zsP -cFp -cFp -cFp -cFp -cFp -cFp -abE -abE -ZHk -ttS -ttS -rKN -ttS -deI -dsD -deL -deL -deL -deL -deL -deL -dvN -deL -deL -deL -deL -deK -abW -aaa -aaa -aaa -abC -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bhO -bhO -bhO -bhO -bhO -bhO -bhO -bhO -bhO -bhO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -bhO -bhO -bhO -aXv -bQW -bRT -bcW -bTp -bcW -aXv -aXr -aXr -aXr -dij -cMs -aXK -aXv -aXL -aXK -bZB -aZS -aZS -klh -dij -dij -dij -dij -dij -aXL -aXL -aXL -aXL -aXn -aXn -ccW -cdb -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cdb -cdb -cdb -ccW -ccW -cdb -cdb -cdb -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(31,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -ZfX -aai -aai -aai -aai -KSc -NTY -acU -acU -qTC -acU -oGf -Eht -sck -cFp -cFp -cFp -cFp -cFp -abE -abE -ZHk -ttS -Nas -IIn -YHv -ttS -deL -dro -aMw -aMw -dtY -aMw -duW -aMw -dvO -aMw -aMw -dwE -deL -deI -abW -abW -cFp -aaa -abC -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bhO -bhO -bhO -bhO -aXn -aXn -aXr -bhO -bhO -bhO -bhO -bhO -aaa -aaa -aaa -aaa -bhO -bhO -bhO -aXn -aXn -aXn -aXr -aXr -aXK -aXv -aXK -bSE -bTq -bTQ -aXK -aXr -dij -dij -aXK -bYE -din -dim -din -bEK -bAi -din -din -tga -aXv -caW -cbE -aXX -din -din -ccp -aXL -cct -ccF -ccF -ccW -ccW -ccW -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cda -cda -cda -cda -cda -cda -ccW -ccW -cdb -cdb -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(32,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -acM -aai -swy -NTY -LJP -Hpl -sYV -FUy -XFS -Eht -lPU -cFp -cFp -cFp -cFp -abE -abW -ZHk -ZHk -LoO -stD -CuI -UwA -ZHk -deL -dsF -awz -awz -awz -awz -awz -awz -awz -awz -awz -dsF -dvN -deI -dgh -abW -cFp -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bhO -bhO -bhO -aaa -bhO -bhO -bhO -bhO -bhO -aXn -aXn -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXn -aXr -aXr -aXr -aXr -aXn -aXn -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXK -aXv -aXv -bTR -aXv -dij -aXK -aXv -diL -bkb -diq -diq -diq -diq -bkT -yEH -din -WVc -caW -caW -cbF -din -din -din -din -aYv -cct -cct -cct -ccX -ccX -ccW -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cda -cda -cda -cda -cda -cda -ccW -cdb -cdb -ccW -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(33,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -ZfX -aai -aai -aai -aai -aai -aai -aai -aai -aaO -cFp -cFp -cFp -cFp -abE -abW -ZHk -TfU -JvU -PXs -uXC -yyr -BoD -zns -XSM -awz -dtC -dtZ -duz -duX -dvx -dvP -dwc -awz -dsF -deL -dxw -dgh -abW -cFp -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bhO -bhO -aXn -aXn -aaa -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -dij -dij -aXv -bTr -bTS -aXL -aXv -aXK -cPX -bcW -bAi -bRV -bMV -bMV -vol -bMV -bMV -bMV -bRW -aXL -aXL -aXL -aXL -aXL -aXL -dio -din -din -din -cct -cct -cct -ccX -ccW -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cdb -aaa -aaa -cdb -cdb -cdb -cda -cda -cda -cda -cda -ccW -cdb -cdb -aaa -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(34,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -aaP -aaP -aaP -aaP -aaP -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -ZHk -ttS -ttS -ZHk -ttS -UwA -ZHk -ZHk -deL -dsF -awz -dtD -dua -duc -duY -duY -duY -duY -awz -dsF -deL -dtA -deK -abW -cFp -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -MNm -MaD -MNm -aaa -aaa -abC -aaa -aaa -aaa -aXn -aaa -aaa -aaa -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXn -aXn -aXr -dij -dij -dij -dij -dij -aXL -aXL -aXX -din -bEK -aXK -bcW -aXX -bAi -ANA -din -bYE -dim -din -din -din -dio -aXK -aXL -cRq -cRq -cam -cam -cRq -aXL -ccw -din -din -cct -cct -ccX -ccX -ccX -ccX -cdb -cdb -cdb -cdb -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cdb -cdb -aaa -cdb -cdb -cdb -cda -cda -cda -cda -cda -ccW -cdb -cdb -cdb -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(35,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -aba -abr -abr -abV -acj -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -YcZ -AbZ -DHr -lqQ -DKn -XmD -ttS -drL -deL -dsF -awz -dtE -dub -duB -duZ -dvz -dvR -dwe -awz -dsF -dsD -deK -deK -abW -EWs -RKn -EWs -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -MNm -mqe -MNm -aaa -aaa -abC -aaa -aaa -aXn -aXn -aaa -aXn -aXn -aXn -aXr -aXn -aXn -aXn -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXL -aXK -aXL -aXv -cMs -aXK -aXK -aXL -aXL -dij -aXv -aXv -aXK -aXL -bRU -aYS -aXL -aXX -bkb -xtR -bMV -bMV -bMV -VHp -Qmh -din -din -dim -aXK -aXv -aXK -aXL -aXL -cam -cam -cbP -cbQ -cch -cam -cct -cct -cct -din -din -cct -cct -ccX -ccX -ccX -ccX -ccX -cdb -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cdb -cdb -cda -cda -cda -cdb -cdb -cda -cda -cda -cda -ccW -ccW -cdb -cdb -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(36,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -abb -abs -abs -aaP -aaP -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -ZHk -ZHk -ZHk -ttS -ttS -ttS -ZHk -dgq -dsi -dsJ -awz -axu -duc -fTb -dva -dvA -dvS -dwf -awz -dsF -sKT -deI -dgh -abW -EWs -Van -EWs -EWs -EWs -EWs -EWs -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -MNm -zBg -MNm -aaa -aaa -abC -aaa -aaa -aXn -aXn -dij -dij -dij -aXr -aXr -aXr -aXr -aXr -dij -dij -dij -dij -blX -aXr -aXr -aXr -UCR -aXr -aXr -aXr -aXr -aXn -aXL -aXK -aXK -bCw -dio -bEK -dio -din -aXL -bKl -bKl -din -aXK -din -din -bkb -diq -bSF -bJl -diq -bkT -sMX -diq -diq -diq -diq -bkT -bWr -aXv -aXv -aXv -aXL -aXL -aXL -aXL -cam -cbG -cbQ -cbQ -cci -cam -cct -cct -cct -cct -din -dio -cct -cct -ccX -ccX -ccX -ccX -ccW -cdb -cdb -ccW -cdb -cdb -cdb -cdb -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -cdb -cda -cda -cda -cda -cda -cdb -cdb -cda -cda -cda -cda -cda -cda -cda -ccW -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(37,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -abb -abs -aaP -aaP -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abE -abW -abW -abW -abW -abW -dgh -deK -deL -deL -dsF -awz -dtF -duc -duC -duc -dvB -dvT -duc -awz -dwK -dwE -deL -deI -dgh -Fbo -RQE -gqd -nES -tOG -ZLG -EWs -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -MNm -Svz -MNm -MNm -MNm -MNm -aaa -aaa -aXn -aXn -dij -cMG -dij -aXv -aXv -cMt -aXK -aXK -dij -dio -dkr -aXK -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXL -bAh -diq -diq -diq -diq -diq -diq -bJl -diq -diq -diq -diq -diq -diq -bkT -bRV -bSG -bMV -bMV -bMV -UQc -din -din -din -diL -bXJ -bYm -aXK -aXL -dij -dij -dij -aXL -aXL -cam -cbH -cbR -cbQ -cbQ -cRq -aXL -aXL -cct -cct -ccY -din -din -cct -cct -ccX -ccX -ccX -ccX -ccX -ccX -ccX -ccX -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -aaa -cdb -cxg -cxg -cxg -cxg -cxg -cxg -cxg -cdb -cdb -cda -cda -cda -cda -cda -cda -ccW -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(38,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -abc -aaP -aaP -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abE -abE -abW -abW -abW -dgh -dgh -dgh -deL -dro -aMw -dsL -awz -dtG -duc -duC -duc -dvB -duc -duc -awz -dgh -dxd -dwE -deL -dgh -EWs -Wcl -nSJ -yFq -yFq -yFq -Fbo -EWs -EWs -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -MNm -MNm -MNm -MNm -MNm -MzE -nKt -IeB -Ekn -UOh -Ekn -aaa -aaa -aXn -aXK -aXK -bCC -bcX -cMV -cMY -bcX -cNC -cNR -bio -bio -bPl -dij -aXr -aXr -aXr -bpY -bpZ -bpZ -bpZ -bpZ -bpY -bpY -bpY -cPC -bBB -blY -blY -blY -cPW -cOW -blY -blY -bLw -cQr -bNT -bMV -cQr -cQr -bRW -aXv -din -din -din -bAu -din -diJ -bch -aXK -aXL -dij -dij -dij -dij -dij -dij -aXL -aXL -cRq -cam -cbQ -cbQ -ccj -cam -aXL -aXL -ccx -ccN -ccZ -din -din -din -cct -cct -ccX -ccX -ccX -ccX -ccX -ccX -ccX -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdb -cxg -cSe -cSi -cSk -cxZ -cSt -cxg -cdb -cdb -cda -cda -cda -cda -cda -cda -cda -cda -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(39,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -abd -aaP -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abE -abE -abW -abW -dgh -deK -deI -deL -dro -drN -dqV -dsM -awA -awA -duf -aAp -duf -aCz -duf -awA -awA -dsM -dxe -dxz -dwE -dsD -Fbo -RKE -NkJ -sWw -Ajf -Ajf -oIk -DXx -NHH -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -inu -ybv -SKM -ehn -MzE -lZv -oAh -UtE -MzE -MNm -MNm -aXn -aXn -aXL -aXK -din -bAu -cMN -cMW -cMZ -cMZ -cMZ -cMZ -cMZ -cOm -cOy -aXK -aXr -aXr -aXr -bpY -brt -bru -bul -bru -bwZ -bru -bpZ -cPC -cOB -aXv -aXK -aXv -cPX -aXK -cbs -bcW -cQk -aXL -aXK -cMt -aXv -aXK -aXK -aXL -aXL -aXL -din -bAu -aXL -aXK -aXK -aXK -dij -dij -dij -dij -dij -aXL -aXL -cal -cal -zFO -cRq -cbS -cbQ -cck -cam -aXL -ccx -ccG -ccO -cct -cct -din -din -din -cct -cct -cct -cct -cct -ccX -ccX -ccX -ccX -ccX -ccW -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxg -cSf -cSf -cyO -cSp -cSt -cxg -cdb -cdb -ccW -ccW -cda -cda -cda -cda -cda -cda -cBY -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(40,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abC -cFp -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -avv -avv -avw -avv -avv -avw -avv -avv -avv -cFp -cFp -abE -abW -dgh -deK -deI -dqF -dqU -drp -dqV -dqX -dsN -awB -axy -dug -duF -dve -dvD -dve -dwi -dwr -dsN -dxf -dxe -dsF -deL -Fbo -lzY -vZt -Wcl -yFq -yFq -Fbo -EWs -EWs -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -MNm -MNm -MNm -YLw -yQL -oAh -Pti -nqz -MzE -aXL -aXr -aXr -aXr -dij -aYS -din -bAu -cMO -cMT -cMT -cMT -cND -cMT -cMT -cMO -bAu -cMs -aXr -aXr -aXn -bpZ -bru -bsT -bum -bvQ -bxa -bye -bpZ -cPC -cOB -aXv -bDD -bEL -bcW -aXK -aXK -cQb -bdK -cQs -aXv -aXL -dij -dij -dij -dij -dij -aXL -aXZ -bVg -aXL -aXL -aXL -bTs -bTs -bTs -bTs -bTs -bTs -aXL -cal -cal -caG -caH -cbI -caH -caH -cRq -cam -aXL -ccy -aXL -aXL -aXL -cct -cct -din -din -din -bch -cct -cct -cct -ccX -ccX -ccX -ccX -ccX -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -cdb -aaa -aaa -aaa -cxg -cSg -cSj -yOy -cSq -cSt -cxg -cdb -cdb -ccW -ccW -cda -cda -cda -cda -cda -cda -ccW -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(41,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abC -cFp -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -avw -awx -axt -ayZ -aAn -aAn -aCx -aDL -aFe -cFp -cFp -abW -abW -dgh -auB -deL -dgk -dqV -drq -dqX -dsm -dsO -awC -avy -avy -duG -avy -dvE -aDM -dwj -dws -dsO -dxg -aBu -dsF -aJL -Fbo -VbR -Bhs -BNE -mro -LGS -EWs -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -MNm -MNm -MNm -MNm -MNm -DrB -MzE -aXL -aXr -aXr -aXr -dij -dij -aXK -cMH -cMO -cMT -cNa -cNo -cNE -cNS -cMT -cOn -cOz -dij -aXr -aXr -aXn -bpY -bru -bsU -bun -Rsm -bxb -byf -bpZ -cPC -cOB -aXv -aXv -aXK -aXL -aXL -aXL -cQc -bdK -bcW -aXv -aXL -bEM -bEM -bEM -bEM -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bXK -bXK -bXK -bXK -bTs -aXL -cam -caF -caG -cal -cam -cRq -cRq -cRq -aXn -aXL -aXL -aXL -aXn -ccW -ccX -cct -cct -cct -din -din -din -din -cct -cct -cct -cct -ccX -ccX -ccW -ccW -cdb -aaa -aaa -aaa -aaa -cdb -cpo -cqh -cqh -cqh -cpo -cSh -cSh -cyO -cSr -cSt -cxg -cdb -cdb -cdb -ccW -cda -cda -cda -cda -cda -cda -aaa -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(42,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abC -cFp -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -avw -awy -dlZ -avv -dmV -aAn -aAn -aDL -aFe -cFp -abW -abW -abW -dgh -deI -dqp -dqG -aBu -drr -drQ -dsn -avy -avy -axA -azb -aAq -axA -azb -azb -aFf -avy -avy -aIF -aBu -dxW -dvN -Fbo -WYB -yGe -vUn -uBe -dEm -EWs -abW -abW -adm -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aXK -Tef -aYi -aXL -dij -dij -aXv -aXv -aXK -cMz -bAu -bcU -cMT -cNb -cNp -cNF -cNT -cMT -cMO -cOz -aXv -aXr -aXr -aXn -bpZ -bru -bsV -buo -bvS -bxc -byg -bpY -cPC -cOB -cMs -aXL -aXL -aXL -aXL -aXL -aXL -bLx -cQt -aXL -aXL -bEM -bQX -bRX -bSH -bTs -bTT -bUE -bVh -bVF -cKn -bWB -bXl -bXL -bYn -qVE -bUE -bTs -aXL -cal -caG -cal -cal -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXn -ccW -ccX -ccX -ccX -cct -cct -dio -din -din -din -dio -cct -cct -ccX -ccX -ccX -ccW -ccW -aaa -aaa -aaa -aaa -cdb -cpo -cqi -crh -crh -dkw -cyb -cyb -cSm -cSr -cSt -cxg -cxM -djz -ccW -ccW -cda -cda -cda -cda -cda -cda -aaa -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(43,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abC -cFp -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -avw -dlG -axv -aza -aAo -aBr -aAn -aDL -aFe -cFp -abW -abW -dpn -dpE -dpE -dpE -dpE -dqX -arn -arn -aup -avy -avy -axA -azc -aAr -dvf -aCB -azc -aFf -avy -avy -dxi -aBu -dsF -dgo -EWs -EWs -qwU -PfX -Fbo -Fbo -Fbo -dgh -abW -abW -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXv -xvx -bio -bPl -aXK -aXK -dim -cMu -din -bCC -bAw -cMP -cMT -cNc -cNq -cNG -cNU -cMT -cMO -bdJ -aXK -aXr -aXr -aXr -bpZ -brv -bsW -bup -bvT -bxd -bru -bpY -bAj -bke -aXv -aXL -aXL -bEM -bEM -bEM -bEM -bEM -bEM -bEM -bEM -bEM -bQY -bRY -bSI -bTt -bTU -bTU -bVi -bTU -bTU -bWC -bXm -bTU -bYo -bYF -bYW -bTs -aXL -cal -caG -caX -cal -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXn -ccW -ccX -ccX -ccX -ccX -cct -cct -cct -cct -din -din -din -aXL -aXL -aXL -ccW -ccW -ccW -aaa -aaa -aaa -aaa -cdb -cpo -cqj -crh -cse -dkx -cxg -cxg -cxg -cSs -cpo -cpo -cxN -djz -djG -djz -djR -djW -djW -cda -ccW -ccW -ccW -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(44,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -avv -avv -axw -avv -avv -avv -aCy -avv -avv -cFp -cFp -abW -dpo -cKJ -cKJ -cKJ -cKJ -cKJ -cKJ -arn -auq -dsP -dtf -dtH -duh -YTF -dvg -dvF -azc -aFh -aDM -aHy -aIF -aBu -dsF -deL -deL -deL -oCT -aOs -deL -aRP -deK -deK -acH -acH -abE -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXL -aXv -aYj -xvx -bio -bio -bio -bio -bio -zrU -cMI -cMQ -cMT -cMT -cNr -cNH -cNV -cMT -cOo -bdK -aXK -aXv -aXv -dij -bpZ -bpZ -bpZ -buq -buq -bpZ -bpZ -bpY -bAk -bke -aXv -aXL -aXL -bEM -bHK -bJm -bKm -bLy -cGE -bJm -bMW -bEO -bGk -bHQ -bSJ -bTu -bTV -bTV -bTu -bVG -bTu -bWD -bTu -bTV -bTV -bYG -bYX -bTs -aXL -cal -caG -cal -cal -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXn -ccW -ccW -ccX -ccX -ccX -ccX -ccX -cct -cct -din -din -din -aZS -din -aXL -dij -cda -ccW -cdb -aaa -aaa -aaa -cdb -cpo -cqk -cri -cqk -dkx -ctm -cua -cKv -cKx -cKy -cpo -cxM -djz -djR -djF -djE -djR -djz -cda -cda -cda -cda -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(45,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -awG -dma -awG -cFp -awG -dnO -awG -cFp -cFp -cFp -abW -dpo -cKJ -dpT -dpT -dqI -dpT -dpT -arn -dso -avy -avy -axA -azd -azd -axA -aCC -azd -aFf -avy -avy -aIF -aBu -dgt -dgp -dgp -dgp -ExD -dhb -deL -deL -dgq -deK -aep -acH -abE -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXn -aXL -aXL -aYv -aXX -aXX -aZS -aXL -aXL -cMA -cMJ -aXL -cMT -cNd -cNs -cNf -cNW -cMT -cMP -bdK -bcW -bcW -aXK -aXv -aXK -aXL -bsX -bur -cPn -bxe -aXL -aXL -cPC -bke -aXv -aXK -aXL -bEM -bHL -bHL -bHL -bHL -bHL -bHL -bHL -bEM -bGl -bHQ -bSK -bTs -bTW -bTW -bTs -bVH -bTs -bWE -bTs -bXM -bXM -bXM -bXM -bTs -aXL -cal -caH -cal -cal -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -cda -cda -ccW -ccW -ccX -ccX -ccX -ccX -cct -aXL -aXL -aXL -din -din -dip -dij -cda -ccW -cdb -aaa -aaa -aaa -ccW -cpo -cql -crj -csf -dkx -ctn -cub -cuu -cvm -cwh -cKz -cxO -cyF -cSC -czZ -cAk -djT -djR -djW -cda -cda -cda -aaa -aaa -aaa -abC -cCE -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(46,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -awG -dmb -awG -cFp -awG -dmb -awG -cFp -cFp -abW -abW -dpo -cKJ -dpU -dqs -dqs -CFx -drt -drR -aur -avB -awH -axD -axD -aAs -aBt -aCD -aDN -aFj -aGE -dft -aIG -dxB -ajc -aMw -aMw -aMw -knG -aPS -dhh -ajX -ajX -apL -aep -acH -abW -abE -abE -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aXn -aXr -aXr -aXr -aXr -aXr -aXv -aXv -cMr -cMs -aXK -aXK -aXK -cMB -cMK -aXK -cMT -cNe -cNt -cNI -cNX -cMT -cOp -cOA -cOJ -cOJ -diq -cOJ -cOJ -diq -diq -diq -cOJ -cOJ -cOJ -cOJ -cPD -bke -cPP -aXv -bEM -bEM -cGA -bHL -bHM -bHL -bHM -bHL -bHM -bEM -bQZ -bRZ -bSL -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bTs -bEM -bEM -caI -bEM -bEM -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -aXr -cda -cda -ccW -ccW -ccX -ccX -ccX -ccX -ccX -ccW -ccW -aXL -aXL -din -din -aXL -cda -ccW -cdb -aaa -aaa -aaa -ccW -cpo -cqk -crk -cqk -csJ -cto -crm -cuv -cvn -cwi -cpo -cxP -djE -djE -djM -cAl -cSR -djz -djR -cda -cda -ccW -aaa -aaa -aaa -QIK -MTb -QIK -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(47,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -atk -atk -atk -awG -axz -awG -atk -awG -aCA -awG -atk -akG -doL -doL -akI -cKJ -dfb -dfi -dfi -dfi -dfp -arn -arn -arn -awI -azf -azf -aAt -aBu -aCE -aDO -aFk -cLB -cLB -cLB -dxC -aGF -aGF -dyv -deK -aMx -deI -deI -deI -ajW -akT -deI -aep -abW -abW -abE -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aXr -aXr -aXr -aXr -aXK -aXK -aXv -bcW -aXX -cMt -aXK -bci -cMx -cMC -cML -bcV -cMT -cNf -uUL -cNf -bhy -cMT -bje -bkc -bkS -cOW -blY -blY -bqa -blY -bsY -bus -cOW -cOW -cOW -cOW -cOW -bBC -aXX -dio -bEM -bGh -bGi -bGi -bKn -bHL -bMX -bMX -bMX -bQd -bMX -bSa -bSM -bTv -bTX -bUF -bVj -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVj -bGi -caY -bEM -aXr -aXr -aXr -aXr -aXr -aXn -aXn -aXn -aXr -cda -cda -ccW -ccW -ccW -ccW -ccW -ccW -ccW -ccW -ccW -aXL -din -din -din -aXL -cda -ccW -cdb -aaa -aaa -aaa -ccW -cpo -cqm -crl -csg -dkA -ctp -knQ -cKw -cvo -cwj -cpo -djX -djQ -djR -djW -cSK -djz -cAN -djz -cda -cda -ccW -ccW -ccW -ccW -QIK -rWL -QIK -fQQ -QIK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(48,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -atk -auo -dls -awD -awD -dmy -awG -dnu -awD -doa -dol -akH -doM -dpa -doM -cKJ -dfc -cEv -cEy -cEy -cEy -cEy -dsp -cKJ -awJ -cHJ -cHJ -cHJ -dvh -dvG -dzi -aFl -cLB -dwO -aJN -dxD -dxZ -aMA -aMy -aNC -dyQ -aPT -aQN -deK -ajW -deK -aTR -deK -abW -abW -abE -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aXn -aXn -aXn -aXn -aXn -aXn -aXK -cMp -caS -bcW -aXK -aXK -aXK -bcj -bcW -cMD -bRT -cMR -cMT -cNg -bfz -bgK -bhz -cMT -bjf -bkd -bkT -aYS -aYv -boA -aXK -aXK -cMt -aXK -bkU -bkU -bkU -bkU -bkU -bkU -aXX -diC -bEN -bGi -bHN -bJn -bKo -bLz -bLz -bLz -bLz -bLz -bLz -bSb -bLB -bTw -bTY -bUG -bVj -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVj -bUG -caZ -bEM -aXr -aXr -aXr -aXr -aXr -aXn -bhO -aXn -aXn -ccW -ccW -cdb -ccW -cdb -ccW -ccW -ccW -cda -cda -dij -aXL -din -ccp -dio -aXL -dij -ccW -ccW -aaa -aaa -aaa -ccW -cpo -cKu -crm -cKu -crm -cSo -crm -crm -cvp -cwk -cpo -cxd -cxd -cxd -cxd -cSL -dkc -cSS -djR -cda -cda -cda -ccW -djG -djG -QIK -MTb -yIq -nFd -QIK -Kel -Kel -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(49,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -abW -abW -atk -dlg -dlt -dlH -dlH -dlH -dmW -dlH -dlH -aja -atk -akH -doM -dpb -doM -cKJ -dpV -cEw -cEz -dra -ash -atm -dsq -cKJ -awK -axF -axF -aAu -aBv -aCF -aGP -aFm -dwt -dwP -dxk -dxE -aKA -aLD -aMy -dyH -cMe -dhc -dgT -deI -ajW -ajW -dfl -aep -acH -abW -adm -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aaP -aXn -aXn -aXK -cMq -bcW -aXv -aXK -dij -aXK -cMv -bRT -bdK -bRT -bfA -cMT -cNh -cNu -cNJ -cNY -cMT -bjg -bke -aXZ -aXL -aXL -aXL -aXL -aXL -aXL -aXL -bkU -bxf -byh -bzd -bze -bkU -bin -diC -bEN -bGj -bHO -bJo -bKp -bLA -bMY -bMY -jXv -bMY -bMY -bSc -bSN -bJr -bTZ -bUH -bVj -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -LDY -bVI -bVj -bUH -cba -bEM -aXr -aXr -aXr -aXn -aXn -bhO -bhO -aXn -aXn -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -cda -cda -dij -dio -din -din -cbE -ccp -aXL -cda -cda -aaa -cmB -aaa -ccW -cpo -cqn -crm -csh -csK -ctq -crm -crm -cvq -cwl -cpo -cxQ -cyG -czp -cxd -cSM -djz -cST -djz -djW -djW -djW -djG -djG -djG -yIq -BXG -XXu -yfn -XXu -MxO -Kel -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(50,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -abW -abW -atk -dlh -avA -awE -dmd -dmA -awG -awF -axB -dob -dom -akI -doO -dmb -doM -cKJ -dpW -cEx -cEA -cEB -cEx -cEx -aut -cKJ -cGj -aGP -aGP -aAv -azh -aCG -aGP -aFn -cLB -dwQ -dxl -aJM -BQj -aLE -aMy -aND -aOt -aPU -cMb -deK -dhq -aTt -deI -aep -acH -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXK -aXv -aXv -aXv -dij -dij -aXK -cMw -cMy -cME -bck -cMS -cMT -beJ -bfB -beJ -cNZ -cMT -bjg -bke -bkU -bkU -bnx -bkU -bkU -bkU -bkU -bkU -bkU -bxf -bxf -bze -bze -bkU -aXX -bDE -bEM -bGk -bHP -bJp -bKn -bLB -bMZ -bNU -bOU -bOU -bRa -bHL -bSO -bEM -bUa -bUH -bVj -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVj -bUH -cbb -bEM -aXr -aXn -aXn -bhO -bhO -bhO -bhO -aXn -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -cda -cda -dij -aXL -aXL -aXK -caW -ciY -aXK -cda -cda -clQ -cmC -clQ -ccW -cpo -cqo -crn -cqo -csL -ctr -cud -cuw -cvr -cwm -cpo -cxR -rLZ -dkD -cxd -cSM -djR -djz -djR -djR -djW -djR -djR -djz -djD -yIq -AOn -Slf -UdM -XXu -MfG -QIK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(51,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -abC -cFp -cFp -cFp -cFp -cFp -abW -abW -atk -atk -atk -awG -dme -awG -awG -awG -cEo -doc -atk -atk -atk -dpd -atk -cKJ -dpX -dqu -dqK -drb -asj -atn -dsr -cKJ -dtg -dtK -azi -duJ -aBv -aCH -aJX -aFo -dwu -dwR -aII -dxF -aHB -aMD -aMy -deK -cYj -aPV -aKp -aKp -aSq -aSq -aKq -aKq -aKp -aKp -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXr -aXr -aXr -aYw -aYw -bcl -aYw -cMF -beK -beK -cMT -cNi -cNv -cNk -cNY -cMT -bjg -bke -bkU -blZ -bny -boB -bqb -brw -bsZ -but -bvU -bxf -bxf -bze -bze -bkU -aXX -aXK -bEM -bGl -bHQ -bJp -bKn -bLC -bMZ -bNV -bOV -bOW -bRb -bHL -bSP -bEM -bUb -bUH -bVj -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVI -bVj -bUH -cbc -bEM -aXn -aXn -aXn -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -cda -cda -ceW -ceW -ceW -cis -cis -ceW -ceW -ccW -clQ -cmD -clQ -ccW -cpp -cpp -cpp -cpp -cpp -cpp -cpp -cux -cvr -cwn -cpo -cxS -cyH -dkE -cxd -cSN -cAB -cAO -cSV -cAB -cAB -cSV -cAB -cAO -cCN -zyk -Xhf -BGO -wRW -TRu -XRA -QIK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(52,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -abC -cFp -cFp -cFp -abW -abW -abW -abW -abW -atk -dlu -awF -dmf -dmB -dmB -dmB -dmf -dod -don -doB -doP -dpe -dpu -deY -dpY -cEx -cEx -cEx -cEx -cEx -dss -cKJ -anF -awL -anF -anF -dvi -aCI -aGP -aFp -aGF -dwS -dxm -dxG -dya -aME -dxC -dyI -aOv -aPW -aQO -aKp -aSr -aSr -aSZ -aLn -aLm -aKp -abE -abE -abE -aWr -aWr -aWr -aaa -aWr -aWr -aWr -aWr -aaa -aWr -aWr -aWr -aWr -aWr -aWr -aXn -aXr -aXr -aXn -aYw -aZT -bau -aYw -aYw -aYw -cMT -cMT -cNj -cNw -cNK -cOa -cMT -bjh -cOB -bkU -bma -bnz -boC -boC -boC -boC -buu -boE -boE -boE -boE -bAl -bkU -aXX -bat -bEO -bGm -bHR -bJp -bKn -bLB -bMZ -bNV -bOW -bOW -bRb -bHL -bHL -bEO -bUc -bUH -bVj -bVj -bVj -bVj -bXn -bVj -bVj -bXn -bVj -bVj -bVj -bVj -bUH -bUc -bEM -aXn -aXn -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -cda -cda -ceW -chn -chM -cit -chN -cjJ -ceW -ccW -clQ -cmE -clQ -ccW -cou -cTT -cqp -csi -cFX -dCj -cpp -cuy -cvs -cwo -dkB -cxT -cyI -czq -cxd -cAn -cyF -cSU -cyF -cyF -cTa -cTa -cTa -cyF -cCO -Bsu -xqZ -nYL -ghw -rtA -Oss -QIK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(53,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -abC -cFp -cFp -abW -abW -abW -abW -abW -abW -atk -dlv -dlI -dmg -dmC -dmY -dmY -dnS -akL -doo -doo -doo -dpf -AgT -dpJ -dpZ -dqv -dqL -drc -dru -drS -dst -dsQ -dth -aoP -duj -duK -dvi -aCG -aGP -aFq -aGG -aGG -aGG -aGG -aGG -aGG -aGG -aGG -dyR -aPX -aQP -aKp -aMk -aMk -aMk -aMk -aLo -aKp -abE -abE -abE -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aXn -aXr -aXr -aXn -aYw -aZU -cYo -bav -bav -cYo -cMT -cMX -cNk -cNu -cNk -cOb -cMT -bjg -cOB -bkU -bma -bnA -boD -boD -boD -bta -buv -ewd -bxg -bxg -bzf -boE -bnx -aXX -dim -bEM -bGn -bHQ -bJq -bKn -bLB -bMZ -bNW -bOX -bOX -bRc -bHL -bSP -bEM -bUc -bUH -bVk -bOY -bQe -bOY -bGi -bXN -bYp -bGi -bOY -bOY -bQe -bVk -bUH -bUc -bEM -aXn -bhO -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -ccW -ceW -cho -chN -ciu -chN -cjJ -ceW -ceW -clR -cmF -clR -cou -cou -cqq -dBX -cro -dCf -csj -cpp -cuz -cvt -cwp -cpo -cxU -cyJ -czr -cxd -cAo -djM -djX -djD -cBA -djR -djz -djG -djD -djE -yIq -uYr -KPR -pZu -XXu -zuT -QIK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(54,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -abC -cFp -cFp -abW -abW -abW -abW -abW -abW -atk -atk -atk -alm -alm -alm -alm -alm -alm -alm -alm -alm -alR -amR -afd -afd -afd -afd -afd -afd -afd -afd -anJ -dti -aoP -duk -aqy -dvk -aCK -cHc -dzj -aGG -dwT -dxn -aJR -dyb -aIQ -Hlj -dyJ -aOv -aPY -aQQ -aRQ -aSs -aMk -aMk -aMk -dkq -aKp -aKp -aKp -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aYw -aYw -aYw -cYn -cYo -cYo -bbB -bcm -cMT -cMT -cMT -cNx -beJ -cOc -cMT -bjg -cOB -bkU -bmb -bnB -boE -boE -boE -boE -boE -boE -boE -boE -bzg -boE -bkU -aXX -aYv -bEM -bGo -bHQ -bJp -bKn -bLB -bMZ -bGi -bOY -bQe -bRd -bHL -bSP -bEM -bUd -bUI -bJn -bJn -bJn -bJn -bJn -bXO -bYq -bYH -bYH -bYH -bYH -bYH -caJ -cbd -bEM -bEM -bEM -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ceW -ceW -ceW -chp -chN -chN -chN -chN -ceW -ceW -ceW -cmG -ceW -cou -cpq -cqr -dBY -csk -dCg -cts -cou -cuA -cvu -cwq -cxc -dkC -cyK -czs -cxd -cAm -djE -djz -djR -djG -djG -djG -djG -djR -djR -yIq -SUs -KPR -rzC -rtA -eHJ -Kel -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(55,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -abC -cFp -abC -cFp -cFp -abW -abW -abW -abW -abW -abW -abW -abW -abW -alm -aga -agW -akN -alm -aje -dop -akN -alm -alS -amT -alm -dqa -apy -akN -alm -drv -atq -akN -anF -dtj -axI -aoP -asn -dvi -aCL -aJX -aFs -aGH -aHC -aHC -aHC -aHC -dym -aIQ -dyJ -aOv -aPW -aQR -aKp -aSt -aTu -aTu -aTu -aUS -aVi -aVv -aVJ -aWb -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aXf -aYx -aYT -aZv -aZV -baw -baW -cYp -cYp -baW -bdL -cMT -bfB -beJ -cNZ -cMT -bji -bkf -bkU -bmc -bnC -boF -bqc -brx -btb -buw -bvW -bxh -byi -bzg -bAm -bkU -bCx -bDF -bEM -bGp -bHS -bJp -bKn -bLB -bMZ -bGi -bOZ -bQf -bRe -bGi -bSQ -bEM -bUe -bUJ -bVl -bVJ -bUJ -bWF -bXo -bXP -bYr -bJo -bJo -bJo -bZT -bJo -bJo -cbe -cbt -cbJ -cbT -cbY -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cev -ceV -cft -cga -cgz -chq -chq -chq -ciZ -cjK -ceW -ceW -chN -chN -cnM -cou -cpq -cqr -dBZ -dCd -dCh -ctt -cuf -cuD -cvv -cuh -cxd -cxd -cxd -cxd -cxd -cAm -djE -dkd -GPe -djW -djG -djG -djG -djG -djG -yIq -QIK -QIK -Wbp -yIq -Kel -Kel -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(56,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -abC -cFp -abC -cFp -cFp -abW -abW -abW -abW -abW -abW -abW -abW -abW -alm -anE -amS -alT -aeK -anE -amS -alT -alm -dpg -ufo -alm -anE -amS -alT -aeK -anE -amS -alT -anF -dtk -aoP -HOp -duL -dvm -aCG -aGP -aFq -aGG -aIQ -aIM -aIM -aKB -aLH -aIQ -aGG -aOv -aPW -aQS -aKp -aKp -aKp -aKp -aOb -aKp -aKp -aKp -aKp -aWc -aWs -aWs -cWf -aWs -aWs -aWs -cWf -aWs -aWs -cWf -aWs -aWs -aWs -cWf -aWs -aWs -aYk -aYw -aYw -aYw -aYw -aYw -baX -aYw -aYw -aYw -bdM -cMT -cNy -cNL -cOd -cMT -bjj -bkg -bkU -bkU -bnD -bkU -bkU -bry -bry -bry -bry -bkU -bkU -bzh -bkU -cFt -bCy -bCy -bEM -bEM -bHT -bJr -bKq -bLD -bKq -bJr -bEM -bEM -bEM -bEM -bEM -bEO -bEM -bEM -bEM -bEM -bEM -bEM -bLD -bXQ -bYs -bJr -bEM -bEM -bEM -cFG -bEM -bEM -bEM -bEM -bEM -cbZ -ccl -ccl -ccl -cYd -ccl -ccl -cYd -ccl -ccl -cYd -ccl -ccl -ccl -cew -ceW -ceW -ceW -cgA -ceW -ceW -ceW -ceW -cjL -ceW -ceW -ceW -cmH -ceW -cou -cou -cqs -crp -OQj -csl -ctu -dCl -dCr -cvv -cwr -cxe -cxV -cyL -cuT -djD -cAm -djM -djX -djz -djR -djW -djW -djG -djG -djG -ccW -cdb -QIK -OmI -QIK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(57,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -abC -cFp -abC -cFp -abW -agk -ahP -agl -agk -abW -abW -abW -abW -abW -alm -dmD -amS -ahJ -alm -ajg -amS -ahJ -alm -alU -amT -alm -dqb -amS -ahJ -alm -drw -amS -ahJ -anF -dtl -aoP -aoP -duM -dvn -aCL -aDX -aFu -dww -aHE -aIN -aJQ -aKC -aLI -aIQ -aNE -aOv -aPW -aQT -aRz -aSu -aRz -dkp -aUm -aRz -aUe -aRz -aRw -cWd -cWd -cWd -cWd -cWd -cWd -cWd -cWl -cWd -cWd -cWs -cWd -cWd -cWd -cWd -cWd -cWd -cWd -aYy -aYU -aZw -aZW -bax -baY -baY -bcn -baY -bdN -cNl -bfC -baY -bHU -bip -bjk -bkh -aZW -baY -bnE -baY -bqd -brz -baY -baY -baY -bxi -byj -bzi -baY -baY -baY -baY -bEP -cGy -bHU -baY -baY -bLE -baY -baY -bPa -brz -bqd -bcn -bSR -baY -baY -aZW -baY -baY -bWj -baY -bXp -bXR -bYt -bYI -baY -bcn -byj -baY -bqd -cbf -cbu -cbK -aYy -cca -cca -cca -cca -ccz -cca -cca -cdc -cca -cca -ccz -cca -cca -cca -cca -ceX -cfu -cfu -cgB -chr -chO -chO -cja -cjM -chO -clb -clS -chO -cnN -cov -cpr -cqt -dCa -cGU -cGU -ctv -cue -cuC -dCs -cuh -cuh -cuh -cyM -cuT -djX -cAp -cAC -djE -djE -djz -djW -djW -djG -djG -djG -ccW -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(58,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abC -cFp -abC -abW -abW -agk -dkK -agm -agl -abW -alm -alm -alm -alm -alm -agc -agY -dnz -alm -agc -cEr -dnz -alm -alU -amT -alm -agc -apz -dnz -alm -agc -drT -dnz -anF -awM -ats -aoP -aAx -dvo -dvH -cHc -aFv -dwx -aHF -aIO -dxH -aKD -aLJ -dyx -aGG -aOv -cEU -aQU -aQj -aSv -aQj -kds -aQj -aQj -aQj -aQj -aQv -cWd -cWd -cWd -cWd -cWd -cWd -cWd -cWd -cXV -cWd -cWt -cWd -cWd -cWd -cWd -cWd -cWd -cWd -aYz -aYV -aZx -aZX -aZX -aZX -aZX -bco -aZX -bdO -aZX -aZX -bgL -cOe -aZX -bjl -bki -bkV -bkV -bnF -boG -bqe -brA -cFr -aYV -aYV -aYV -aYV -aYV -aYV -aYV -aYV -bDG -cGw -aYV -bHV -aYV -aYV -aYV -bNa -aYV -bPb -bQg -aYV -bEQ -aYV -aYV -qel -aYV -aYV -aYV -aYV -bDG -bPb -bHV -bYu -bYJ -aYV -bEQ -aYV -aYV -aYV -bQg -aYV -aYV -aYz -cca -cca -cca -cca -cca -cca -cca -cca -YCP -cca -cca -cca -cca -cca -cca -ceY -cfv -cfv -cgC -cfv -cfv -cfv -cjb -cfv -cfv -cfv -cfv -cfv -cFP -coy -cpt -dBW -dCb -csn -dCi -ctw -dCm -cuE -dCt -cuh -cxf -cxW -cyN -cuT -cAa -djX -cAD -cAC -djD -djW -djW -djW -djW -djW -djG -ccW -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(59,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abC -cFp -abC -abW -abW -agl -agm -dkS -ahP -agk -alm -akN -dlw -dlJ -dmh -dmE -ajm -ahK -aiq -aji -aka -akQ -alo -alW -amV -anH -aji -aka -akQ -arp -aji -aka -dsu -dsT -awN -axK -aoP -aAy -anF -aCG -aGP -aFw -aGG -aGG -aGG -aGG -aGG -aGG -aGG -aGG -dyS -aPW -aQV -aRt -aSw -aRt -aRt -aUn -aRt -aRt -aRt -aRv -cWd -cWd -cWd -cWg -cWd -cWd -cWd -cWm -cWd -cWd -cWu -cWv -cWv -cWv -cWw -cWv -cWv -cWv -aYA -aYW -aZy -aZY -aZY -aZY -aZY -bcp -bcY -bdP -aZY -aZY -bgM -bgM -aZY -bjm -bkj -bkW -bmd -bnG -boH -bqf -brB -btc -bux -bvX -btc -btc -btc -btc -btc -btc -bDH -cGx -btc -bDH -btc -btc -btc -btc -bvX -bPc -bkW -bRf -bER -btc -btc -btc -btc -btc -btc -bmd -bWG -bXq -bXS -bYv -bYK -bYY -bZC -bZU -aYW -aYW -cbg -aYW -cJp -cJr -ccb -ccb -ccb -ccb -cYe -cYg -cYg -cdd -cYg -cYg -cYg -cYg -cYg -cYg -cYg -ceZ -cJs -cgb -cfw -chs -cfw -civ -cjc -cjN -cky -dzr -cky -cmI -cnO -coy -cpr -cqu -crq -cso -csN -ctx -cuf -cuD -cvx -cws -cSu -cSu -cSu -cSD -cSu -cSu -cSu -cAm -djM -djR -djG -djW -djW -djW -djG -ccW -ccW -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(60,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abC -abW -adm -abW -abW -agk -acN -acN -acN -ahP -alm -dlj -amS -amS -dmi -cTV -dmZ -dnA -cVB -amd -dlP -dnA -anI -alX -amd -anI -amd -anI -dnA -anI -amd -drU -aoM -anF -anF -axL -dul -anF -anF -aCM -aGP -aFx -aGK -cHh -aIP -cHm -aKE -dyn -cHm -avI -aOw -aPW -aQR -aRR -aRR -aRR -aRR -cEW -aRR -aKp -aKp -aKp -aWd -aWd -aWd -cWh -aWd -aWd -aWd -cWh -aWd -aWd -cWh -aWd -aWd -aWd -cWh -aWd -aWd -aWd -aYw -aYX -aZz -aZZ -aZZ -aZZ -cFd -aZZ -aZZ -aZZ -aZZ -aZZ -aZZ -aZZ -aZZ -bjn -bkk -bkX -bjn -aZZ -boI -bqg -brC -bzo -btj -btj -btj -dcL -dcL -btj -btj -btj -cJl -btj -cJm -cJm -cJm -cJm -cJm -cJm -cJm -bPd -bQh -bRg -cJm -cJm -cJm -bUf -cJn -cFF -bVq -bWk -bWH -bXr -bXT -bVq -cJo -bYZ -cJn -bZV -cJn -cJn -cJn -cJn -cJq -aYw -ccc -ccm -ccm -ccm -cYf -ccm -ccm -cYf -ccm -ccm -cYf -ccm -ccm -ccm -cex -ceW -ceW -cJt -cJu -cJu -cJv -cJu -cJu -cjO -cJu -cJu -cJB -cmJ -cfv -dBQ -cou -cqv -dCc -cqv -cqv -cqv -cou -cuB -cvw -cwt -cxh -cxX -cSx -gAE -cSG -cSO -cSu -cAm -cxN -djz -djz -djR -djW -djW -djG -ccW -cdb -cdb -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(61,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abC -abW -abW -abW -abW -agk -ahP -dkT -ahP -ahP -alm -aeq -aeM -dlK -aln -agd -cTW -cTX -air -akc -akb -ajj -doR -alY -amW -doR -amW -dqw -cTX -cVO -akc -cVO -dsv -aAD -awP -dtL -dum -awP -aAD -dvI -aJX -dwk -dwy -aHH -dxo -dxI -dyc -dyo -aJU -aNG -aOw -aPW -aQW -aRS -aSx -aTv -aTS -aUo -aUT -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -dif -dik -aZA -aZZ -bay -baZ -bbC -aZZ -bcZ -bdQ -bba -bfD -bgN -bhA -biq -bhD -bkl -bkY -bme -bjn -boJ -bqh -brD -cIW -bte -bvY -bwd -byk -bwb -btd -bzj -ddk -bDI -btd -bGr -bHW -bJs -bGq -bLF -bNb -bNX -bPe -bQi -bRh -bSd -bSd -bGq -bUg -bUK -bUN -bVK -bWl -bVS -bXs -bXU -bYw -bYL -bZa -aYw -bZW -can -can -can -cbv -cbL -cbv -ccd -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cey -cfa -cfa -cgc -cgD -cht -chP -ciw -cjd -cjP -ceW -ccW -cJC -cmK -cfv -cow -dBS -cqw -cqw -cqw -cqw -ctz -dCn -cuF -cvy -cwu -cxi -cxY -cSy -cSE -cSH -cAq -cSu -cAP -cSW -dkc -chH -djR -djG -djG -djG -ccW -ccW -cdb -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(62,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abC -abW -abW -abW -ahP -ahP -dkL -agm -cVw -adS -alm -alm -aeK -alm -alm -age -dna -cTY -ais -doe -dor -doD -aeK -dph -dpy -aeK -dmo -apA -cTY -azk -doe -atr -dsw -cEt -cHc -aFB -cLf -cHc -cEt -dvH -YBW -aFy -aGL -aHM -aIR -aKF -aKF -aKF -aKF -aNH -aOw -aQa -aQX -aRT -aSy -aTw -kEb -aUp -aUT -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -dif -aXY -aYZ -aZZ -baz -bba -bbD -aZZ -bda -bdR -beL -bfE -bgO -bhB -bir -bjo -bkm -bkZ -bmf -bnH -boK -bqi -brE -cIX -btf -btf -bxj -byl -bzk -btd -ddg -bwe -bDJ -btd -bGs -bHX -bJt -bKr -bHZ -bHZ -bNY -bPe -bQi -bRi -bSe -bSS -bGq -bGq -bGq -bUN -bVL -bWm -bVS -bXs -bXV -bYx -bYL -bUN -aYw -bav -bav -bav -cbh -aYw -aYw -aYw -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ceW -ceW -ceW -chQ -cix -cje -cjQ -ceW -ccW -cJC -cmL -cfv -dBR -dBS -cqx -crs -VwE -csP -ctA -cug -cuG -cvz -cwv -cxj -cSv -cSz -czt -cSI -cAr -cSu -djG -cSM -djz -djR -djR -djz -djG -djR -djG -ccW -ccW -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(63,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -cFp -aaP -abW -abW -abW -agk -dkH -acN -Zed -agm -adS -alm -aes -dlw -dlL -dmj -agf -dnb -dnB -dnT -ajk -akd -doE -anK -alZ -aoN -anK -aoN -dqx -dnB -azl -ajk -azl -auv -dsV -aAA -dtM -dun -aAA -dsV -dvK -aEb -aFz -aGM -aHJ -aIS -aJS -aKG -cHm -cHm -dyL -aOy -aQb -aQY -aRU -aSz -aTx -aTU -aUq -aUT -abE -aaa -aaa -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXr -dif -dil -aZB -aZZ -baA -bbb -bbE -bcq -bdb -bdS -beM -bfF -bgP -bhC -bis -bjp -bkn -bla -bmg -bnI -boL -bqj -brF -cIY -btg -btg -bxk -dcM -dcW -btd -ddg -cGv -bDQ -btd -bGt -bHY -bJu -bGq -cYs -bNc -bJv -bPe -bQi -bRi -bSe -bSe -bTx -bUh -bUL -bUN -bVn -bVn -bVS -bXs -bXW -bVn -bYM -bZb -aYw -bav -bav -bav -aZU -aYw -aXn -bhO -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -ccW -ccW -ceW -chR -ciy -cjf -cjR -ceW -ccW -cJC -cmM -cnP -coA -dBU -cqy -crt -cqy -csQ -ctB -dCo -cuE -cvA -cww -cxk -cTu -cya -cSF -cAb -cAs -cSu -djG -cAm -djA -djA -djA -djA -djA -cTh -djG -ccW -ccW -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(64,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -cFp -cFp -abW -abW -abW -agk -dkI -dkM -acN -acN -acN -alm -aet -amS -amS -afz -cTV -aha -dnA -anI -amd -anI -dnA -anI -ama -amd -anI -amd -amh -dnA -anI -amd -att -aoM -avI -avI -avI -avI -avI -avI -aCN -aGP -aFA -aGN -aHK -aIT -cHB -aKH -aKH -cEL -avI -aOz -aQc -aQR -aRR -aRR -aRR -aTV -aRR -aRR -abE -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aXA -aXn -aXn -dif -dih -aYY -aZC -baa -baB -bbc -bbF -aZZ -bdc -bdT -beN -bfG -bgQ -FQm -bit -bjq -bko -blb -bhD -bjn -boM -aYV -brH -bzp -bth -dcB -btd -bym -bzl -btd -ddg -bCz -bDK -btd -bGq -bGq -bGq -bGq -bLG -bHZ -bNZ -bPe -bQi -bRj -bSf -bSf -bGq -bUi -bUM -bUN -bVM -bWl -bVS -bXs -bXX -bWl -bYL -bZc -aYw -bZX -cao -cao -aZU -aYw -aXn -bhO -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -ccW -ccW -ceW -ceW -ceW -ceW -ceW -ceW -ccW -cJC -cmN -cfv -coB -cFS -cqz -crt -dCe -csR -ctC -dBU -cuI -cvw -cwx -cSu -cSw -cyP -czu -cSJ -cSP -cSu -djG -cSX -cSY -cSY -cBB -cCm -cTf -dkh -djR -ccW -ccW -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aab -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(65,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -cFp -cFp -abW -abW -abW -agl -agk -dkM -dkM -acN -acN -alm -akN -aeM -afg -afA -agh -ahb -ahO -aiu -dof -apC -ahO -doT -amb -amX -anM -dof -apC -ahO -aru -dof -apC -dsx -avI -awR -axN -axN -aAC -azn -aCG -aGP -dwl -awJ -cHJ -cHJ -dxK -cHJ -cHJ -dyy -avI -aOA -aPW -aQR -aKp -aMk -dyW -aKp -abW -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXr -aXr -dif -aYB -aYZ -dif -aZZ -baC -bbd -bbG -aZZ -bdd -bba -beN -bfG -bgQ -bhD -biu -bjr -bkp -bkY -bmh -bnJ -boN -aYV -brG -bzp -buy -bvZ -dcG -byn -dcX -btd -ddh -ddl -btd -bzo -bGu -bHZ -bHZ -bHZ -bHZ -bNd -bOa -bPe -VMD -bRi -bSe -bSS -bGq -bGq -bGq -bUN -bVN -bWm -bVS -bXs -bXV -bWm -bYN -bZd -aYw -aYw -aYw -aYw -aYw -aYw -aXn -aXn -bhO -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -ccW -ccW -cda -cda -cda -cda -ccW -ccW -ccW -ccW -cJD -cmJ -cfv -coC -dBU -cqA -crv -css -csS -ctD -dCn -cuD -cvB -cuh -cJX -cJZ -cJZ -cJZ -cKa -cSQ -cSu -djG -djG -djG -djF -djR -djR -cSM -dki -djR -djG -ccW -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aad -aad -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(66,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -cFp -cFp -cFp -dkF -abW -abW -agk -dkM -dkV -ahP -agl -alm -alm -alm -alm -alm -agi -dnc -dnC -alm -agi -akf -dnC -alm -alU -amT -alm -agi -apD -dnC -alm -agi -drV -dnC -avI -awS -axO -axO -axO -dvq -aCG -aDP -aFt -cHb -aHL -aGP -cHl -cHr -aGP -cEP -cER -cES -aPW -dyU -dyV -aMk -aMk -aKp -abW -abW -abE -abE -aaa -aaa -aaa -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXr -aXr -dif -aXY -aYZ -dif -aZZ -baD -bbd -bba -aZZ -bde -bbc -beN -bfG -bgQ -bhD -biv -bhD -bkq -bkY -bhD -aZZ -boO -aYV -brH -bzp -buz -bwa -bxl -dcN -HWp -bAn -ddi -bCA -ddo -bzp -bGv -bIa -bJv -bJv -bJv -bNe -bNe -bPe -bQi -bRi -bSe -bSe -bTx -bUh -cGG -bUN -bVP -cGI -bVS -bXs -bXY -cGI -bYO -bZe -bZD -bZD -bZD -bZD -bZD -bZD -bZD -aXn -aXn -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdb -cdb -cdb -ccW -ccW -ccW -cda -cda -cda -cda -ccW -ccW -ccW -ccW -cJt -cJF -cJG -coD -cJO -cJV -cJV -cJV -cJV -ctE -cJV -cuK -cvC -cJW -cJY -cyc -cyQ -czv -cKb -cAc -cAc -cAc -cAc -cAc -cAc -cAc -cAc -cSM -djA -cTj -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aac -aac -aac -aac -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(67,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abW -abW -abW -ahP -dkP -dkW -adC -adV -dlb -dll -dlz -dlM -alm -dmF -amS -ahJ -alm -ajo -amS -ahJ -alm -alU -amT -alm -dqe -amS -ahJ -alm -asp -amS -ahJ -avI -dtn -axO -duo -axO -dvq -aCG -aGP -cHa -cHb -dwV -aGP -dxL -dye -aGP -cHD -cER -cES -aPW -aQR -aKp -aKp -aKp -aKp -abW -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXr -aXr -dif -aXY -aZa -aZD -bab -baE -bbe -bbH -bcr -bdf -bdU -aZZ -bfH -bgR -bhE -biw -bhE -bkr -blc -bmi -bnK -boP -bqk -brH -bzp -dcx -bwb -dcH -dcD -dcZ -bAo -dcy -ddm -ddp -bzp -bGw -bHZ -bJw -bKs -bKs -bKs -bKs -bPf -bQj -bRk -bSg -bSg -bGq -bUi -bUM -bUN -bVO -bWn -bWI -bXt -bXZ -bYy -bYP -bZf -bZE -bZY -cap -bZj -cbi -cbw -bZD -aXn -aXn -bhO -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cmJ -cfv -coE -cJP -cqB -crw -cst -cpu -ctF -crw -cuL -Jov -crx -cxm -cyd -cyR -czw -cKc -cAc -cAt -cAt -cBf -cAt -cAt -cBZ -cAc -cSM -djA -dkh -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aac -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(68,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abW -abW -abW -ahP -dkQ -dkX -agl -agl -alm -cVz -aeO -afh -alm -anR -amS -ami -aeK -anR -amS -ami -alm -dpg -dpx -alm -anR -amS -ami -aeK -anR -amS -ami -avI -dto -dtN -dup -dup -dvs -aCG -aGP -cHa -cHb -aHN -dtK -dxM -cHs -aGP -cHD -cER -cES -aPW -aQR -aKp -abW -acH -acH -abW -abW -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXn -dig -dii -aZb -dif -aZZ -baF -baF -baF -baF -baF -bdV -beO -bfI -bgS -bjs -bix -bjs -bks -bhD -bmj -aZZ -boQ -aYV -brH -bti -dcy -bwb -dcH -dcD -dcZ -ddd -dcy -ddm -cTS -bzp -bGx -bIb -bJx -bKt -bLH -bLH -bLH -bPg -bQk -bRl -bSe -bSS -bGq -bGq -bGq -bUN -bVP -bVP -rzu -bVS -bXY -bVP -bYQ -bZg -bZF -bZZ -caq -bZF -cbj -cbx -bZD -bZD -aXn -aXn -aXn -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cdZ -cez -cez -cez -cez -cez -cez -cez -ciz -cdI -cjS -ckz -clc -cdI -cmO -cnQ -coF -cpv -cqC -crx -csu -csT -ctG -crx -cuM -cvE -cuh -cxl -cye -Cjh -czx -cAc -cAc -cAt -cAt -cBg -cAt -cAt -cAt -cAc -cSM -cxN -djR -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aac -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(69,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abW -abW -abW -abW -abW -agk -ahP -agl -agk -agk -alm -dlm -aeO -afh -alm -dmG -dnd -akN -alm -dog -dot -akN -alm -alS -amT -alm -aoR -dqy -akN -alm -drz -drW -akN -avI -avI -avI -avI -avI -avI -aCN -aGP -aFC -avI -aHO -dxr -awJ -dyf -aMK -aMK -cHJ -aOC -cHT -aRf -cHX -dhr -dhr -dhs -dhs -aUU -aUU -aUU -aUU -aWe -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXr -aXr -aXr -dif -aXY -aYZ -dif -dif -baF -bbf -bbh -bbh -baF -cFe -baF -baF -bgT -cTP -biy -bjt -bjt -bjt -baF -baF -dks -aYV -brH -bti -buA -dcC -dcI -dcO -bzm -bAp -buA -dcX -bDL -bzp -bGy -bGy -bJy -bKu -bGy -bGy -bGy -bGy -bQl -bRi -bSe -bSe -bTx -bUh -bUL -bUN -bVQ -bWo -bWJ -bWJ -bYa -bWo -bYR -bZh -bZG -caa -jYi -caK -bZD -cby -cbM -bZD -aXn -aXn -aXn -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cea -ceA -ceA -ceA -ceA -ceA -ceA -ceA -ciA -cjg -cjT -ckA -cld -cdI -cmJ -cnR -coG -cJQ -cqD -cry -csv -cpw -ctH -cuh -cuB -cvw -cuh -cxl -cyf -cyS -czy -cAc -cAc -cAt -cAt -cAt -cAt -cBK -cAt -cAc -cAm -djA -cSa -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(70,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abW -abW -abW -abW -abW -abW -abW -abW -abW -alm -alm -dln -aeO -dlN -alm -alm -alm -alm -alm -alm -alm -alm -alm -amf -amY -alm -alm -alm -alm -alm -alm -alm -alm -avI -awT -dtO -dtO -aAE -avI -aCG -aGP -aFD -cHe -cHf -dxs -aJV -cHt -aEb -aEb -aEb -cHO -aPW -aQR -cHY -dhs -dhr -dhs -dhs -aUV -aVj -aVw -aVK -aWe -aWe -aWe -abC -abC -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aXr -aXr -aXr -dif -aXY -aZc -dih -dif -baF -bbg -bbk -bcs -bdg -bdW -beP -bfJ -bgU -bhF -biz -bhJ -bhJ -bhJ -bmk -baF -boQ -aYV -brH -bti -dcy -dcD -dcH -dcD -dcZ -bwb -dcy -ddm -bDM -bzp -bGz -bIc -bJz -bKv -bLI -bNf -bOb -bGy -bGy -bRm -bSh -bSh -bGq -bUi -bUM -bUN -bVP -bVP -bWK -bVS -bVP -cGI -bYO -bZi -bZH -cab -cas -bZj -cbk -cbz -cbN -bZD -aXn -aXn -aXn -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cea -ceA -ceA -ceA -ceA -ceA -VFF -ceA -ciA -cjg -cjT -eBB -cle -cdI -cmJ -cfv -coH -cJR -cpx -cpx -cpx -cpx -ctI -cpx -cuN -cvF -cwz -cxn -cyg -cyT -czz -cAd -cAc -cAt -cAt -cAt -cAt -cBL -cAt -cAc -cTg -dki -djW -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(71,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -abW -alm -dlc -dlo -dlA -dlO -dmk -dmH -cVA -cVF -cVF -cVA -cVF -cVA -doU -amg -cVP -ajm -amU -ajm -ajm -amU -drA -ajm -dsy -avI -awU -axP -dur -aAF -avI -dvL -aJX -aFE -aGQ -aHP -dxt -aJW -aHP -dyr -aNJ -aNJ -aOD -aQd -aQZ -cHY -dhs -dhr -dhx -dhw -aUV -aVk -sZf -aVL -aWf -aWt -aWf -aWN -aWN -aWN -aWN -dic -abC -abC -abC -abC -abC -abC -aXr -aXr -aXr -dif -aXY -aYZ -aZE -dif -baF -bbh -bbf -bbh -bbk -bdX -baF -bfK -bgV -bhG -biA -bhJ -bhG -bhJ -bhJ -baF -boQ -aYV -brI -bzp -dcx -dcD -dcH -dcD -dcZ -bwb -dcy -ddm -bDN -bzp -bGA -bGD -bJz -bKw -bLJ -bLJ -bOc -bPh -bGy -bGy -bGy -bGy -bGy -bGy -bUN -bUN -bVR -bWl -bVS -bVS -bVM -bYz -bYO -bZj -bZI -cac -cat -caL -bZD -cbA -cbO -bZD -aXn -aXn -aXn -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cea -ceA -ceA -ceA -cgd -ceA -ceA -ceA -ciA -cdI -cjU -ckB -clf -cdI -cmP -hiU -coI -cJR -cqE -crz -csw -csU -ctJ -cpx -cuB -cvw -cuh -cxo -cxo -cxo -cxo -cAc -cAc -cAc -cAQ -cAt -cAt -cBM -cAc -cAc -cSM -dkj -djR -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(72,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abW -abW -abW -abW -abW -abW -abW -abW -abW -alm -dld -dlp -dlB -dlP -cVB -anI -cVB -anI -anI -cVB -anI -amh -cVB -anQ -anI -anI -cVB -anI -anI -cVB -anI -dlP -awO -avI -dtp -dtP -azo -duO -dvt -dvK -aEb -aFF -dwz -cHg -dxu -cHn -cHu -dys -aGP -avI -aOE -aPW -aQR -cHY -dhs -dhs -dhw -aUr -aUW -aVl -aVy -aVM -aWe -aWe -aWe -abC -abC -abC -abC -aXa -abC -aaa -aaa -aaa -aaa -aXn -aXr -aXr -aXr -dif -aYC -aZd -aZF -dif -baF -bbi -bbI -bct -bbk -bdY -baF -bfL -bgV -bhH -biB -bju -bkt -bhJ -bhJ -cTQ -boQ -aYV -brJ -bzp -byp -bwc -bxm -dcP -dcX -byo -ddj -bzl -bDO -bzp -bGB -bIe -bJA -bKx -bLK -bNg -bOd -bPi -bGy -bRn -bSi -bGD -bSi -bRn -bUN -bVm -bVN -bWm -bVS -bVS -bVN -bWm -bYS -bZk -bZD -bZD -bZD -bZD -bZD -cFI -bZD -bZD -aXn -aXn -aXn -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cea -ceA -ceA -cRt -cge -cRB -ceA -ceA -ciA -cjh -cjV -ckC -clg -clT -cmQ -cnS -coG -cJR -cqF -crA -csx -csV -ctK -cpx -cuB -cvw -cwx -cxo -cyh -cyU -czA -cAd -cAu -cAE -cAR -cBh -cBC -cBN -cCa -cAc -cSM -djA -djW -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(73,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abW -abW -abW -abW -abW -abW -abW -alm -dlc -dlq -dlC -dlQ -dmm -cVL -cVC -cVH -cVL -cVM -ake -cVL -doV -dpi -cVH -cVL -dqf -ake -cVL -cVX -drB -drY -dsz -avI -dtq -axR -axR -duP -avI -aCI -aGP -aFG -avI -dwW -cHk -avI -dyg -dys -cHD -cER -cES -aPX -aRa -cHY -dhs -dhv -dhE -dht -aUV -aUV -aUU -aUV -aWe -abW -aaa -aaa -aaa -aaa -abC -aXa -abC -aaa -aaa -aaa -aaa -aXn -aXr -aXr -aXr -dif -dih -aXY -aYZ -dif -baF -bbj -bbJ -bcu -bdh -bdh -beQ -bfM -yWK -bhI -biC -bjv -bku -bld -bhJ -baF -boR -bql -brK -bzp -dcz -dcz -bxn -dcQ -dda -bAq -cTR -bCB -ddq -bzp -bGC -bId -bJA -Foo -bLL -bNh -bOe -bPi -bGy -bGD -bSi -bST -bSi -bGD -bUN -bVn -bVS -bVS -bVS -bVS -bVS -bVS -bVn -bZl -bZJ -bZJ -bZJ -bUN -bZD -cbB -bZD -diB -aXn -aaa -bhO -bhO -bhO -bhO -bhO -cdb -cdb -cdb -cdb -cdb -cdI -cea -ceA -ceA -ceA -cgf -ceA -ceA -ceA -ciA -cdI -cjW -ckD -clh -clU -cmR -cnT -coz -cpy -cqG -crB -csy -csW -ctL -cui -cuO -cvH -cwA -cxo -cyh -cyU -czB -cxo -cAv -cAF -cAS -cBi -cBD -cBO -cAv -cxo -cCv -cxN -djz -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(74,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -abW -abW -abW -abW -abW -abW -abW -alm -alm -alm -dlD -cVI -cVD -dmJ -cVD -cVI -dnU -cVD -cVI -amj -cVD -dpj -alm -apG -dmo -alm -dqM -dmo -doD -atv -dmo -avI -dtr -axQ -axQ -duQ -avI -aCR -aGP -dwn -dwA -aHR -aIU -cHb -cHu -dyu -cHD -cER -cES -aPW -aQR -cHZ -dhs -dhw -dhF -dhG -dhs -dhr -abW -abW -abW -aaa -aaa -aaa -aaa -aaa -abC -aXa -abC -aaa -aaa -aaa -aaa -aXn -aXn -aXn -aXn -aXn -dif -aXY -aYZ -bac -baG -bbk -bbk -bcv -bdi -bdZ -baF -bfN -bgX -bhJ -bhJ -bhJ -bhJ -bhJ -bml -baF -boQ -aYV -brL -bzp -btd -bwd -bxo -dcR -btd -bAr -bwd -bwd -btd -bzp -bGD -cGB -bJA -bKx -bLL -bNi -bOf -bPj -bGy -bGD -bSj -bGD -bGD -bGD -bUN -bVo -bVS -bWp -bWp -bWp -bWp -bVS -bVn -bZl -bZJ -bZJ -bZJ -bUN -cFH -diE -diM -dix -aXn -aaa -aaa -aaa -aaa -aaa -aaa -cdb -cdb -cdb -cdb -cdb -cdI -cea -ceA -ceA -ceA -ceA -ceA -ceA -ceA -ciA -cjg -cjX -ckE -cli -cdI -cmS -cfv -coz -cpy -cqH -crC -gTe -csX -ctM -csz -cuL -cvw -cuh -cxo -cyi -cyV -czC -cAe -czC -czC -czC -cBj -czD -cBP -czD -cxo -cCv -djM -djz -djG -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(75,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -abW -abW -abW -abW -abW -abW -abW -abW -abW -afd -dlS -dmo -dmK -cVE -alm -dmK -ahc -alm -dmK -anb -anS -alm -dmK -dqh -alm -dmK -aiy -doD -dmK -dsB -avI -dts -axR -axR -aAG -dvu -aCS -aDX -aAv -aGR -aHS -dxv -avI -cHv -cHz -cHG -cER -cES -aPW -aRb -cHY -dhr -dhx -dht -dhs -dhs -abW -abW -abW -adm -aaa -aaa -aaa -aaa -aaa -abC -aXa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aXA -aXr -aXr -aXM -dif -aZd -aZF -baF -baF -baF -baF -baF -baF -baF -bfO -bgY -bhK -biD -bjw -bkv -ble -bmm -baF -boQ -aYV -brJ -bzp -buB -dcE -bxp -dcS -dcU -bAs -dcJ -dcU -bDP -bzp -bGE -bGD -bJz -bKx -bIc -bIc -bIc -bIc -bQm -bRo -bSk -bSU -bSk -bRo -bUN -bVn -bVS -bWp -bVS -bXu -bWp -bVS -bVn -bZm -bVn -bVn -bVn -bUN -cbC -diE -dix -dix -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdb -cdb -cdI -cea -ceA -ceA -ceA -ceA -ceA -ceA -ceA -ciA -cjg -dCX -ckF -clj -cdI -cmJ -cfv -coz -cpz -cqI -crD -csA -csY -ctN -cuk -cqC -cvI -cwB -cxo -cyj -cyW -cGW -czD -czD -cAG -jfl -czD -cGW -cBQ -cCb -cxo -cSM -djM -djR -djW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(76,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -abW -afd -dlT -dmo -dmL -dne -alm -dnW -doh -alm -doG -doW -anS -alm -dpL -dqi -alm -dqN -cVY -doD -drZ -dsC -avI -dtt -dtR -dtR -aAF -azp -azp -aEg -azp -azp -azp -azp -azp -azp -azp -azp -azp -cHQ -aPW -aQR -cHY -dhr -dhy -dht -dhs -dhs -abW -abW -abW -abW -aaa -aWE -aWE -aWE -aWE -aWE -aXa -aWE -aWE -aWE -aWE -aWE -aaa -aaa -aXn -aXr -aXr -aXr -dif -aZG -bad -baH -baH -bbK -aZF -aYB -dif -baF -baF -baF -baF -baF -baF -baF -baF -bmn -baF -boQ -aYV -brM -bzp -buC -bwf -bxq -dcT -bzn -dde -bBD -bwf -dcJ -bzp -bGF -bIf -bJB -bKx -bLM -bNj -bOg -bPk -bQn -bGG -bGG -bGG -bGG -bGG -bUO -bVp -bVT -bVS -bWL -bVS -bVS -bVT -bVn -bZl -bZJ -bZJ -cau -bUN -div -diE -diB -diB -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdI -ceb -ceB -ceB -ceB -ceB -ceB -ceB -ceB -ciB -cdI -cjY -ckG -clk -cdI -cmJ -cfv -coz -cpA -cqJ -crD -crD -csZ -ctO -cpx -cuB -cvJ -cwC -cxo -cyj -cyW -czD -czD -czD -czD -czD -czD -czD -czD -czD -cCn -cCw -djA -djW -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(77,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abW -abW -abW -abW -abW -abW -abW -abW -afd -dlU -dmo -dmM -alm -alm -dnX -alm -alm -doH -doX -dpk -alm -dpM -alm -alm -dqO -alm -doD -dsa -alm -avI -dtu -dtR -dtR -aAF -azp -aCU -aGV -aCY -aEh -aFJ -aHT -cHp -aIX -aIX -aIY -azp -aOF -aPW -aQR -cHY -dhr -dhz -dht -dhs -dhs -abW -abW -aaa -aaa -aaa -aWF -aWF -aWF -aWF -aWF -aXb -aXi -aXi -aXi -aXi -aXi -aaa -aaa -aXn -aXr -aXr -aXr -dif -dig -bae -aXY -aXY -aXY -aZd -baH -lme -baH -bfP -bgZ -bhL -biE -bjx -bkw -blf -bmo -bnL -boS -bqe -brN -bzp -buD -dcF -dcJ -dcU -dcJ -ddf -dcU -ddn -dcU -bzp -bQn -bGG -bGG -bKy -bGG -bGG -bGG -bGG -bQo -diB -dix -dix -dix -diB -bUP -bVq -bVq -bVq -bVq -bVq -bVq -bVq -bVq -bZn -bUN -bUN -bUN -bUN -div -diS -diI -aXn -aaa -aaa -aaa -aaa -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cdI -cGQ -cGR -cGS -cJR -cqK -crE -csB -cta -ctP -cpx -cuP -cvK -cwD -cxo -cyj -cyX -czE -cAf -cAw -cAf -cAf -cAf -cBE -cBR -cCc -cxo -cCx -djA -cTk -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(78,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abW -abW -abW -abW -abW -abW -abW -abW -afd -ahH -dmr -ahH -ahH -ahH -agX -agX -dou -agX -doY -dpl -dpB -ahH -dqj -aix -ahH -agX -drG -dsb -agX -avI -dtv -dtT -duu -aAI -azp -aCV -aGV -aCY -aEi -dwX -aHT -aIX -aIX -aIX -aMM -aNK -aOB -aPW -aQR -cHY -dhs -dhA -axT -dhH -dhs -dhr -abW -aaa -aaa -aaa -aWG -aWG -aWG -aWG -aWG -aXc -aWG -aWG -aWG -aWG -aWG -aaa -aaa -aaa -aXn -aXr -aXr -aXr -aXM -dif -dif -dih -aXY -bcw -aZG -aXY -aXY -bac -bha -bhM -biF -bjy -bkx -dih -bmp -dih -boT -aZX -brO -cIZ -buE -btj -bxr -byq -bzo -btj -btj -btj -btj -bES -ddc -bSV -diE -diF -diy -bNk -diy -diG -diH -diD -dix -dix -dix -dix -diA -diy -diy -diy -bWM -diy -diy -bYA -diy -bJC -diy -diy -diy -caM -diw -bCD -dix -aXn -aaa -aad -aaa -aaa -aad -aad -aad -aaa -aaa -aad -aaa -aaa -abC -ccW -ccW -cda -cda -cda -cda -ccW -ccW -ccW -ccW -ccW -cda -cda -ceW -cmJ -cfv -coJ -cJR -cpx -cpx -cpx -cpx -cpx -cpx -cpw -cvL -cwE -cpw -cyk -cyY -cpw -cAg -cAx -cAH -czD -cBk -cBF -cBS -cCd -cxo -cSM -djA -djR -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(79,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -abW -abW -abW -abW -afd -dlV -dmr -ahH -agX -agX -agX -alr -alr -agX -agX -agX -aml -ahH -ahH -ahH -agX -agX -alr -dsc -agX -avI -avI -avI -avI -avI -azp -aCW -aBz -aEj -aGU -aGU -aIW -dxN -aLM -aLM -aMN -dyM -dyT -aQd -aQZ -cHY -dhs -fdP -dht -dhw -dhs -dhr -abW -aaa -aaa -aaa -abC -abC -abC -abC -abC -did -abC -abC -abC -abC -abC -aaa -aaa -aaa -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXM -aXM -dif -dih -dif -dif -dif -dih -bhN -biG -bjz -bky -dih -bmq -dih -boU -aZX -brP -btk -buF -bZS -bZy -byr -ddb -bAt -dix -diA -ddr -diy -dds -diy -HdC -diw -diE -diz -diE -bPm -diy -diy -diy -diy -diy -bJC -diw -diE -diz -diK -diM -diD -dix -diI -dix -diO -diE -bSV -diz -caN -diB -diB -dix -aXr -aXn -aaa -aaa -aaa -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -ccW -ccW -cfb -cfb -cfb -cfb -cfb -ccW -ccW -ccW -cda -cFN -cmT -cnO -coy -cJD -djy -crF -djN -ctb -ctQ -cpw -cuQ -cvM -cwF -cxp -cyl -cyZ -cpw -cpw -cxo -cxo -cAT -cxo -cxo -cxo -cCe -cxo -cCy -djA -djR -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(80,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -abe -aaQ -abC -abC -abC -cXs -cXs -cXs -cXs -cXs -abW -abW -abW -abW -afd -alm -dmt -agX -alr -alr -agX -alr -alr -alr -alr -alr -anc -cVR -aml -agX -alr -alr -alr -dsd -agX -aTz -afd -adP -adP -adP -azp -aAK -dvX -aCY -aFM -aGV -azp -dxO -aDc -aDc -aMO -azp -aOH -aPW -aRd -cHY -dhs -dhs -dht -dhw -dhs -dhr -abW -aaa -aaa -aaa -aWE -aWE -aWE -aWE -aWE -did -aWE -aWE -aWE -aWE -aWE -aaa -aaa -aaa -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXr -aXr -aXr -aXM -dih -dih -dih -dih -dih -dih -bmr -dih -boV -aYz -aYy -dis -buG -dit -bZy -bys -bZy -bAv -diy -diw -diD -diB -dis -bIg -bIg -bIg -bIg -dis -diB -bPn -diB -bRp -diE -bSV -diE -diE -diE -dix -dis -bWq -dis -dix -dix -dix -bYb -bYb -bYb -bYb -bYb -caO -bYb -aXn -aXr -aXr -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -ccW -cfb -cgE -chu -chS -cfb -cfb -cfb -cfb -cfb -cfb -cmJ -cfv -coy -cJC -cqL -crG -cSb -ctc -ctR -cpw -cuR -cvN -crw -cxq -cym -cuh -cpw -djG -djG -cxo -cGc -cBl -cAO -cAO -cCf -cBB -cCz -cxN -djz -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(81,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -abf -aaQ -aaQ -aaa -aaa -cFp -cFp -cFp -cFp -cFp -abW -abW -abW -abW -afd -cKZ -dmu -alr -agX -agX -agX -agX -agX -agX -alr -als -dpC -dpN -alr -alr -alr -atx -agX -atx -auz -alm -afd -adP -afE -afE -azp -aAL -aEk -aCY -dwB -TiR -aHV -aDc -aDc -aDc -aDc -aNL -aOB -aPW -aQS -cHY -dhs -dhw -dht -dhw -dhs -dhr -abW -aaa -aaa -aaa -aWF -aWF -aWF -aWF -aWF -did -aXi -aXi -aXi -aXi -aXi -aaa -aaa -aaa -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXr -aXn -aXr -aXr -aXr -aXr -aXn -aXn -aXn -aXn -aXn -dih -bms -bnM -cIJ -cWG -cWG -cWR -buH -dis -dcK -dcV -ddc -div -diz -bCD -diB -diB -dis -bhO -bhO -bhO -bhO -dis -diB -diB -dix -diI -diB -diB -dix -dix -dix -dix -dis -cRb -dis -aXn -bYb -bYb -bYb -bZo -bZK -cad -bZp -caP -bYb -bYb -aXr -aXr -aXn -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -cdJ -ceC -cfb -cfb -cgg -cgF -chv -chT -cfb -cji -cjZ -ckH -cll -cfb -cmU -cnU -coK -cpB -cqM -crH -csC -ctd -djS -cpw -cuS -cvO -cwG -cxr -cuh -cza -cpw -djG -djG -cxo -cAU -cGd -djM -djO -djH -djM -djM -cTi -djG -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(82,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -abg -abt -abF -aaQ -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abW -afd -alm -dmv -dmO -agX -agX -dnY -agX -agX -agX -afD -alr -alr -als -alr -alr -alr -agX -agX -agX -alr -aTz -afd -afH -cEG -duR -azp -aAK -dvY -aCY -aFN -aGV -azp -dxP -aDc -aDc -dyA -azp -aOI -aQg -aRe -cIa -aSA -dhB -aTW -aUs -dhs -dhr -adm -abC -abC -abC -aWG -aWG -aWG -aWG -aWG -did -aWG -aWG -aWG -aWG -aWG -abC -abC -abC -abC -aaP -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXn -aXn -bhO -bhO -bhO -bhO -aqU -bnN -cIJ -cWG -cWG -cWR -buI -bwg -bxs -diu -diu -diw -dis -diB -diB -dis -dis -bhO -aaa -aaa -bhO -dis -dis -aXn -aXr -aXr -aXn -aXn -aXr -aXr -aXr -aXr -dis -bWq -dis -aXn -bYb -bYB -bYT -bZp -bZs -bZs -bZp -caQ -cbl -bYb -aXr -aXr -aXn -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdJ -cec -ceD -cfb -cfx -cfb -cgG -chv -chU -ciC -cjj -cjj -cjj -cjj -clV -cmV -cnS -coL -cJC -djz -crI -csD -csD -csD -csD -cuT -cpw -cwH -cxs -cyn -cuT -cuT -cuT -csD -csD -csD -djz -cjv -cTb -dkb -djE -djG -djW -djW -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(83,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -abh -abu -abG -aaQ -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abW -afd -aTz -alm -alr -agX -agX -agX -agX -agX -agX -alr -alr -alr -alr -dqk -dqz -aTz -drf -agX -drf -cKZ -aTz -afd -afE -dfd -aAJ -azp -aDa -aGV -aCY -dwC -aHW -aIZ -aLP -aLP -aLP -aMP -aNM -aOJ -aQh -cMh -cIb -aSB -dhw -dhv -dhs -dhs -dhr -abW -aaa -aaa -aaa -abC -abC -abC -abC -abC -did -abC -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXr -aXr -aXr -aXr -aXr -aXn -bhO -aXA -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWR -buJ -dis -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -bhO -aaa -aaa -aaa -aaa -bhO -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -bhO -bhO -bhO -aXn -bYb -bYC -bYb -bZq -bZK -PsJ -bYB -cav -cbm -bYb -aXr -aXr -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -cdK -ced -ceE -cfc -cfy -cfc -cgH -chw -cgH -cgH -cgH -YWC -cgH -cgH -clW -cmW -cfv -coy -cJC -cqN -crJ -csD -cte -ctS -cul -cuU -cvP -cwI -cxt -cwM -czb -czF -cte -ctS -cul -csD -djG -dkf -djE -djE -dke -djG -cda -cda -cda -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(84,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaR -abi -abt -abH -aaQ -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abW -afd -afd -aTz -cKZ -aTz -alr -cKZ -alm -dox -alr -alr -dpm -dpD -dpO -cKZ -cKZ -aTz -aTz -alm -aTz -aTz -afd -afd -afH -dfd -dgl -azp -aDb -aEm -aCY -aGW -dwY -aHT -aIX -aIX -aIX -aDc -aNK -aOK -aPW -cMh -cHY -dht -dhs -dhs -dhs -dhs -abW -abW -aaa -aaa -aaa -aWE -aWE -aWE -aWE -aWE -did -aWE -aWE -aWE -aWE -aWE -aaa -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aXn -aaa -abC -aaa -aaa -aaa -aqU -cWA -cWC -cWG -cWG -dcw -dcA -aaa -aXn -aXn -aaa -aaa -aaa -aaP -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bhO -bhO -aXn -aXn -bhO -bhO -aXn -aXn -aXn -aXn -aXn -bhO -bhO -bhO -aXr -bYb -bYb -bYU -bZr -bZL -cae -cav -bZs -cbn -bYb -aXn -aXn -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -cdL -cee -ceF -cfb -cfz -cfb -cgI -chv -chv -ciD -chv -cka -ckI -ckI -clX -cmX -cfv -coM -cJC -djA -djH -csD -ctf -ctT -cul -cuV -cvQ -cwJ -cxu -cwN -czc -czG -cte -ctS -cAI -csD -djz -djH -djz -djz -djz -djz -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(85,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaR -abi -abu -abI -aaQ -aaQ -aaQ -cXs -cXs -cXs -cXs -cXs -cXs -cXs -adm -abW -afd -afd -aTz -aTz -aTz -aTz -aTz -cKZ -doK -alt -afd -afd -afd -afd -afd -afd -afd -afd -afd -afd -afd -afE -dtU -duv -afH -azp -aDc -dvZ -aCY -aEn -dwZ -aHT -aIX -aIX -aIX -dyB -azp -aOL -aPW -cMh -cHY -aSC -dhs -dhs -abW -abW -abW -abW -aaa -aaa -aaa -aWF -aWF -aWF -aWF -aWF -did -aXi -aXi -aXi -aXi -aXi -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXA -aXn -aXn -aXn -aXn -aXn -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -aaa -aaa -aaa -aaa -aaa -aaa -bhO -bhO -bhO -bhO -bhO -bhO -aXn -aXn -aXn -aXn -bhO -bhO -bhO -aXr -aXr -aXr -bYb -bZs -bZs -bZs -bZs -bYB -bYb -bYb -aXn -aXn -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cdL -ceG -cfb -cfb -cgg -cgJ -chv -chV -cfb -cjk -ckb -ckJ -clm -cfb -cmY -cfv -coy -cJC -djA -djI -csD -ctg -ctU -cum -cuW -cvR -cwK -cxv -cyo -czd -czH -cAh -ctU -cAJ -csD -djz -cSZ -dkc -cSS -dkg -djz -cda -ccW -ccW -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(86,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaR -abi -abu -abJ -abX -ack -abX -dkG -dkG -dkG -dkG -dkG -dkG -dkG -dlr -abW -abW -afd -afd -afd -afd -afd -afd -afd -afd -afd -afd -adP -adP -afH -afH -afE -adP -adP -afE -afE -afH -afE -dtV -afH -afH -azp -azp -azp -azp -azp -azp -azp -azp -azp -azp -azp -azp -aOM -aPW -cMh -cIc -aRW -cIg -abW -abW -abW -abW -abW -aaa -aaa -aaa -aWG -aWG -aWG -aWG -aWG -did -aWG -aWG -aWG -aWG -aWG -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aXn -aXn -aXn -aXn -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -cFp -aaa -aaa -abC -aaa -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aXA -bhO -bhO -bhO -bhO -bhO -aXn -aXA -aaa -aaa -abC -bhO -aXr -aXr -aXr -aXr -bYb -bZt -bZM -bZs -caw -bYb -bYb -aXn -aXn -bhO -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -ccW -ccW -cfb -cgK -chx -chW -cfb -cfb -cfb -cfb -cfb -cfb -cmZ -cfv -coy -cJC -djB -djJ -csD -csD -csD -csD -csD -csD -cwL -cGV -cyp -csD -csD -csD -csD -csD -csD -djG -djH -djz -djA -cTd -djz -cda -ccW -cdb -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(87,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -abj -abv -abK -abF -aaQ -aaQ -abC -abC -abC -abC -abC -abC -abC -cCE -abC -mfY -mfY -nJQ -nJQ -nJQ -adP -adP -adP -adP -adP -adP -adP -adP -afE -alx -deQ -arx -afa -afa -aQK -avO -cKU -axU -azq -aAO -aBG -aDd -aEo -aAO -aAO -aAO -aJa -aAO -aAO -aBG -cMc -aNN -aON -aQi -cMi -aRW -aSD -cIh -abW -abW -abW -abW -abW -aaa -aaa -aaa -abC -abC -abC -abC -abC -did -abC -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -bhO -aXn -aXn -aXr -aXr -bYb -bZu -bZu -bZu -bZu -bYb -aXn -aXn -aXn -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -ccW -ccW -cfb -cfb -cfb -cfb -cfb -ccW -ccW -ccW -ceW -clY -cmJ -cfv -coy -cJC -djA -djH -csD -cte -ctS -cul -cuX -cvS -cwM -cxw -cwM -cze -czI -cte -ctS -cul -csD -djD -djH -djz -cTc -cTe -djz -ccW -ccW -ccW -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(88,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -abk -abw -abL -abY -acl -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -cCE -abC -wil -UFv -TaH -kNu -mfY -adP -adP -adP -adP -adP -adP -adP -afH -deN -ahR -aQK -anV -amo -cKX -auC -cKO -afE -axV -azr -deN -deN -cLl -dfS -cKI -cKD -dgi -cLP -cKF -deN -deN -dgA -dfz -aOK -aQj -cMh -aRV -aSE -cIc -aRW -aRW -cIg -abW -abW -aaa -aaa -aaa -aWE -aWE -aWE -aWE -aWE -aXa -aWE -aWE -aWE -aWE -aWE -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aXn -aXn -aXn -aXr -bhO -bhO -bhO -bhO -aXn -aXn -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cda -cda -ccW -ccW -ccW -ccW -ccW -ccW -ccW -ccW -cda -ceW -clZ -cmJ -cfv -coy -cJS -cqO -djH -csD -ctf -ctV -cul -cuY -cvQ -cwN -cxu -cwN -czc -czJ -cte -ctS -cAI -csD -djE -djH -djz -djz -djz -djz -cda -ccW -ccW -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(89,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaQ -aaQ -aaQ -aaQ -aaQ -aaQ -abC -abC -abC -abC -abC -abC -abC -abC -cCE -abC -mfY -mfY -peP -HUf -mfY -adP -adP -deO -deO -deO -deO -afE -ahR -aQK -aiF -cKM -cKU -cKT -afH -ahf -deN -afE -axW -azs -aAP -aAP -aAP -aAP -cGk -cGk -cGk -cGk -cGk -aFR -aFR -aFR -aFR -aOO -aQj -cMh -aRV -aSF -aTA -aTX -aUt -cIh -abW -abW -aaa -aaa -aaa -aWF -aWF -aWF -aWF -aWF -aXd -aXi -aXi -aXi -aXi -aXi -abC -abC -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -cWA -cWC -cWG -cWH -btl -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aXn -aXn -aXn -bhO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cda -cda -ccW -cfA -cfA -cfA -ccW -ccW -ccW -cda -cda -ceW -cma -cmJ -cnR -coL -cJC -cqP -djH -csD -ctg -ctU -cum -cuZ -cvR -cwM -cxx -cwM -czd -czK -cAh -ctU -cAJ -csD -djE -djH -cip -djz -cda -cda -cda -ccW -ccW -cda -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(90,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -cCE -mfY -mfY -mfY -nJQ -HUf -mfY -adP -adP -adP -adP -deO -deO -adP -ahf -cKM -cKS -cKT -afH -afE -adP -ahf -deN -afE -axX -azt -aAQ -aBH -aDe -aEp -aFR -aGY -aHX -aJb -aFR -aKI -aFR -aMS -aFR -aOK -aQj -cMh -aRV -aSG -aSF -aTY -aUu -cIh -abW -abW -aaa -aaa -aaa -aWG -aWG -aWG -aWG -aWG -aXa -aWG -aWG -aWG -aWG -aWG -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aad -aaa -abC -aaa -aag -aaa -aad -aac -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cda -cda -cfA -cfA -cfA -cfA -cfA -cfA -cfA -cfA -cda -ceW -ceW -cnb -cfv -coy -cJC -cRW -djH -csD -csD -csD -csD -csD -csD -cwO -cxy -cyq -csD -csD -csD -csD -csD -csD -dkd -djH -djF -djR -djz -djz -djR -djR -djz -cda -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(91,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -cCF -Esk -zRh -Esk -Nbq -kQd -nJQ -adP -adP -adP -adP -deO -deO -afE -anU -cKN -adP -adP -adP -adP -adP -aOq -cLc -afH -axY -azu -cLg -dfq -dfq -aEq -aFR -aFR -aHY -aFR -aFR -aKJ -aFR -aMT -aFR -aOK -aQj -cMh -aRV -aSH -aSF -aSF -aUv -cIh -abW -abW -aVN -aVN -aaa -aaa -abC -aaa -aaa -aaa -aXe -aaa -aaa -aaa -abC -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aad -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cda -cda -cfA -cfA -cgL -chy -cfA -cfA -cfA -cfA -cfA -cfA -cmb -cmJ -cfv -coy -cJC -cRX -chb -csD -cte -ctS -cul -cva -cvT -cwM -cxz -cwM -czf -czL -cte -ctS -cul -csD -cRW -djH -djE -djz -cCo -djA -cCP -dkk -djz -cda -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(92,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -abC -nJQ -mfY -mfY -mfY -mUO -nJQ -adP -adP -adP -adP -deO -deO -afE -cKL -cKN -afH -aqC -aqC -aqC -aqC -auD -dfz -aqC -afH -afH -aAS -deN -dfq -aEr -aFR -aGZ -aGZ -VdI -aGZ -aKK -aGZ -aGZ -aFR -aOK -aQj -cMh -aRV -aSI -MXP -cGp -aUw -cIh -abW -abE -aaa -aaa -aVN -aaa -abC -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -aaa -aVN -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cda -cda -cda -cfA -cfA -cgM -chz -chX -ciE -cjl -cfA -cfA -cfA -cfA -dzs -cfv -coN -cJC -djC -djH -csD -ctf -ctS -cul -cvb -cvQ -cwN -cxu -cwN -czc -czM -cte -ctV -cAI -csD -cBm -djH -djU -cCg -cqO -djA -djA -cDf -djR -cda -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(93,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -EDx -dZe -nJQ -adP -adP -adP -adP -adP -afH -afH -ahh -cKN -deO -aqC -ary -asu -atA -auE -avP -awX -axZ -aqC -cLh -cLi -cLi -aEs -aFR -aGZ -aHZ -aHZ -aJZ -aKL -aGZ -aMU -aFR -aOK -aQk -cMj -aRV -aSJ -aSF -aSF -aUw -aUX -abE -abE -aaa -aaa -aaa -aVN -aVN -aaa -aaa -aaa -abC -aaa -aaa -aaa -aVN -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aac -aaa -aaa -aaa -abC -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aad -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cda -cda -cda -cfA -cfA -cgN -chA -chY -ciF -ciF -ckc -ckK -cln -ckK -cmV -cnS -coO -cJC -djD -djH -csD -ctg -ctU -cum -cvc -cvR -GUQ -cxt -cwM -czd -czN -cAh -ctU -cAJ -csD -djE -djH -cBA -djR -cCp -cCA -dkh -dki -djz -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(94,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -vls -VSX -mfY -mfY -mfY -adP -deO -adP -afH -ahR -aiF -cKN -adP -aqD -arz -cGg -asv -asv -asy -awY -asy -aqC -aqC -aqC -aqC -aqD -aqC -aqC -aFR -aFR -aKa -aKM -aLR -aFR -aFR -aOK -aQj -cMh -aRV -aSK -aSF -aSF -aUx -aUX -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aVN -aVN -aVN -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aab -aab -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -cWA -cWD -cWG -cWG -btl -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -ccW -cda -cda -cda -cfA -cfA -cgO -chA -chZ -ciG -uRf -ckd -ckL -clo -ckL -cnc -cfv -coP -cJC -djE -djH -csD -csD -csD -csD -csD -csD -cwP -cxt -cyr -csD -csD -csD -csD -csD -csD -djD -djH -djE -djz -djz -djA -djA -djA -cDz -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(95,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -Kae -URO -khr -zlm -ecv -FZD -doz -ast -cKW -cKW -and -dpP -dqm -aNx -aqC -cEC -asw -atB -auF -asy -auE -avP -azv -avP -aBJ -aDf -aEt -aFS -aqC -aIa -aJc -aKb -aKN -aJd -aMV -aqC -aOP -aQl -cMk -aRX -aSL -aTB -aSF -aUy -aUX -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aab -aab -aab -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -ccW -ccW -ccW -ccW -cfA -cfA -cgP -chA -cia -ciH -ciH -cke -ckM -clp -ckM -cmR -cfv -coP -cJC -djE -djK -csD -cte -ctS -cul -cvd -cvU -cwM -cxt -cwM -czg -czO -cte -ctS -cul -csD -djE -djH -djX -djW -djz -cCB -cCR -cDh -cDz -cdb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(96,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aab -aab -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -Kae -QbG -vtB -NUL -paW -fTn -akk -afa -akK -afa -afa -anW -aoT -apK -aqC -arz -asx -atC -auG -avQ -asy -asy -asy -asv -awY -aDg -aEt -aFT -aqC -aIa -aJd -aKc -aKO -aLS -aMW -aqC -aOQ -aQm -aRg -aRY -aSM -aTC -aTZ -aUz -cIh -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aad -aaa -abC -aaa -aaa -aaa -aaa -aaa -ddx -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -ccW -cda -ccW -ccW -cfA -cfA -cgM -chz -cib -ciE -cjm -cfA -cfA -cfA -cfA -cne -cfv -coP -cJC -djD -djH -csD -ctf -ctW -cul -cve -cvQ -cwN -cxA -cwN -czc -czP -cte -ctS -cAI -csD -djE -djH -cjH -djz -djR -djR -djR -djz -djz -cda -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(97,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -Kae -kfu -Qqu -IMP -pxP -mfY -afH -afH -adP -afE -alw -aeJ -dfd -cKD -aqC -arA -asv -asv -asv -asy -awZ -cGg -azw -asx -kdF -aDh -aEt -aFS -aqC -aIa -aJd -aKc -aKN -aJd -aMW -aqC -aOR -aQj -cMl -cId -aRW -aRW -aRW -aRW -cIi -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWG -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aXR -ddy -aXR -aXD -aYg -aXD -aXD -aXD -aaa -aaa -aaa -abC -aaa -aaa -abC -aqU -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -ccW -ccW -cda -cda -cfA -cfA -cgQ -chB -cfA -cfA -cfA -cfA -cfA -cfA -cmb -cnf -cfv -coP -cJC -djC -djH -csD -ctg -ctU -cum -cvf -cvR -cwQ -cxB -cwM -czd -czQ -cAh -ctU -cAJ -csD -dke -djH -cip -djz -cda -cda -ccW -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(98,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -Kae -tUD -NUL -kUG -KQP -nJQ -adP -adP -afH -afc -amo -anX -cKO -adP -aqC -arB -asu -asu -asu -asu -asu -aya -azx -aAU -aBK -aDh -aEt -cLw -aqC -aIa -aJd -aKc -aKN -aJd -aMX -aqC -dko -aQj -cMh -cHY -acH -acH -acH -acH -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -cWA -cWD -cWG -cWI -btl -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaP -aaa -aaa -aXD -aXD -aXR -ddy -aXR -aXR -aXR -aXD -aXD -aXD -aXD -aXD -aXD -aYg -aXR -aXR -aXD -aXD -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -ccW -ccW -cda -cda -cfA -cfA -cfA -cfA -cfA -cfA -cfA -cfA -ccW -ccW -ceW -cmJ -cfv -coP -cJC -djE -djH -csD -csD -csD -csD -csD -cvV -cwR -cwR -cwR -cvV -csD -csD -csD -csD -csD -djG -djH -djE -djW -cda -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(99,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aab -aab -aab -aab -aac -aac -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -Kae -ixb -rHM -BMW -nJQ -nJQ -adP -adP -afH -lqU -amp -afE -adP -adP -aqC -arC -asy -atD -auH -avR -avR -ayb -azy -asy -awY -aDi -aqC -aqC -aqC -aqC -aqC -aKc -aKN -aqC -aqC -aqC -aOS -aQj -cMh -cHY -acH -acH -acH -acH -abW -abW -abC -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aab -aaa -aab -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -cFp -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aXR -aXR -aXR -aXR -aXR -aXR -ddy -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXD -aXD -aXD -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cda -ccW -ccW -ccW -ccW -ccW -cfA -cfA -cfA -ccW -ccW -ccW -ccW -ccW -ccW -cgA -cng -cnO -coP -cJT -djE -djL -cgT -djM -djT -djG -cvg -cvW -cvX -cvX -cvX -czh -czR -cAi -cAy -cvg -cAV -cBn -dkb -djE -djG -cda -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(100,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aac -aac -aac -aac -aac -aac -aac -aac -aac -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -EKN -ssn -qia -nJQ -adP -adP -adP -adP -afc -amr -adP -aoV -aoV -aoV -arD -asz -atE -aoV -aoV -cEE -ayc -azz -aAV -aBL -aDj -aEu -aEu -aHa -aIb -aJe -aDj -aKP -aEu -aEu -aNO -aOT -aQn -cMh -cHY -acH -acH -acH -acH -aSN -aSN -aSN -aSN -aSN -aSN -aSN -abC -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aaa -aaa -aXD -aXR -aXR -aXR -aYf -aYf -aYf -aXR -aXR -ddy -aXR -aXR -aXR -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aXR -aXD -aXD -aXD -aXD -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -ccW -ccW -ccW -ccW -cda -cda -cda -cda -ccW -ciI -ciI -ciI -ciI -ciI -ceW -cnh -cnP -coQ -cJC -djF -cRY -djH -djA -djM -djU -cvh -cvX -cwS -cvX -cwS -cvX -czS -cAi -cAz -cAK -cAW -cBo -djE -cBA -djz -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(101,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aac -aad -aac -aac -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -yRS -oVZ -ssn -mfY -adP -adP -adP -afE -afc -amp -afH -aoV -apM -aqE -arE -asA -atF -aqE -avS -aoV -ayd -azA -aAW -avR -aDk -avR -avR -aHb -aIc -avR -aDk -avR -avR -avR -aNP -aOU -aQo -cMj -aRZ -aSN -aSN -aSN -aSN -aSN -aVm -aVn -aVO -aWg -aWu -aSN -abC -aaa -aaa -aaa -aaa -aad -aab -aab -aab -aaa -aaa -aaa -aaa -aab -aac -aac -aad -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aaa -aaa -aXR -aXR -bxJ -bxJ -bzq -bzq -bzq -bzq -bzq -ddz -bxJ -bxJ -bwz -cGH -bwz -bzq -aYf -aYf -aXR -aXR -aXR -aXR -bwz -bWs -bwz -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -cda -ccW -ceH -ceH -ceH -ceH -ceH -ccW -ccW -ciI -cjn -ckf -ckN -clq -cmc -cni -cfv -coP -cJC -djG -djM -djL -djP -ctX -djG -cvg -cvY -cwT -cxC -cwT -czi -czR -cAi -cAA -cvg -cjv -dkb -djE -djE -djz -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(102,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aad -aad -aab -aab -aad -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -mfY -uNO -mfY -mfY -adP -adP -adP -alu -deQ -amp -afH -aoV -apN -aqF -arF -asA -atG -auI -avT -axa -axa -axa -aAX -aBM -aDl -axa -axa -axa -awY -asy -aKd -asy -asy -asy -aNQ -aOV -aQl -cMk -aSa -aSO -aTD -aUa -aUA -aUY -cEX -aUY -aUY -aUY -aWv -aSN -abC -aaa -aaa -aaa -aaa -aac -aac -aab -aab -aaa -aaa -aaa -aab -aab -aac -aad -aad -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aaa -aaa -aXR -bxJ -bwz -bwz -bAy -cGH -bwz -bzq -bwz -ddA -cGH -bwz -bvg -cPt -bxK -bxJ -cGH -bwz -bxJ -bzq -aYf -aXR -cGH -bVa -bwz -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -cda -ccW -ceH -cfd -cfB -cgh -ceH -cda -ccW -ciI -cjo -ckg -Goz -clr -cmd -cnj -cnU -cXl -cJC -djz -djB -djO -cSc -djG -djz -cvg -cvg -cvg -cvg -cvg -cvg -cvg -cvg -cvg -cvg -djH -djE -djE -djT -djz -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(103,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aac -aac -aac -aad -aab -aab -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -JZR -mfY -adP -adP -adP -adP -alv -amo -ane -adP -aoV -aoV -aoV -arF -asA -atH -aoV -aoV -axa -aye -azB -aAY -aBN -aDm -azB -aFU -axa -aId -aJf -aKe -aJf -aLT -cEQ -aqC -aOW -aQp -cMm -aSb -aSP -aTE -aUb -aUB -aUZ -aVn -aUZ -aVP -aWh -aWw -aSN -abC -aaa -aaa -aaa -aaa -aaa -aad -aac -aab -aad -aab -aab -aad -aac -aac -aab -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -cWA -cWC -cWG -cWK -btl -aqU -aaa -aaa -aXD -aXR -bxJ -bwz -bCE -bwx -cPS -bwz -cGH -cGH -ddB -cPo -cPM -cQA -bXE -bXE -bXE -cQT -cQV -bTy -bwz -bxJ -bwz -bwz -cRc -cGH -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -ccW -ceH -cfe -cfB -cgi -ceH -cda -ccW -ciI -cjp -ckh -ckP -cls -cmc -cnk -cfv -coR -cJC -djz -djA -djO -cSd -djP -djz -djz -djG -djG -cxD -djG -djG -djz -djG -djz -cjv -dkb -djD -djz -djz -djz -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(104,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -nJQ -HUf -nJQ -adP -adP -adP -adP -cKG -amp -deO -deO -aoV -apM -aqG -arF -SvE -atH -aqE -avS -axa -ayf -azC -aAZ -pGA -aDn -aEv -aFV -axa -aIe -aIf -aKf -aIf -aLU -aqC -aNR -aOR -aQj -aRh -aSc -aSQ -aTF -aUc -aUC -aVa -cEY -aUZ -aUZ -aUZ -dzk -aSN -abC -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aab -aab -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aaa -aXR -bxJ -bxJ -bwx -bBF -cUd -cUd -cUe -cUf -cUg -ddC -cUi -cUi -cUi -cUj -cUi -cUi -cUj -cUi -cUi -cUi -cUi -cUj -cUj -bWt -bzq -bzq -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aac -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ccW -ceH -cff -cfC -cgj -ceH -cda -ccW -ciI -cjq -cjq -ciI -clt -ciI -cfu -cfv -cXm -cJC -djz -cRZ -djG -djD -djL -djV -djV -djV -djY -cxE -djV -cSA -djz -dka -djV -dkb -djE -djW -djW -cda -cda -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(105,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -MZA -HUf -nJQ -adP -adP -adP -afE -alw -amq -afE -deO -aoV -apO -aqH -arG -asA -atI -auJ -avU -axa -axa -axa -aAZ -aBN -aDo -axa -axa -axa -cEK -aIf -aIf -aIf -aIf -aqC -aNS -aOR -aQj -aQS -aRZ -aSN -aSN -aSN -aSN -aSN -aVo -aVn -aVQ -aVn -aWu -aWH -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aab -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aaa -aXR -bzq -cGH -bAz -bBG -bDR -bDR -bDR -bDR -bDR -bDU -bDR -bxJ -cGH -bwz -bxJ -cQR -cQU -cQW -bXE -bXE -cQZ -cQT -bXE -cUl -cUn -bxJ -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ccW -ceH -ceH -cfD -qOD -ceH -ceH -ccW -ccW -abC -abC -ciI -clu -ciI -cfu -cfv -cXm -cJC -ccW -cSa -djz -djQ -djE -djE -djE -djX -djE -djQ -djE -djL -djZ -dkb -djE -djE -djQ -djz -cda -cda -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(106,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -PUG -NYl -nJQ -adP -adP -adP -deO -alx -amr -afH -deO -aoV -aoV -aoV -arH -asA -atI -aoV -aoV -axa -aye -azB -aAZ -aBN -aDo -azB -aFW -axa -aIg -aJg -aKg -aKQ -aLV -aqC -aNT -aOR -aQj -aQR -cHY -acH -acH -acH -acH -aSN -aSN -aSN -aSN -aSN -aSN -aSN -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -abC -abC -abC -abC -abC -abC -aaa -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aaa -aXR -aXR -bzq -bwz -bwx -bBG -bDR -bET -bET -bIh -bJD -ddD -bLN -bLN -bLN -bLN -bLN -bLN -bLN -bLN -bLN -bLN -bLN -bLN -bLN -cPM -cUo -bwz -bxJ -bzq -cGH -bwz -bxJ -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cda -ceH -cfE -cgl -cgR -ceH -cda -ccW -aaa -aaa -ciI -clv -ciI -cnl -cfv -coS -cJU -ccW -ccW -djz -djR -djz -djF -djE -djX -djE -djz -djE -djM -djM -djE -djF -djz -djz -djz -cda -cda -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(107,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -kxH -nJQ -nJQ -adP -adP -adP -afH -aly -ams -anf -adP -aoV -apP -aqE -arG -asA -atI -aqE -avS -axa -ayg -azD -aBa -aBN -aDp -aEw -aFX -axa -aqC -aqC -aqD -aqC -aqC -aqC -aqC -aOX -cGn -aRi -cHY -acH -acH -abE -abE -abE -abC -abC -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -abC -abC -aXB -aXB -aXB -aXB -aXC -aXD -aYg -aXD -aaa -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aXR -aXR -aXR -bxJ -bxJ -bwx -cUc -bDR -bEU -bGH -bIi -bJE -ddE -bLN -bNl -bOh -bNl -bLN -bRq -bSm -bRq -bLN -bUj -bUQ -bUj -bLN -bXE -cUl -cUn -cGH -bwz -bXE -bZv -bwz -bwz -bwz -abC -abC -abC -abC -abC -abC -aaa -aaa -aab -aad -aaa -aaa -aaa -aaa -abC -abC -abC -abC -abC -ceH -ceH -ceH -cgm -cgS -ceH -cda -ccW -aaa -aaa -aaa -aqU -ceW -ceX -ceY -coT -ceW -ccW -ccW -djG -cda -djz -djW -djW -djz -djz -djz -djG -cSB -djz -djz -djz -djz -cda -cda -cda -cda -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(108,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -mfY -rsx -mfY -abW -abW -adP -adP -afH -deO -afc -amp -adP -aoV -apQ -aqI -arI -asB -atI -auK -avV -axa -axa -axa -aBb -aBN -aDp -axa -axa -axa -abW -abW -abW -abW -abW -abW -aKp -aOR -aQj -aQR -cHY -acH -abE -abE -abE -aVb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -abC -abC -aXB -aXB -aXB -aZh -aXP -aYa -bfQ -cEZ -aXR -aXR -aXD -aXD -aaa -aqU -cWA -cWC -cWG -cWJ -btl -aqU -aXR -aXR -aYf -bxJ -bxJ -bBE -bBG -bDR -bEV -bEV -bIi -bJF -ddF -bLN -bNl -bOi -bNl -bLN -bRq -bSn -bRq -bLN -bUj -bUR -bUj -bLN -bwz -cPo -cUl -cUn -bwz -bXE -cPF -bZN -bIJ -bZN -aXD -aqU -aqU -aqU -abC -abC -abC -aaa -aac -aad -aac -aaa -aaa -abC -abC -aqU -aqU -aqU -aqU -ceI -cfg -cfF -cgk -ceH -ceH -cda -ccW -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -ccW -ccW -ccW -cda -cda -cda -cda -cda -ccW -ccW -ccW -ccW -cda -cda -cda -cda -cda -ccW -ccW -ccW -ccW -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(109,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -adP -deO -afH -afc -amp -afH -aoV -aoV -aoV -aoV -asC -aoV -aoV -aoV -axa -aye -azB -aBa -aBN -aDp -azB -aFU -aHc -aHc -aHc -aHc -aHc -aHc -abW -aKp -aOR -aQj -aRd -cHY -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -abC -aXB -aXB -aXB -bbl -aZI -bcx -bdj -baI -beR -bfR -aXC -aXR -aXR -aXD -aXD -aaa -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aXD -aXR -aYf -bxJ -cGH -QTJ -bBG -bDR -bEW -bEW -bIi -bJG -ddG -bLN -bNm -bOj -bPo -bLN -bRr -bSo -bSW -bLN -bUk -bUS -bVr -bLN -bxJ -cQR -cRg -cUp -cUg -cUh -cUn -cGH -cGH -bwz -aYg -abC -abC -abC -aaa -aaa -aaa -aaa -aac -aac -aad -aaa -aaa -aaa -aaa -abC -abC -abC -cef -ceH -ceH -ceH -ceH -ceH -cda -cda -ccW -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -ccW -ccW -ccW -cda -cda -cda -cda -cda -cda -cda -ccW -ccW -cda -cda -cda -cda -cda -ccW -ccW -ccW -ccW -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(110,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -acH -acH -deO -afE -aws -amp -afE -adP -cKD -aqJ -cKF -dfr -atJ -anT -avW -axa -ayh -azE -aBc -aBO -aDp -aEx -aFY -aHc -aIh -aJh -aKh -aKR -aHc -abW -aKp -aOY -aQj -aQR -aSd -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aXB -aXP -aYa -aYo -aZH -aZH -aYa -bdk -bea -cGr -bfS -aXC -aXR -aXR -aXD -aXD -aXD -aqU -bnN -cIJ -cWG -cWJ -cWS -aqU -aXD -aXR -aYf -bzq -bAx -bBF -bBH -bDR -bDR -bDR -bIj -bDR -bDU -bLN -bNn -bOk -bPp -bLN -bNn -bOk -bPp -bLN -bUl -bOk -bVs -bLN -bDR -cGH -cGH -bwz -cGH -cPo -cUt -bwz -bwz -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aad -aaa -aac -aac -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ccW -ccW -ccW -ccW -ccW -ccW -ccW -ccW -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -ccW -ccW -cda -cda -cda -cda -cda -cda -cda -cda -cda -cda -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(111,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -acH -acH -acH -afH -afE -ang -anY -aoW -anY -anY -anY -asD -atK -cKU -avX -afH -axa -axa -axa -aBP -aDq -aDq -aDq -aHc -aIi -gIL -aKi -aKS -aHc -abW -aKp -aOZ -aQj -aQR -aSd -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aYl -aYD -aZe -aYH -aYo -baI -aYo -aYo -aYo -bdl -beb -beb -bfT -aXC -aYf -aXR -aXR -aXR -aXD -bmt -bnO -cIJ -cWG -cWJ -btm -buK -aXD -aXR -bxJ -bwz -bxL -cPL -bxJ -bDR -bEX -bGI -bGJ -ddu -ddH -bLO -bNo -bLP -bPq -bQq -bNo -bLP -bPq -bTz -bVW -bLP -bVt -bVU -bDR -bXE -cGL -bXE -bwz -bXE -cUt -cRf -bxJ -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ccW -ccW -ccW -ccW -ccW -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -ccW -ccW -cda -cda -cda -cda -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(112,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -acH -acH -acH -acH -afH -afH -anh -afc -afc -afc -alx -afc -aqf -atL -deN -avY -aQK -aQK -aQK -aQK -aQK -aDr -aEy -aFZ -aHd -aIj -aJj -aKj -aKT -aHc -abW -aKp -cHR -aQj -aQR -aSd -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aYl -aYa -aZf -aZf -aYo -aYo -aYF -aYo -aYo -bdl -beb -beb -bfU -cFa -aYf -aYf -aYf -aYf -aYJ -bmu -aYJ -cIK -aYM -brQ -aYJ -buL -aYJ -aXR -bxJ -cGH -bwx -cUa -bCF -bDS -bEY -bGK -bGK -bGK -bKz -ddI -ddJ -ddM -bPr -ddO -ddQ -ddV -dea -deh -deq -dev -bVu -bVW -bDR -cGJ -bXE -cPF -cGN -cQd -cUt -cRm -bwz -aYf -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXj -cXi -cXn -cXh -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -ccW -ccW -cda -cda -cda -cda -cda -ccW -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(113,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -abW -acH -acH -acH -abW -adP -adP -ani -anZ -aoX -apR -deQ -arJ -arJ -arJ -arJ -arJ -arJ -ayi -ayi -ayi -ayi -ayi -aEz -aGa -aHd -aIk -aJk -aHd -aHd -aHc -aHd -aHd -aPa -aQk -aQZ -aSd -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aYE -aZf -aZf -aYo -aXP -aYE -aYa -aYo -cGq -bec -bec -cFh -aXC -aYf -aYf -aYf -aYf -aYJ -bmv -cIs -cIL -aZm -cWL -aYJ -cFs -aYJ -aXR -bxJ -bxJ -cPE -cUb -bCG -bDT -bEZ -bGL -bGL -ddv -bKA -bLQ -bNp -bOl -bPs -bTA -bNp -bNp -bSY -bTA -bSY -bUT -bVv -deE -bDR -cGK -cGM -bXE -cGH -bxJ -cUt -cRn -cRe -aYf -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -ccW -ccW -cda -cda -cda -cda -cda -ccW -ccW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -"} -(114,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -abW -acH -acH -acH -akl -akl -akl -akl -akl -akl -akl -aqf -arJ -asE -atM -auL -avZ -asI -ayj -azF -aBd -aBQ -ayn -aEA -aGb -aHd -aIl -aJl -cKp -aKU -aHc -aMY -aNU -aPb -aQj -aQR -aSd -abE -abE -abE -abE -adm -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aXB -aYa -aYE -aZg -aZh -aYo -aYF -aYD -aYa -aYo -bdm -aYo -aXP -aYE -aXC -aYf -aYJ -aYJ -aYJ -aYJ -bmw -cIz -aZl -aZm -cWL -aYJ -buL -aYJ -aYJ -aYJ -aYJ -bAz -bBG -bCH -bDU -bFa -bGJ -bGJ -bJH -bKB -bQx -ddK -bOm -bPt -bQs -bQs -bQs -bSZ -bQs -bUZ -bUq -bVw -bVW -bLN -bLN -bLN -bLN -bLN -bwz -cUt -bxK -cGH -aYf -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(115,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -abW -acH -acH -acH -akl -alz -amt -anj -amw -aoY -akl -deN -arJ -asF -atN -hOb -awa -asI -ayk -azG -gXD -aBR -ayn -aEB -aGc -aHd -aIm -aJm -aKl -aKV -aHc -cMd -aNV -aPb -aQj -aQR -aSd -abE -abE -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aYm -aYd -aZh -aZg -aXP -aYo -aYa -aYa -aYo -bdn -aYE -beS -cFi -aXC -aYf -aYJ -bao -bao -blg -bmx -cIz -aZl -aZm -brR -aYJ -buN -bwh -baN -byt -aYJ -bAA -bBG -bxJ -bDU -bFb -bGM -bIk -bJI -bGJ -bGJ -bGJ -bOn -ddK -ddK -ddR -ddW -deb -dei -bUo -bUq -bVx -bVV -bWu -bWN -bXv -bXv -bLN -cPt -cUt -cUy -cUy -cUz -cUz -cUy -cUy -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(116,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -acH -acH -acH -abW -akl -alA -amu -ank -aoa -aoZ -apS -deN -arJ -asG -atO -auM -awb -asI -ayl -azH -aBe -aBS -ayn -aEC -aGd -aHd -aIn -aJn -aKk -aKW -cEN -aMZ -aNV -aPb -aQj -aQR -aSd -abE -abE -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aYn -aYF -aYo -aYo -aXP -aXP -aXP -hAB -aYo -bdo -aXC -aXC -aXC -aXC -aYf -aYJ -baN -baN -blh -baN -cIA -boW -aZm -brS -aYJ -buN -baN -baN -byu -bzr -bAB -bBG -bwz -bDU -bFc -ddt -bIl -bJI -bKC -bGJ -bGJ -bGJ -bNq -bGJ -bQt -ddX -bPu -dej -def -bUq -bVy -bVW -bOk -bWO -bXw -bYc -bLN -cPo -cUt -cUz -cUE -cUK -cUP -cUV -cUy -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(117,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -acH -acH -acH -abW -akl -alB -amv -amv -aob -apa -apT -deN -arJ -asH -atP -auM -awc -asI -aym -azI -aBe -aBT -ayn -aDs -aGe -aHd -aIo -aJo -aKk -cKq -aLW -aMZ -aNV -aPb -aQr -aQR -aSd -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aYa -aXP -aYo -aZi -aYo -aYo -aYa -aYE -baI -baI -bdp -bed -beT -bfV -aXC -aXR -aYJ -baN -baN -blh -bbv -cIz -aZl -aZm -cWL -aYJ -buM -baN -baN -byu -bzr -bAC -bBH -cGH -bDU -bFd -ddt -bIm -ddw -bKD -bLR -bNr -bOp -bGJ -PhV -ddS -ddY -bOk -dek -def -bUp -bVz -bVX -bWv -bWP -bXv -bXv -bLN -bXE -cUt -cUy -cUF -cUF -cUQ -cUW -cVb -cVg -cVk -cVk -cVk -cVk -cVt -aaa -aaa -aaa -aaa -aaa -aab -aac -aac -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXk -cXi -coU -cXh -abC -abC -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(118,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -acH -acH -acH -abW -akl -alC -amw -anl -aoc -amw -apT -aqK -arJ -asI -asI -auN -awd -asI -ayn -azJ -ayn -aBU -ayn -aED -aGf -aHe -aIp -aJp -aKm -aKX -aLW -aMZ -aNV -aPb -aQj -aQR -aSd -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aaa -aaa -aaa -aaa -abC -aXB -aYb -aYo -aYo -aYa -aZH -aYd -aYo -aYa -bbL -bbM -bbM -bbL -bbN -bfW -aXC -aXR -aYJ -baN -baN -blh -baM -cIz -aZl -aZm -brT -btn -buO -baN -cOX -baM -aYJ -bAD -bwi -bwi -bDU -bFe -bGN -bIn -bDU -bDR -bDR -ddL -bOq -bGJ -bGJ -bQv -ddY -bOk -dek -der -bUV -dex -bVY -bLN -bLN -bLN -bLN -bLN -cQZ -cUu -cUA -cUG -cUL -cUR -cUX -cVc -cVc -cVc -cVm -cVc -aqU -aqU -aaa -aaa -aaa -aac -aac -aac -aac -aac -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(119,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -acH -acH -acH -akl -akl -alD -amx -alD -aod -apb -apU -apS -akl -asJ -cED -auO -aBi -awe -awe -azK -dsX -aBV -aDs -aEE -aGg -aCf -aIq -aDs -aKn -aKY -cEO -aMZ -aNV -aPb -aQj -aQR -cHY -abE -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aaa -aaa -aab -aab -aab -aaa -aaa -aaa -abC -aXB -aYc -aYo -aYo -aZj -aZI -aZH -aYo -aYo -bbM -bcy -bdq -bbN -bcA -bfX -aXC -aXR -aYJ -bcH -bkz -bli -cOX -cIz -boX -bqm -brU -aYJ -aYJ -bwi -bwi -bwi -bzs -bAE -bBI -bCI -bDV -bFf -bGO -bIo -bJJ -bKE -bLS -bDR -bOr -bGJ -bGJ -ddS -ddY -bOk -dek -def -bUq -bVA -bVV -bWu -bWQ -bXx -bXx -bLN -bXE -cUv -cUy -cUH -cUM -rcy -cUY -cVd -cVh -cVd -cVn -cVc -cVc -cVu -aaa -aaa -aaa -aac -aac -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(120,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -acH -acH -acH -akl -akU -alE -amy -alD -aoe -amw -apV -aqL -arK -api -alD -auP -dsW -dtx -dtW -dtX -duT -aBW -aDs -aEF -aGg -awf -aIr -aDs -aKk -aKZ -aLX -aNa -aNW -aPb -aQj -aQR -cHY -abW -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -abC -aXB -aXN -aXP -aYp -aYG -aYG -aZJ -baf -baJ -bbm -bbM -bcz -cIx -bee -beU -bfY -cIG -cIv -cIv -cIv -cIv -blj -cIv -cIB -boY -bqn -brV -aYJ -aYJ -bwi -bxt -byv -bzt -bAF -byv -byv -bDW -bFg -bGP -bIp -bJJ -bKF -bLT -bDR -bOs -bGJ -bGJ -bQt -bSp -dec -cGF -bQt -bUq -dey -bVW -bOk -bWR -bXy -bYd -bLN -bXE -cUv -cUz -cUI -cUN -cUT -cUZ -cVe -cVi -cVl -cVo -cVr -cVs -cVv -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(121,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -acH -acH -acH -akl -akV -alF -amz -alD -aof -amw -apW -aqM -api -api -alD -auQ -awf -awf -ayq -azL -aBf -aBX -aDt -aEG -aGg -awf -aIs -aDs -arP -arP -arP -arP -arP -aOR -aQj -aQS -cHY -abW -abW -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aXO -aXO -aXO -aYH -aXO -aXO -aXO -aXC -bbn -bbL -bbN -bdr -bef -beV -ber -bhb -bhb -bhb -bjA -bhb -blk -bmy -bhb -boZ -bqo -brW -bhb -buP -bwj -bxu -byw -bzu -bAG -bBJ -bCJ -bDX -bFh -bGQ -bIq -bJK -bKG -bLU -bNs -bOt -ddN -bGJ -bOn -bOo -ded -del -des -bUp -dez -bVX -bWv -bWS -bXx -bXx -bLN -bXE -cUw -cUz -cUJ -cUO -cUU -cVa -cVf -cVj -cVf -cVp -cVc -cVc -cVu -aaa -aaa -aaa -aaa -aaa -aac -aab -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -abC -abC -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(122,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -acH -akl -akl -akl -amA -alD -aog -apc -apX -aqM -Bju -api -alD -auR -awg -awg -awg -ayw -ayp -aBY -cEI -aEH -aGg -awf -ayw -aCf -aDt -aLa -aLY -aNb -arP -aPc -aQj -aQR -cHY -abW -abW -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aXP -aYd -aYo -aYE -aYo -aYo -bag -aXC -bbo -bbN -bcA -bds -beg -cFg -cFj -aZm -aZm -aZm -aZm -aZm -bll -bhT -bhT -bhT -bqp -brX -bto -buQ -bwk -bxv -byx -bzv -byx -byx -bCK -bDY -bFi -bGR -bIr -bDU -bKF -bLT -bDR -bGJ -bPx -bQy -ddU -bPw -dee -bGJ -bGJ -bUq -bVw -bVZ -bLN -bLN -bLN -bLN -bLN -bXE -cUv -cUy -cUy -cUy -cUz -cUy -cVc -cVc -cVc -cVc -cVc -aqU -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXj -cXi -cJH -cXh -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(123,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -acH -acH -abW -akl -amB -alD -aoh -apd -apY -aqM -arL -asK -alD -auS -awh -axb -ayr -azM -ayp -aBZ -aDu -aEI -aGh -aHf -ayw -aCf -aDu -aLb -aLZ -awf -aDu -aPd -aQp -aQR -cHY -acH -acH -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXB -aXQ -aYe -aYq -aYI -aXO -cFb -cFc -aXC -bbp -bbO -bcB -bdt -beh -beW -bfZ -bhc -bhc -bhc -bhc -bhc -blm -bmz -bnP -bhc -bqq -brY -aZn -buR -bwl -bxw -byy -bzw -bAH -bBK -bCL -bDZ -bFj -bGS -bIs -bDU -bKH -bLV -bDR -bOu -bPy -bQz -bRs -ddZ -def -bTB -bGJ -bUq -deA -bVV -bWu -bWT -bXz -bXz -bLN -cRg -cUv -cPG -bwz -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(124,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -acH -acH -abW -akl -akl -akl -aoi -ape -apZ -aqN -arM -asL -atQ -auT -awi -awi -ays -azN -aBg -aCa -cLm -aEJ -aGi -aCa -aIt -aJq -dxR -aLc -aMa -aJq -dxR -aPe -aQj -aQR -cHY -acH -acH -abW -abE -adm -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aXC -cEZ -aXC -aXC -aXC -cFa -aXC -aXC -aXC -aXC -aXC -aXC -cIy -aZl -aZm -bga -bhd -bhd -bhd -bhd -cFk -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bzx -bAI -bBL -bCM -bhd -bFk -bGT -bnS -bDV -bKI -cQl -cQl -cQl -cQl -bQA -bRt -bTa -bSq -bJI -bGJ -bUq -deB -bVW -bOk -bWU -bXA -bYe -bLN -cRk -cUx -cRo -cGH -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(125,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -acH -acH -akl -aoj -apf -aqa -aqO -aqO -apf -atR -auU -awj -axc -ayt -azO -aBh -aCb -aDw -hKt -aGj -aHg -aIu -aJr -aKo -aLd -aMb -aNc -aKo -aPf -aQs -aQZ -cHZ -acH -acH -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXR -aXR -aXR -aXR -aXR -aZK -bah -baK -bbq -bbP -aZK -cIz -bei -aZm -bgb -bhd -bhP -biH -biH -biH -biH -biH -biH -biH -biH -bnQ -btp -buS -bwm -bhd -abC -abC -abC -abC -bCN -cPR -cPT -bGU -bIt -bJL -bLW -cQm -bNt -blq -bPz -bQB -bRu -bSr -bTb -bTC -det -bUr -deC -bVX -bWv -bWV -bXz -bXz -bLN -bxJ -cPM -cUB -bzq -aYf -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(126,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -acH -acH -anm -aok -apg -aqb -aqP -arN -asM -atS -auV -awk -awk -ayu -azP -aBi -awe -cLn -aEL -aGk -aHh -ayx -aJs -dxS -aLe -aMc -aJs -dxS -aPg -aQj -aQR -cHY -acH -acH -abW -abW -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aXR -aXR -aXR -aZK -aZK -baL -bbr -bbQ -aZK -cIA -aZl -aZm -bgc -bhd -bhQ -biI -bjB -biI -bjB -abC -bhd -bhd -bhd -cFk -btq -buT -bkA -bhd -bhd -bhd -bhd -bhd -bCN -bEb -cPU -bGV -cPZ -cPZ -cQe -bLX -bNu -cQB -bPA -bQB -bRv -bSs -bTc -dem -bTD -bTc -deD -bWa -bLN -bLN -bLN -bLN -bLN -bXE -cQT -cUC -bwz -aYf -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXk -cXi -cXo -cXh -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(127,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -akl -aol -aph -aqc -aqQ -arO -api -alD -auW -awl -axd -ayr -azM -ayp -aCc -aDu -aEM -aGl -aHi -awf -aCf -aDu -aLf -aHi -awf -aDu -aPh -aQj -aQR -cHY -aKp -aKp -aKp -aKp -aKp -aKp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aXR -aXR -aYJ -aYJ -aYJ -aYJ -bbR -aYJ -cIz -aZl -beX -bgc -bhd -bhQ -biJ -biK -bjD -biK -biH -bnQ -bpa -bqr -brZ -btr -buU -bwn -bwn -bwn -bwn -bAJ -bBM -bCO -bEc -bFn -bGW -bIv -bJM -bMa -bLY -BMP -cQC -bPB -ddP -bRw -bQr -bTd -den -bTE -bUs -bVB -bWb -bWu -bWW -bXB -bXB -bLN -cRl -bxJ -cUv -bzq -aYf -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cme -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(128,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -acm -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abE -abE -abE -abW -adm -abW -abW -abW -akl -aom -cEu -aqd -aqd -aqd -api -alD -auX -awm -awm -awm -ayw -ayp -aBY -cEI -aEN -ayw -awf -awf -aCf -aDs -aLg -aMd -awg -arP -aPi -aQj -aQR -cHY -aSR -aTG -aUd -aUD -aVc -aKp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXD -aXD -aXR -aYJ -bai -baM -baN -bbS -baN -cIz -aZl -aZm -bgc -bhd -bhQ -biJ -bhd -bhd -bhd -bhd -bhd -bpb -bqs -bsa -bts -buV -buV -bxx -byz -byz -bAK -bBN -bCP -bEd -bFo -bGX -bIw -bJN -bKJ -bLZ -cQu -cQD -cQK -cWa -bRx -bSt -bGJ -deo -bTF -bUt -bUW -bWc -bOk -bWX -bXB -bYf -bLN -bxJ -bwz -cUv -bwz -aYf -aYf -aYf -aXR -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cEl -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(129,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abE -abE -abC -aaa -aaa -abE -akl -akl -akl -akl -akl -akl -akl -anm -auY -awf -awf -ayv -ayw -aBf -aCd -aDt -aEO -ayw -awf -aIv -arP -arP -arP -arP -arP -arP -aPj -aQj -aQW -aSe -aSS -aTH -aTH -aUE -aVd -aKp -aKp -aKp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aYJ -aYJ -aYJ -baj -baN -baN -baQ -baN -cIz -bej -aZm -bgc -bhd -bhQ -biJ -bhd -bkA -bln -bmA -bnR -bpc -bqt -cKr -btt -btt -btt -cKr -byA -bzy -bAL -bBO -bCQ -bCN -bFp -cGz -bIx -bJO -bMa -cQn -bNv -cQE -cQL -cWb -bRy -bQw -bPv -bTG -bPv -bPv -bUX -bWd -bWv -bWY -bXB -bXB -bLN -bxJ -cGH -cUv -bwz -aYf -aYf -aYf -aaa -cFp -cFp -cFp -cFp -cFp -cYy -cYE -cYT -cZa -cZa -cYT -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cJH -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(130,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aon -aon -aon -aqR -arP -asN -arP -auZ -dsX -dtx -dtX -dtX -duT -aCe -aDs -aEP -ayw -awf -aIw -arP -abW -abW -abW -abW -aKp -aPk -aQj -aQR -cHY -aST -aTI -aTI -aUF -aVe -aVp -aVz -aVR -aTf -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aNn -aYK -aZk -aYK -bak -bak -bbs -bbU -baN -cIz -bek -aZm -bgc -bhd -bhQ -biJ -bhd -bkA -blo -bhd -bBV -bpd -bqu -cKr -btu -btu -bwo -cKr -byA -bzz -bAM -bBP -bCR -bCN -bFq -bGW -bIx -cQa -bKK -bMb -cQv -cQF -bPC -cWc -bRz -bSu -bTe -bTH -deu -bGJ -bUY -bWe -bLN -bLN -bLN -bLN -bLN -bxJ -bxJ -cUv -bzq -aYf -aYf -aYf -aaa -cFp -cFp -cYy -cYE -cYw -cYw -cYw -cYT -cYC -cYC -cYT -cYw -cYw -cYw -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXj -cXi -coV -cXh -abC -abC -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(131,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -ann -aoo -apj -aqe -aqS -arQ -asO -arQ -ava -aBi -dtz -ayx -azQ -dsW -dvv -aDs -aEQ -dtX -dvv -arP -arP -abW -abW -abW -abW -aKp -aPl -aQj -aQR -cHY -aKp -aKp -aKp -aKp -aKp -aKp -aKp -aKp -aWi -aWx -aWx -cWi -aWx -aWx -aWx -cWi -aWx -aWx -cWi -aWx -aWx -aWx -cWi -aWx -aWx -aYr -aYJ -aYJ -cIs -cIv -cIv -cIv -bbV -cIv -cIB -aZl -aZm -bgc -bhd -bhQ -biJ -bhd -bkB -blp -bmB -bhd -bpe -bqv -cKr -btv -buW -buW -bqC -cKr -cKr -bAN -bBP -bCS -cFw -bFr -bGW -bJP -bKL -cQf -bMc -cQw -cQG -bPD -bQC -bRA -bSv -bTf -bTI -bUu -dew -bVC -bWf -bDR -bxJ -bxJ -bwz -bxJ -bwz -bXE -cUv -bzq -aYf -aYf -aYf -aaa -cFp -cYw -cYw -cYw -cYw -cYw -cYw -cYU -cZb -cZb -cZz -cZK -cYw -cYw -cYw -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cYh -cXp -cpC -aaa -aaa -aWr -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(132,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -nuB -oNh -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aon -aon -aon -aqR -arR -arR -arR -avb -awn -axe -ayy -azR -ayy -aCg -ayy -aER -aGm -aHj -aEW -abW -abW -abW -abW -abW -aKp -aPl -aQj -aRj -cIe -aSU -aRz -aUe -aUG -aRz -aRz -aRz -aRw -cWe -cWe -cWe -cXT -cWe -cWe -cWe -cXU -cWe -cWe -cXU -cWe -cWe -cWe -cXT -cWe -cWe -cWe -aYL -aZl -cIt -bal -aZl -aZl -bbW -bcC -bdv -bel -RQH -bgc -bhd -bhQ -biJ -bhd -bkC -bkA -bkA -bnS -bpf -bqw -cKr -btw -btw -btw -bxy -byB -bzA -bAO -bBP -bCT -bEe -bFl -bGW -bIx -bKM -bMd -cQm -cQm -cQm -cQm -bQD -bRB -bSw -deg -dep -bTg -bDR -bDR -bDR -bDR -bwz -bxJ -cRh -bwz -bMt -bww -cUv -cRd -aYf -aXR -aaa -aaa -cFp -cYw -cYz -cYF -cYJ -cYw -cYN -cYV -cYH -cYC -cYV -cYw -cYw -cYw -dae -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(133,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -ejj -oNh -oNh -oNh -oNh -oNh -deP -aaa -amC -abE -abW -aaa -abE -abW -arR -asP -atT -avc -awo -axe -ayz -azS -aBj -aCh -ayy -aES -aGn -aHk -aEW -abW -deF -deF -deF -deF -aKp -aPm -aQk -aRk -cIf -aSV -aQm -aQm -aQm -aQm -aQm -aQm -cIj -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIk -cIn -cIo -cIu -aZm -aZm -aZm -bbX -bcD -bdw -bem -beY -bgd -cFk -bhQ -biJ -bhd -bkD -bkA -bmC -bnS -bpg -dze -bsb -btx -buX -btx -bxz -ILy -bzB -bAP -bBQ -SHC -bEf -bFm -bGY -bIy -bJQ -cQg -bMe -bNw -bOv -bPE -bQE -bRC -bSx -bTh -cUk -cUk -cUk -cUk -cUk -cUm -cUk -cUk -cUq -cRi -bww -bww -cYt -cGH -aYf -aaa -aaa -cFp -cFp -cYw -cYA -cYB -cYB -cYw -cYO -cYV -cYH -cZb -cZA -cYw -cZT -dac -cZW -cYw -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cme -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(134,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -ndV -hXC -kSZ -GBu -CJx -Rhg -deJ -deP -adm -abW -abW -acH -acH -acH -arR -asQ -atU -avc -awp -axe -ayA -azT -aBj -aCi -ayy -aET -aGo -aHl -aEW -abW -deF -aLh -aMe -dgB -aNX -aPn -aQj -aRl -aRt -aSW -aRt -aRt -aUH -aRt -aRt -aRt -aRv -cWe -cWe -cWe -cWe -cWe -cWe -cWe -cWn -cWe -cWe -cXW -cXX -cXX -cXX -cXX -cXX -cXX -cXX -cXZ -cIp -cYa -cYa -baO -cYa -cYb -bcE -aZn -ben -beZ -bge -bhd -bhQ -biJ -bhd -bkC -bkA -bkA -bnS -bph -bqx -cKr -bty -bty -bty -bxA -byD -dzf -bAQ -bBR -bCV -bEg -bFs -bGW -bIx -bIx -cQh -cQo -bNx -bOw -bPF -bQF -bRD -bND -bND -bND -bND -bND -bwz -bxK -cRd -bXE -bww -cUr -cUs -cUs -cUs -cUD -bwz -bwz -cYv -cYv -cYv -bwz -cYw -cYB -cYG -cYG -cYL -cYP -cYW -cYH -cZb -cZB -cZL -cZU -cZV -cZU -dam -cYM -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cXh -cXk -cXi -cXp -cXh -abC -abC -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(135,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -eec -ppM -ZZE -nhB -Llr -ERf -cKE -deF -deJ -deP -deV -deV -deV -deV -arR -asR -OUe -avc -awq -axe -ayB -azU -uER -aCj -ayy -aEU -SMF -aHm -aEW -deP -deF -aLi -aMf -aNd -aNY -aPo -aQj -aQR -aKp -aKp -aKp -aKp -aOb -aKp -aKp -aKp -aKp -aWj -aWy -aWy -cWj -aWy -aWy -aWy -cWj -aWy -aWy -cWj -aWy -aWy -aWy -cWj -aWy -aWy -aYs -aYJ -cIq -cIv -cIv -cIv -cIv -cIv -cIv -cIC -beo -bfa -bgf -bhd -bhQ -biJ -bhd -bkE -cKs -bmD -bhd -cKt -bqv -cKr -btz -buY -buY -bxB -cKr -cKr -bAR -bBP -bCS -bCN -bFt -bGZ -bIz -cGC -bIx -bMa -bNy -bOx -bPG -Esb -bRE -bND -bTi -bTJ -bUv -bND -bxJ -bxJ -bwz -cGH -bwz -bAz -bwx -bwx -bwv -cYu -bZN -cPy -bXE -bXE -bXE -bZN -cYx -cYC -cYH -cYH -cYM -cYC -cYC -cYH -cZb -cZb -cYM -cZV -cZU -daf -dan -cYM -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(136,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -eec -Nci -Pnn -Pnn -ULk -qbN -rRb -zjN -okW -aAR -deF -deJ -dfg -aqT -arR -asS -atW -avd -awr -axe -ayC -azV -aBk -aCk -ayy -aEV -aGq -aHn -aEW -deP -deF -aNy -aMg -dgC -aKp -aPp -aQj -aQR -aKp -aSX -aTJ -aUf -aUI -aVf -aVq -aVA -aVS -aWk -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aYt -aYO -aZo -aZL -bam -baN -bbt -baM -baM -cIz -beo -bfa -bgf -bhd -bhQ -biJ -bhd -bkA -blr -bhd -cFk -bpd -bqu -cKr -btA -buZ -btA -cKr -byE -bzC -bAQ -bBP -bCR -bCN -bFu -bGW -bIx -bIx -bIx -bMf -bNz -bOy -bPG -bQG -bRF -bSy -bTj -bTJ -bUw -bND -bxJ -bxJ -bxJ -bxJ -bxJ -bwx -bww -bww -bww -bVa -cGH -cGH -cYv -cYv -cYv -bwz -cYw -cYB -cYB -cYB -cYL -cYQ -cYP -cZb -cZb -cZb -cZL -cZW -cZW -cZV -dao -cYM -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(137,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -zfh -OgL -OgL -szL -wvJ -Rhg -deJ -aiA -deR -Gae -ffH -alG -deR -deR -arR -arR -arR -arR -arR -arR -ayD -ayD -ayD -ayD -ayD -aEW -aEW -aEW -aEW -deP -deF -THy -aMg -dgD -aKp -aPq -aQt -aRm -aSf -aSY -aTu -aTu -aTu -aVg -aKp -aKp -aKp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYJ -aYJ -aYJ -ban -baP -bbu -bbu -bcF -bdx -bep -bfb -bgf -bhd -bhQ -biJ -bhd -bkA -cKs -cKs -bnT -dzc -bqz -cKr -btB -btB -btB -cKr -byE -bzC -bAQ -bBS -bCW -bCN -bFv -bHa -bIA -bJR -bIA -bMg -bNA -bOz -bPH -bQH -bRF -bSy -bTj -bTJ -bUx -bND -bxJ -bxJ -bxJ -bwz -bXC -bwx -bww -bwz -bxJ -bxJ -bxJ -aXR -aaa -aaa -cFp -cFp -cYw -cYA -cYB -cYB -cYw -cYR -cYX -cYH -cYH -cZC -cYw -cZX -dac -cZV -cYw -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(138,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -oNh -Sxw -Sxw -Rhg -dPQ -Rhg -Rhg -deP -deP -deF -deU -QeW -dfy -dfy -aAR -dfn -jnf -atX -dfy -dfA -dfD -dfD -azW -aBl -dfD -cLo -dfD -aGr -aAR -deP -deP -deF -aLj -aMh -aNe -aNX -aPr -aQj -aRn -aKp -aMk -aMk -aMk -aMk -aMk -aKp -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -aaa -aaa -aXD -aXR -aYJ -bao -baQ -baN -baN -bcG -cIz -beo -bfc -bgf -bhd -bhQ -biJ -bhd -bhd -bhd -bhd -bhd -dzd -bqA -bsc -btC -bva -bwp -bxC -byF -byF -bAS -bBT -bCX -bCY -bFo -bHb -bIx -bJS -bIx -bMh -bNz -bOA -bPI -bQI -bRG -bND -bTk -bTJ -bUx -bND -bxJ -bxJ -bxJ -bwz -bwx -bww -cRj -cGH -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -cYw -cYD -cYI -cYK -cYw -cYS -cYY -cYH -cYH -cYQ -cYw -cYw -cYw -dag -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cXh -cXj -cXi -cXq -cXh -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(139,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -abC -abC -abC -Sxw -KkQ -OgL -oNh -abC -adm -deP -deF -aTy -cKP -aqg -QeW -dfy -tCI -dfu -deZ -deZ -deZ -deR -deZ -SaA -deZ -deZ -deZ -deZ -dga -cLI -deJ -deJ -aLk -aMi -aNf -aKp -aPs -aQj -aRo -aKp -aSZ -aSZ -aMk -aUJ -aLn -aKp -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -aXD -aXR -aYJ -bao -baR -bbv -baN -bcH -cIz -beo -bfc -bgf -bhd -bhQ -biJ -biI -bjB -biI -bjB -bhd -bpf -bqB -bsd -btD -bsd -bwq -bxD -bsd -bsd -bAT -bBU -bCY -bEh -bFw -bHc -bIB -bJT -bKN -bMi -bNB -bOB -bPJ -bQJ -bRH -bSz -bTl -bTK -bUz -bND -bxJ -bxJ -bxJ -bwx -bww -bww -bxJ -bxJ -aYf -aYf -aXR -aXR -aaa -aaa -aaa -aaa -cYw -cYw -cYw -cYw -cYw -cYw -cYZ -cYH -cZb -cYP -cZM -cYw -cYw -cYw -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(140,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abC -Sxw -TaL -KcZ -oNh -aaa -abW -abW -deV -deV -deJ -deV -deF -dfg -cKV -dfv -deU -deU -dfu -deF -dfJ -dfv -aqg -deZ -deU -deU -dga -deZ -aJt -deJ -deJ -deF -deF -aKp -aPl -aQj -aRp -aKp -aKp -aKp -aKp -aKp -aKp -aKp -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXR -aXR -aYJ -aYJ -aYJ -aYJ -aYJ -aYJ -cIA -beo -bfc -bgf -bhd -bhQ -biK -bjD -biK -bjD -biJ -bhd -bpi -dir -bBV -btE -bvb -bwr -bxE -byG -byG -byG -byG -byG -bEi -bFx -bHd -bIu -bIu -bIu -bMj -bNx -bOC -bPK -bPI -bRI -bND -bTm -bTm -bTm -bND -bxJ -bxJ -bwz -bWZ -bww -bwz -bxJ -aXR -aYf -aYf -aXR -aXR -aaa -aaa -cFp -cFp -cFp -cYy -cYE -cYw -cYw -cYw -cYT -cZb -cYC -cYT -cYw -cYw -cYw -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(141,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abC -oNh -oNh -ejj -oNh -aaa -abW -abW -abW -acH -acH -deV -deF -deJ -deF -deP -deP -dfB -dfE -deP -deJ -deV -deV -cLp -deU -dfJ -aHo -dfD -cLQ -cLo -cLZ -cLo -cMf -aNZ -aPt -aQj -aRo -aKp -acH -acH -acH -acH -abW -abW -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYf -aYf -aYf -aXR -aYf -aYf -aYf -aYf -cIz -beq -bfc -bgg -bhd -bhR -biH -biH -biH -biH -bjD -abC -abC -bqD -bhd -btF -bvc -bws -cKr -abC -abC -abC -abC -bhd -bEa -bFy -bHe -bIC -bJU -dkv -bMk -bNC -bOD -bPK -bPI -bRJ -bND -bTm -bTm -bUA -bND -bxJ -bxJ -cGH -cPE -bww -bwz -bzq -aYf -aYf -aYf -aXR -aXR -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cYy -cYE -cYT -cZc -cZc -cYT -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(142,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aaa -aaa -aaa -aaa -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -oNh -GRh -oNh -abC -adm -abW -abW -abW -abW -acH -acH -acH -acH -acH -deV -deV -deV -acH -acH -acH -deV -aDy -deJ -deF -deV -deF -dfg -deR -dfn -dgx -dgE -akn -aOK -aQj -aRo -aKp -acH -acH -acH -acH -acH -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -cIz -beo -bfc -bgf -bhd -bhd -bhd -bhd -cFk -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bhd -bBV -bhd -bhd -bFz -bHf -bnS -bhd -bhd -bhd -bND -bOE -bPK -bQK -bND -bND -bTn -bTL -bUA -bND -bwz -bxJ -bwx -bww -bww -cGH -aYf -aYf -aYf -aYf -aXR -aXR -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -abC -abC -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(143,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aac -aaa -aaa -aaa -aaa -aac -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -abW -abW -abW -abW -abW -abW -acH -acH -acH -acH -acH -acH -acH -deV -deJ -deJ -deR -deV -acH -acH -deV -deV -deJ -deF -aKp -aKp -aKp -aOP -aQp -aRq -aKp -acH -acH -acH -acH -acH -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -cIz -beo -bfd -bgh -bdv -bhS -bdv -bdv -bdv -bls -bmE -bnU -bmE -bqE -bse -btG -bvd -bwt -bxF -byH -bzD -bAU -bBW -bCZ -bEj -bFA -bHg -bID -bHk -bHk -bHk -bHk -bOF -bPL -bPI -bRK -bND -bND -bND -bND -bND -bQp -bwx -bwx -bww -bBE -bzq -aYf -aYf -aYf -aYf -aXR -aXR -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXk -cXi -cXp -cXh -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(144,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aad -aab -aab -aac -aac -aac -aac -aad -aab -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -abW -deP -deR -deR -deR -deV -acH -acH -acH -acH -acH -abW -aKp -aNh -aOa -aPu -aQu -aRr -aKp -acH -acH -acH -acH -acH -abW -adm -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aYg -aXR -aXR -aYf -aYf -aYf -baS -baS -baS -baS -cID -beo -bfe -bgi -bhe -bhT -bhT -bhT -bhT -blt -bhT -bhT -bpj -bqp -bsf -btH -bve -bwu -bxG -byI -byI -bAV -bBX -bBX -byI -bAV -bHh -bIE -bHk -bKO -bMl -bHk -bOG -bPM -bPI -bRL -bND -bxJ -bxJ -bxJ -bwz -bAA -bwx -bww -cQY -bwz -bzq -aYf -aYf -aXR -aXR -aXR -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(145,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aad -aac -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -deJ -deJ -deJ -deJ -dfn -deF -deP -abW -abW -abW -abW -aKp -aKp -aKp -aNi -aKp -aPv -aQj -aQR -aKp -acH -acH -acH -acH -abW -abW -abW -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXR -aXR -aXR -aYf -aYf -aYf -baS -bbw -bbY -bcI -cID -ber -bff -bgj -bhf -bhU -bhU -bjE -bhU -blu -bmF -bhU -bpk -bqn -bsg -btI -bvf -bwl -bxH -byw -bzE -bAW -bBY -pAv -bEk -bFB -bHi -bIF -bJV -bKP -bMm -bHk -bOH -bPN -bQL -bRM -bND -bxJ -bxJ -bxJ -cGH -bwx -bww -cRe -bwz -cGH -cGH -bwz -aYf -aYf -aYf -aXR -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(146,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -deJ -ayE -deR -cKH -deR -deJ -deP -abW -abW -abW -abW -aKp -aLl -aLm -aNi -aKp -aPw -aQq -aRc -aKp -aKp -aKp -aKp -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXR -aXR -aYf -aYf -aYf -baS -bbx -bbZ -bbZ -cIE -cIF -bfg -bgk -dzh -cIF -cIH -cIv -cIv -blv -cIv -cIv -bpl -cIo -bsh -cIv -cIv -cJd -bxI -byJ -bzF -bAX -bBZ -bDb -bEl -bFC -bHj -bIG -bJW -eYG -bMn -bHk -bND -bND -bQM -bND -bND -cGH -bwz -bwz -cGH -bwx -bww -bwz -cGH -bXD -bYg -cGH -aYf -aYf -aYf -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -abC -abC -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(147,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -deJ -ayF -deR -cEH -deF -deF -abW -abW -abW -abW -abW -aKp -aLm -aMj -aNi -aOb -aPx -aQj -aRs -aSg -aTa -aMk -aKp -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXR -aXR -aYf -aYf -aYf -baS -bby -bbZ -bbZ -bdy -bes -bfh -bgl -bhg -bhV -biL -bjF -bkF -blw -baM -aYJ -bpm -bqF -bsi -aYJ -bvg -cJe -cJf -cJg -bzG -bAY -bCa -bDc -bEm -byK -bHk -bHk -bHk -bKR -bMo -bHk -bHk -bND -cFD -cFE -bXE -cGL -cGH -cGH -bwx -bww -bww -bWw -bXa -bXb -bXE -bwz -aYf -aYf -aYf -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxI -czn -cxI -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(148,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abW -abW -adm -abW -deF -ayG -azX -deF -deF -abW -abW -abW -abW -abW -abW -aKp -aLn -aMk -aNi -aKp -aPy -aQj -aRt -aKp -aTb -aTL -aKp -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aYf -aYf -aYf -baS -bby -bca -bcJ -bdz -bet -bfi -bgm -bhh -bhW -biL -baN -baN -blx -baM -aYJ -aZn -cIN -bsj -btJ -bvh -cPo -bxJ -cJh -bzH -bAZ -bCb -bDd -bEn -byK -bHk -bIH -bJX -bKS -bMp -bHk -bHk -bND -bQN -bND -bxJ -bXE -bXE -bww -bww -bwv -bwz -cGH -cGH -bXE -bYh -cGH -aYf -aYf -aYf -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXh -cXj -cXi -cXr -cXh -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -cxI -cyA -cyB -cyA -cxI -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(149,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -deF -deH -deH -deF -abW -abW -abW -abW -abW -abW -abW -aKp -aLn -aMk -aNi -aKp -aPz -aQj -aRt -aKp -aTb -aMk -aKp -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aYf -aYf -aYf -baS -bbz -bcb -CZk -bcK -beu -bfj -bgn -bhi -bhX -biL -bbv -baN -bly -bmG -aYJ -aZn -cIN -cWM -btK -bvi -bXE -bxK -cJh -bzI -bBa -WAy -bDe -bEo -byK -bHk -bII -bII -bII -bMq -bHk -bHk -cFB -cFB -cFB -bxJ -cGH -bww -bww -bww -bww -cGH -bWx -bXb -bXE -bXE -cGH -aXR -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyB -cyB -czV -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(150,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -aKp -aLo -aMl -aNi -aKp -aPx -aQj -aRt -aKp -aTb -aMl -aKp -abE -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aYf -aYf -aYf -baS -bby -bbZ -bbZ -bdA -bev -bfk -bgo -bhj -bhY -biL -baN -baN -blz -bmH -bdu -aZn -cIN -bsk -aYJ -bvj -bXE -bXE -cJh -bzJ -bBb -bCd -bDf -bEp -byK -bHk -bII -bII -bKT -bMr -bHk -bHk -bxJ -bxJ -bxJ -bxJ -bxJ -bSl -bwx -bww -cRa -cGH -bWy -bXc -bXb -bXb -cGH -aXR -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aag -aaa -djk -cdn -cdn -cdC -djp -djp -ceJ -cfh -cfh -cdn -cdn -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyC -cyB -czW -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(151,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -aKp -aKp -aKp -aNj -aKp -aPA -aQj -aQO -aKp -aTc -aKp -aKp -abE -abE -abE -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aYf -aYf -aYf -baS -bby -bbZ -bbZ -bdB -bes -bfl -bgp -bhk -bhZ -biL -bao -bao -blA -bmI -aYJ -aZn -cIN -bsl -aYJ -bvk -bwy -bXE -cJi -cJg -cJj -byK -byK -byK -byK -bHk -bII -bII -bII -bMs -bHk -bHk -bxJ -bxJ -bxJ -bxJ -bwz -bUB -bwx -bww -bxJ -cGH -bwz -bwz -bXF -bYi -cGH -aXR -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -djl -djp -djl -djq -djs -ceg -djq -djq -cfG -djt -djl -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxK -cyD -cyB -czX -cxK -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(152,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -aaa -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -aKp -aNk -aKp -aPx -aQj -aRu -aKp -aTd -aKp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXR -aXR -aYf -aYf -baS -baS -baS -baS -baS -baS -baS -baS -baS -baS -biL -aYJ -aYJ -aYJ -bmJ -aYJ -aZn -cIN -cWM -aYJ -bvl -bwz -bXE -bXE -cJi -cJk -byK -bzq -bzq -bzq -bHk -bHk -bHk -bHk -bHk -bHk -bHk -bxJ -bxJ -bxJ -bxJ -bwz -bwx -bww -bVa -bwz -aYf -aYf -cGH -bwz -cGH -cGH -aXR -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cdj -cdj -cdj -djp -djt -djp -cdn -cdj -cdj -cdj -cdn -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cme -cXi -cXi -cXp -cpC -aaa -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyD -cyB -czX -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(153,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -adX -adX -adX -adX -adX -adX -aaa -aaa -ahF -ajz -ahF -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -abW -abW -abW -abW -abW -abW -abW -abW -aKp -aNl -aKp -aPB -aQv -aRv -aKp -aTc -aKp -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aYg -aXR -aXR -aXR -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aYJ -bmK -aYJ -bpn -cIN -cWM -aYJ -bvm -cGH -cPt -bXE -bzq -bzq -cGH -cGH -cGH -bWZ -bHk -bHk -bHk -bHk -bHk -bHk -bHk -bxJ -bxJ -bxJ -bwz -bwx -bwv -bww -bwz -bzq -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -dju -ceh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cmf -cnm -cnV -coW -cmf -aWr -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyD -cyB -czX -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(154,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -add -add -add -add -add -aaf -aaf -aaf -add -add -add -add -ajA -ahF -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -abW -adm -abW -abW -abW -abW -abW -abW -aaa -aNm -aOc -aqV -aqV -aqV -aSh -aql -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXR -aXR -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aXR -aXR -aXD -aYJ -bmL -aYJ -aYN -cIO -bsm -aYJ -bvl -bwz -bxJ -cPy -bXE -bXE -cPM -cPo -bww -bAy -bwx -bwx -bwx -bKU -bwz -bxJ -bxJ -bwz -bxJ -bxJ -cGH -bwx -bww -bwz -bzq -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -dju -abC -aaa -aaa -aaa -aaa -cbU -cbU -cbU -aaa -aaa -aaa -ciJ -clw -ciJ -cnn -cnW -coX -cpD -cbV -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyD -cyB -czX -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(155,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aaf -aaf -add -adn -adn -adn -add -add -add -add -add -adn -adn -adn -ajA -aae -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -abW -abW -abW -abW -abW -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aXR -aXR -aXD -aXD -aaa -bmM -bnV -aPC -cIP -cWN -btL -bvn -aXR -bxJ -bwz -bXE -cPF -btK -bAB -bww -bww -bww -bww -bwv -bwx -cQp -bwz -bxJ -cQM -bQO -bwz -bwx -bwx -bww -cGH -aYf -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdt -cdM -cdt -cbU -cbU -cbU -cbU -cbU -cbU -cbV -cbV -cbU -cbU -ciJ -clx -ciJ -cnn -cnX -coY -cmf -cbV -cbV -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxL -cyD -cyB -czX -cxL -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(156,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aae -aae -aae -aae -aae -add -adn -adD -adY -aew -adn -afl -adn -agH -ahv -ahY -adn -ajB -aae -aae -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYf -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aYf -aYf -aYf -aXR -aXR -aXD -aXD -aaa -aqU -bnW -aPC -cIP -cWN -btM -aqU -aXR -aXR -bxJ -bwz -cPG -bwz -bwx -byL -bAz -bwx -bwx -bww -bww -bwx -cPE -bwx -bwx -bwx -bAy -bwx -bww -cQY -cGH -aYf -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdt -cdN -cdt -cbU -cbU -cbU -cbV -cbV -cbV -cbV -ciJ -cjr -cjr -ciJ -cly -ciJ -cno -cnX -coY -cmf -cbV -cbV -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyE -cyB -czY -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(157,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aaa -aaa -aae -aae -aae -aae -aae -aae -aae -aae -add -adn -adE -adZ -aex -aeP -afm -aeP -agI -ahw -ahZ -adn -ajA -aae -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aab -aab -aab -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXR -aXR -aXR -aXD -aXD -aXD -aXD -aYf -aYf -aYf -aYf -aXD -aXD -aYg -aaa -aqU -bnW -aPC -cIP -cWN -btM -aqU -aXR -aXR -aXR -bzq -bzq -bwz -cGH -bwz -bzq -cGH -cGH -bwz -bww -bww -bww -bwv -bww -bww -bww -bww -bww -cGH -bwz -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cdt -cdt -cdO -cdt -cdt -cbU -cbV -cbV -ccs -ccs -ccs -ciJ -cjs -cki -ckQ -clz -cmg -cnp -cnY -coZ -cmf -cbV -cbV -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cyD -cyB -czX -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(158,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -add -ado -adn -adn -adn -adn -afn -afJ -adn -adn -adn -aiM -ajA -aaf -aaf -aaf -aae -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXC -cXH -aqV -cXP -cXF -aqU -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aac -aac -aad -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXD -aXD -aXD -aXD -aXD -aXR -aXR -aXR -aXR -aYf -aYf -aXD -aaa -abC -aaa -aqU -cWB -cWE -cIP -cWO -cWT -aqU -aXR -aXR -aXR -aXR -aXR -aYf -aYf -aYf -aXR -aXR -aXR -bwz -bwz -bzq -bzq -cGH -bzq -bzq -bwz -cGH -cGH -bwz -aYf -aYf -aXR -aXR -aXR -aXR -aXD -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbU -cdu -cdD -cdP -cei -cdv -cfK -cfJ -cdi -ccE -ccE -ccE -ciJ -cjt -ckj -ieV -clA -cmh -cnq -cnX -cpa -cmf -cbV -cbV -cbV -aaa -aaa -aaa -aaa -aaa -aaa -cxJ -cxK -czo -cxK -cxJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(159,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aae -aae -aae -aae -aae -aaf -aae -aae -aae -aae -aae -aae -add -adp -adF -aea -aey -aeQ -mKW -aeP -aeP -ahx -aia -aiN -ajA -aaf -aaf -aaf -aae -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aad -aad -aab -aac -aac -aac -aac -aac -aac -aaa -aaa -aad -aad -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aYg -aXD -aXD -aXR -aXR -aXR -aXR -aYg -aXR -aXR -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -cWN -btM -aqU -aaa -aXR -aXR -aXR -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cdv -cdE -FRD -cej -ceK -cfi -cfH -cgY -cfK -cfJ -cdi -ciK -cju -ckk -ckS -clB -cmi -cnr -cnX -coY -cmf -cbV -cbV -cbV -cbV -cmf -cun -cmf -aaa -aaa -aaa -cmf -cun -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(160,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aae -aae -aae -aae -aae -aae -aae -aae -aaf -aaf -aaf -aaf -aaf -aaf -aaf -add -add -adG -aeb -aez -adI -afp -adI -adn -ahy -aib -add -ajA -aae -aaf -aae -aae -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aab -aab -aab -aad -aac -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -cWN -btM -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aXR -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aYf -aYf -aYf -aYf -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbU -cbU -cbU -cdu -cdF -cdR -cek -cdu -cRs -cRu -cRv -cRC -cCQ -cfK -ciJ -ciJ -ciJ -ciJ -ciJ -ciJ -cns -cnZ -cpb -cmf -cbV -cbV -cbV -cbV -csG -cuo -csG -aaa -aaa -aaa -csG -cuo -csG -aaa -aaa -cmf -cmf -cmf -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(161,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aaf -aaf -aaf -add -adH -aec -aeA -adI -afq -adI -adn -adn -adn -add -ajC -aae -aae -aae -aae -aaf -aaf -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aab -aab -aab -aab -aab -aac -aac -aac -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -cWN -btM -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -aaa -aXR -aYf -aYf -aYf -aYf -aXR -aaa -aYg -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbU -cbU -cbU -cdu -cdu -cdv -cdv -cdv -cfJ -ccE -cRw -cRs -cRu -cic -ciL -cik -ckl -ccU -clC -cks -cnt -cnX -coY -cKo -cmf -cmf -cmf -cmf -cmf -cup -cmf -cmf -cmf -cmf -cmf -cup -cmf -cmf -cmf -cpD -cAX -cBp -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(162,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aaf -aaf -adq -adI -adI -adI -adI -afr -adI -adI -adI -adI -adq -ajC -aae -aae -aae -aae -aaf -aaf -aaf -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aab -aab -aab -aad -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -cWN -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aXR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbU -cbU -cbU -cbV -ccs -ccs -ccs -ccs -ccE -ccE -cfK -cfJ -cRF -cid -cRu -cfI -ckm -cwU -clD -cmj -cnu -coa -cJI -cpE -cpE -cpE -csE -cti -cti -cti -cti -cti -cwV -cti -cys -cti -cti -cti -cti -cwV -cAY -cBq -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(163,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aal -aal -aau -aax -aax -abl -aax -abM -aax -aax -aaw -aal -aal -aal -aaf -adq -adJ -aed -aeB -adI -afs -afK -Oih -ahz -aic -adq -ajC -aae -aae -aaf -aaf -aaf -aaf -aaf -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -cXC -aqV -aqV -cXQ -cXF -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -cWB -cWF -cIP -cWP -cWT -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aad -aaa -aaa -aaa -aaa -aaa -cbV -cbU -cbU -cbU -cbU -cbU -cbU -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccE -ccE -ccE -cfJ -cfK -cfK -cRJ -ckn -ccU -clE -cmf -cnv -cob -cpd -cpF -cpF -crK -csF -ctj -ctj -ctj -ctj -cvZ -ctj -ctj -cyt -czj -czj -czj -czj -cGb -czj -cBr -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(164,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aav -aax -aaw -aaw -abx -aax -aax -aax -aaw -acK -cEm -aal -aal -aal -adK -aee -aeB -aeR -aeB -afL -agK -aeB -aid -adq -ajC -aae -aae -aaf -aaf -aaf -aaf -aaf -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aag -aaa -abC -aaa -aqU -bnW -aPC -cIP -aPC -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aab -aab -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbU -cbU -cbU -cbU -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdi -cjw -ccU -cRR -cfJ -cmf -cnw -cFQ -cJJ -cnX -cnX -crL -cpD -csG -csG -csG -csG -cmf -cun -cun -cmf -csG -csG -csG -csG -cmf -cun -cun -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(165,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aaw -aaE -aaS -cEn -aaX -abN -abZ -acn -acu -aax -aaw -aal -aal -aal -aal -aal -aal -aal -aal -afM -agL -ahA -aie -adq -ajD -ako -ako -ako -ako -ako -aaf -aaf -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -aPC -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aac -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -cbV -cbU -cbU -cbU -cbV -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -cbV -cbV -cbV -cbV -cdi -cdi -cha -cdh -cfK -cdi -cmf -cnx -coc -cJK -coc -cnX -crL -cmf -aaa -aaa -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(166,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -cEm -aaw -aaF -aaT -aax -aby -aaX -aca -aax -acv -aax -cTl -aal -ade -adr -ade -ade -ade -ade -aal -afN -agM -ahB -aif -adq -ajE -akp -akp -akp -amD -ako -ako -ako -cFp -cFp -cFp -cFp -cFp -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aqU -aOd -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aVN -aVN -aVN -aaa -aVN -aVN -aVN -aVN -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -aPC -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbU -cbV -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -cbV -cfJ -cfK -cgU -chC -cie -cgu -cha -cRH -cdi -cdi -cmf -cny -cod -cJL -cpG -cnX -crM -cmf -aaa -aaa -aaa -aaa -cmf -cup -cup -cmf -aaa -aaa -aaa -aaa -cmf -cup -cup -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aad -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(167,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aax -aaG -aaU -abm -abm -abO -aaX -aax -acv -aax -aau -aal -cEm -aal -aal -aal -aal -cEm -aal -afO -agN -aeB -aig -adq -ajF -akq -akX -akX -amE -ano -aop -apk -bSC -aqh -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aOd -aqV -aqV -aqV -aSi -aqU -abC -abC -abC -abC -abC -abC -abC -abC -aVN -aVN -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aVN -aVN -abC -abC -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -aPC -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aac -aac -aac -aac -aac -aac -aac -aaa -aaa -aaa -cbU -cbU -cbU -cbU -cbU -cbU -cbV -ccs -ccs -ccs -cbV -cbV -cbV -ccs -ccs -ccs -cbV -cfJ -cgo -cgV -chD -cif -cgv -chd -cdi -ckT -ckT -ckT -ckT -ckT -cJM -cpH -cnW -crN -cmf -aaa -aaa -aaa -aaa -ctY -ctY -cxF -ctY -ctZ -ctZ -ctZ -ctZ -ctY -cxF -ctY -ctY -ctY -ctY -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aac -aac -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(168,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aax -aaH -aaS -abn -aaS -abP -aax -aaX -acw -aax -acO -aal -aaw -ads -adL -aaw -ads -aaw -aal -afP -agO -adq -adq -adq -afW -akr -ako -ako -ako -ako -ako -ako -ako -cXu -cXw -cXw -cXw -cXx -cXw -cXw -cXw -cXx -cXw -cXw -cXw -cXx -cXw -cXw -cXw -cXx -cXw -cXw -cXw -cXw -cXD -cXI -aqV -cXP -cXF -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aVN -abC -aaa -aaa -abC -aaa -aaa -aXj -aaa -aaa -abC -aaa -aaa -abC -aVN -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -cWB -cWE -cIP -cWQ -cWT -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -abC -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aaa -aad -aab -aab -aad -aaa -aaa -aaa -cbU -cbU -cbU -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cfK -cRx -cgW -chE -cig -ccU -cha -cfJ -ckT -clF -cmk -cnz -coe -cpe -cpI -cnX -crL -csG -aaa -ctY -ctY -ctY -ctY -cwW -cvj -cyu -cyw -cyw -cyw -cyw -cyu -cvj -cBs -cFZ -cBT -cCh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aac -aac -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(169,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aaw -aaI -aaS -aaS -aaS -aaH -aaE -aaS -acx -abZ -abZ -acQ -adf -adf -adf -adf -aeC -adf -acQ -afQ -agP -ahC -aih -aiO -ahC -aks -akY -akY -amF -akY -akY -apl -aqi -aqV -aqV -aqV -aqV -cXy -aqV -aqV -aqV -cXA -aqV -aqV -aqV -cXy -aqV -aqV -aqV -cXA -aqV -aqV -aqV -aqV -cXy -aqV -aqV -aqV -aSi -aqU -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -abC -aWO -aWO -aWO -aWO -aWO -aXg -aWO -aWO -aWO -aWO -aWO -abC -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -aPC -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cfK -cgq -cgX -chF -cih -cfI -cjx -cdi -ckT -clG -cml -cml -cml -cJM -cpJ -cnX -crL -csG -aaa -ctY -cuq -cvi -cFY -cwX -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cBG -cBT -cCh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(170,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aay -aaJ -aaV -aaS -abz -abQ -acb -aco -acy -acJ -abm -acR -adg -adt -adg -aef -aeD -adg -acR -afR -agQ -afW -aii -aiP -afW -akt -akZ -tPc -amG -alH -alH -apm -aqj -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -cXO -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aag -aaa -aVN -aaa -aaa -aWP -aWU -aWU -aWU -aWU -aXk -aXo -aXo -aXo -aXo -aXx -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aqU -bnW -aPC -cIP -aPC -btM -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbU -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cfK -cgr -cgY -chG -cii -ciM -cRs -cRM -ckT -clH -enD -cmm -cof -cpf -cpK -cqQ -crN -csG -aaa -ctZ -cur -cvj -cwa -cvj -cvj -cyv -cyv -cyv -cyv -cyv -cyv -cvj -cvj -ctY -cBT -cCh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aad -aac -aac -aac -aad -aab -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(171,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aaw -aaK -aaW -aaS -aaS -Brt -aaE -aaS -acz -acc -acc -acS -adh -adu -adh -adh -adh -adh -acS -afS -agR -ahD -aij -aiQ -ahD -aku -ala -alI -amH -anp -alI -alI -aqk -aqV -aqV -aqV -aqV -aqW -aqV -aqV -aqV -aqV -aqV -aqV -aqV -cXB -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWQ -aWQ -aWQ -aWQ -aWQ -aXg -aWQ -aWQ -aWQ -aWQ -aWQ -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -bmN -bnX -aPC -cIP -aPC -btN -bvo -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cfJ -cgs -cDG -cgY -cfJ -ciN -cjy -cRN -ckT -clI -cmn -cnA -cmn -cpg -cpL -cnX -crL -csG -aaa -ctZ -cus -cvk -ctY -cvj -cvj -cFZ -ctZ -ctZ -ctZ -ctZ -cFY -cvj -cvj -ctY -ctY -cCi -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(172,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aax -aaw -aaS -abo -aaS -abR -aax -aaX -acA -aax -acO -aal -adi -adv -aaw -aaw -adv -adi -aal -afT -agS -afW -afW -afW -afW -akv -ako -ako -ako -ako -ako -ako -ako -dzg -cXv -cXv -cXv -cXz -cXv -cXv -cXv -cXz -cXv -cXv -cXv -cXz -cXv -cXv -cXv -cXz -cXv -cXv -cXv -cXv -aOe -cXJ -aqV -cXP -cXF -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -abC -abC -abC -abC -abC -abC -abC -aXg -abC -abC -abC -abC -abC -abC -abC -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -bmO -aZq -aZr -cIQ -bsn -aZq -bvp -aaa -aaa -aaa -aaa -aZM -aZM -aZM -aZM -aZM -aZM -aZu -aZu -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cfJ -cfJ -cfK -cfJ -cfK -cdh -cjz -cha -ckT -clJ -clJ -clJ -clJ -cJM -cpI -cnX -crL -csG -aaa -ctZ -cur -cvj -cwa -cvj -cvj -cyw -cyw -cyw -cyw -cyw -cyw -cvj -cvj -ctY -cBT -cCh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(173,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -aal -aax -aaw -aaX -aaw -aaw -aaw -aaX -aax -acB -aax -aau -aal -aal -aal -aal -aal -aal -aal -aal -afU -agT -ahE -aik -afW -ajG -akw -alb -alJ -alJ -anq -aoq -apn -cXt -aql -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aWO -aWO -aWO -aWO -aWO -aXg -aWO -aWO -aWO -aWO -aWO -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aZM -aZM -aaa -abC -aaa -bmO -aZq -baq -bzM -bso -aZq -bvq -aZq -aZM -aaa -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZu -aZu -aZu -aZu -aZM -aZM -aZN -aZM -aZN -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -cbW -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cbV -cbV -cfK -cgt -cjz -cko -ckT -cJy -cJE -cJE -cJE -cJN -cpI -cnX -crL -csG -aaa -ctY -cuq -cvl -cFZ -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cvj -cBG -cBT -cCh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(174,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aal -cEm -aaw -aaF -aaT -aax -aby -aaX -aca -aax -acB -aax -aaw -aal -ade -ade -ade -aeg -ade -ade -aal -afV -agU -cKB -aik -afW -ajE -akp -akp -akp -akp -ako -ako -ako -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWP -aWU -aWU -aWU -aWU -aXk -aXo -aXo -aXo -aXo -aXx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aZM -aZM -aZN -aZM -aZM -aZM -aZM -aZM -abC -aaa -bmO -aZq -baq -bzM -bsp -aZq -bvr -aZq -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZO -aZO -aZO -aZM -aZM -aZu -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cbV -cbV -cdi -cgt -cjz -cJw -clK -cJz -cmo -cnB -cog -clK -cpM -cqR -crL -csG -aaa -ctY -ctY -ctY -ctY -cwY -cvj -cyx -cyv -cyv -cyv -cyv -cyx -cvj -cBs -cFY -cBT -cCh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(175,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aal -aal -aaw -aaE -aaS -cEn -aaX -abS -acc -acp -acC -aax -aaw -aal -aal -aal -aal -aal -aal -aal -aal -afW -afW -afW -afW -afW -ajD -ako -ako -ako -ako -ako -aaf -aaa -abC -aaa -aaa -aaa -aaa -aaa -cFp -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWQ -aWQ -aWQ -aWQ -aWQ -aXg -aWQ -aWQ -aWQ -aWQ -aWQ -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZO -aZO -aZO -aZM -aZM -abC -aZq -bmP -aZq -dkt -bzM -bso -aZq -bvs -aZq -aZq -aZq -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdi -cfJ -cjz -cgW -clK -cJA -cmp -cnC -coh -clK -cpI -cnX -crL -cmf -aaa -aaa -aaa -aaa -ctY -ctY -cxF -ctY -ctZ -ctZ -ctZ -ctZ -ctY -cxF -ctY -ctY -ctY -ctY -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(176,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aal -aal -aaz -aax -aaw -aaw -abA -aax -aax -aax -aaw -acK -cEm -aal -aal -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -ajC -aaf -aaf -aaf -aaf -aaf -aaf -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -abC -abC -abC -abC -abC -abC -abC -aXg -abC -abC -abC -abC -abC -abC -abC -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZO -aZO -aZO -aZM -aZO -abC -aZq -bmQ -aZq -bpo -bzM -bso -aZq -bvt -bwA -bxM -aZq -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZq -aZq -aZq -aZq -aZq -aZq -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cdi -cRK -cgW -clK -clK -cmq -cnC -coi -cph -cpI -cnX -crL -cmf -aaa -aaa -aaa -aaa -cmf -cun -cun -cmf -aaa -aaa -aaa -aaa -cmf -cun -cun -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(177,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aal -aal -aau -aaL -aax -abp -aax -abM -aax -aaL -aaw -aal -aal -aal -aaf -aaf -aae -aae -aae -aae -aae -aaf -aaf -aaf -aaf -aaf -ajC -aaf -aaf -aaf -aaf -aaf -aaf -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -cXF -cXL -aqV -cXQ -cXF -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWO -aWO -aWO -aWO -aWO -aXg -aWO -aWO -aWO -aWO -aWO -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZq -aZq -bmR -bcg -baq -bzM -bso -aZq -bvu -bwB -bxN -aZq -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZq -bcc -bdF -bcS -beE -aZq -aZN -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -cbW -cbV -diT -diT -diT -diT -diT -diT -diT -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cfK -cRK -cRs -cJx -clK -cmr -VxC -coj -cpi -cpN -cqS -crO -cmf -aaa -aaa -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(178,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aaf -aaf -aaf -aae -aae -aae -aae -aae -aaf -aaf -aaf -aaf -aaf -ajC -aaf -aaf -aaf -aaf -aaf -aaf -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -cFp -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWP -aWU -aWU -aWU -aWU -aXk -aXo -aXo -aXo -aXo -aXx -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aZM -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZq -blB -bmS -aZq -baq -bzM -bso -aZq -bvv -bwC -bxO -aZq -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aZq -bcS -bcS -bcS -bcS -aZq -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -diT -ccA -ccH -ccP -cde -djm -diT -cbV -cbV -cbV -ccs -ccs -ccs -diT -diT -diT -diT -ccs -cfK -cjA -wpW -cgW -clK -cms -cnC -cok -cph -cpI -vnW -crL -cFW -csG -csG -csG -csG -cmf -cup -cup -cmf -csG -csG -csG -csG -cmf -cup -cup -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(179,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aal -aaf -aaf -aaf -aaf -aae -aae -aae -aae -aae -aae -aae -aae -aae -aaf -ajC -aaf -aae -aae -aaf -aaf -aaf -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWQ -aWQ -aWQ -aWQ -aWQ -aXg -aWQ -aWQ -aWQ -aWQ -aWQ -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aaa -aaa -aZM -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZq -blC -bmT -aZq -baq -bzM -bso -aZq -bvv -bwC -bxP -aZq -aZq -aZq -aZq -aZM -aZM -aZM -aZM -aZM -aZq -bcS -bcS -bcS -bcS -aZq -aZq -aZq -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -diT -diT -diT -ccB -djb -ccQ -cdf -cdk -diT -diT -cbV -cbV -ccs -ccs -ccs -diT -djv -dje -diT -ccs -cfJ -cfK -ckp -cRS -clK -cmt -cnC -col -clK -cpO -cqT -cpc -csE -cti -cti -cti -cti -cwb -cti -cti -cys -cti -cti -cAj -cti -cti -cAY -cBq -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(180,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aae -aae -aae -aae -aae -aae -aaf -aae -aae -aae -aae -aaf -ajC -aaf -aae -aae -aaf -aaf -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -abC -abC -abC -abC -abC -abC -abC -aXg -abC -abC -abC -abC -abC -abC -abC -aVN -aaa -aaa -aaa -aaa -abC -aZM -aZM -aZM -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZq -blD -bmU -aZq -bpp -bqG -bsq -aZq -bvw -bwD -bxQ -aZq -bzK -bBc -aZq -aZM -aZM -aZM -aZM -aZM -aZq -bcP -bMu -bNE -bOI -bPO -bQP -bPO -bSA -bSA -bSA -bSA -bvo -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -cce -ccn -ccq -diY -ccC -ccI -ccR -cdg -cdl -cdo -diT -cbV -cbV -cbV -cbV -cbV -diT -dje -cFK -diT -ccs -ccE -cDe -cRP -ckU -clK -cmu -cnD -com -clK -cpP -cqU -crP -csH -ctk -ctk -ctk -ctk -cwc -ctk -ctk -cyy -czk -czk -czk -czk -cAL -cAZ -cBr -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(181,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aae -aae -aae -aae -aae -aaf -aaf -aaf -aaf -aae -aae -aae -aae -aae -aae -aae -aae -aae -aaf -aae -aae -aae -aae -aaf -ajC -aaf -aaf -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aVN -aaa -aaa -aWO -aWO -aWO -aWO -aWO -aXg -aWO -aWO -aWO -aWO -aWO -aaa -aaa -aVN -aaa -aaa -aaa -aaa -abC -aZM -aZM -aZO -aZO -aZO -aZO -aZq -aZq -aZq -aZq -aZq -aZq -aZq -blE -aZq -aZq -baq -bzM -bso -aZq -aZq -bwE -aZq -aZq -aZq -bBd -aZq -aZq -aZq -aZq -aZq -aZq -bcg -aZq -bMv -aZq -aZq -aZq -aZq -aZq -aZq -aZq -aZq -aZq -bVb -bVD -bVD -bVD -cWV -bVD -bVD -bVD -bVD -cWV -bVD -bVD -bVD -bVD -cWV -bVD -bVD -bVD -ccf -diT -diT -diT -diT -diT -djg -diT -diT -cdp -diT -diT -diT -diT -diT -diT -diT -cFJ -diT -diT -diT -diT -diT -ckq -ckV -clK -cmv -clK -clK -clK -cpQ -cqV -crQ -cpD -csG -csG -csG -csG -cmf -cwZ -cxG -cmf -csG -csG -csG -csG -cpD -cBa -cBp -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(182,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aaf -aaf -aaf -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aaf -aaf -aaf -ahF -ajH -ahF -aaf -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -cXF -cXK -aqV -cXP -cXF -aqU -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aWP -aWU -aWU -aWU -aWU -aXk -aXo -aXo -aXo -aXo -aXx -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aZN -aZM -aZM -aZO -aZO -aZO -aZO -aZq -bgr -bhm -bhm -bjG -dyY -dzm -blF -bkG -bnY -bpq -bqH -bsr -bhm -bhm -bwF -bhm -byM -bzL -bxR -bxR -bxR -bxR -bFD -bxR -bxR -bxR -bxR -bMw -bNF -bOJ -bso -bQQ -bRN -bSB -bso -bTM -bsn -cWU -cWU -cWU -cWU -cWW -cWU -cWU -cWU -cWU -cWZ -cWU -cWU -cWU -cWU -cWW -cWU -cWU -cWU -cWU -diU -diW -diZ -dja -djc -djh -djh -cdm -cdq -cdw -cdG -cdS -cel -cdG -cdG -cdG -cdG -cFL -cdG -cdG -ciO -cjB -ckr -ckW -clL -cmw -djx -djx -cpj -cpR -cqW -crL -cmf -aaa -aaa -aaa -aaa -cmf -cmf -cmf -cmf -aaa -aaa -aaa -aaa -cmf -cmf -cmf -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(183,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aaf -aaf -aaf -ahF -ajI -ahF -aaa -aaa -aaa -aaa -aaa -aaa -abC -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abC -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -aaa -alc -alc -alc -aaa -aaa -aaa -aWQ -aWQ -aWQ -aWQ -aWQ -aXg -aWQ -aWQ -aWQ -aWQ -aWQ -aaa -aaa -aVN -aaa -aaa -aaa -aaa -aZM -aZM -aZM -aZq -aZq -aZq -aZq -aZq -bgs -cFl -bhn -bjH -cOq -bhn -blG -bEq -cII -bEq -bqI -qza -aZQ -aZQ -dyZ -bEq -byN -dza -bar -bCe -bDg -bEq -bFE -bEq -bEq -bEq -bEq -bMx -bnZ -bdH -aZQ -aZQ -aZQ -aZQ -aZQ -aZQ -aZs -cWU -cWU -cWU -cWU -cWU -cWU -cWU -cWU -cWU -cYc -cWU -cWU -cWU -cWU -cWU -cWU -cWU -cWU -cWU -diV -diX -ccu -diX -djd -diX -diX -djn -diX -cdx -diX -diX -vCD -diX -cfk -diX -diX -diX -diX -diX -diX -cGP -diX -djw -djd -cmx -diX -diX -diX -cpS -cqX -crL -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(184,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aae -aaf -aaf -cXs -cXs -cXs -abC -aaa -aaa -aaa -aaa -aaa -alc -alk -alc -alc -alc -alc -alc -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -alc -alc -alc -alc -cFp -cFp -cFp -cFp -cFp -cFp -cFp -abC -aXg -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aZN -aZM -aZM -aZq -bcL -cMU -bew -aZq -bgt -aZQ -bib -bjI -cOr -biM -blH -bmV -boa -bpr -cIR -bss -bqJ -btO -bwG -bwG -byO -bzN -bBe -bCf -bDh -bEr -bFF -bEr -bIK -dzn -bEr -bMy -bNG -bOK -cFC -bPP -bRO -bPP -bPP -bPP -bUC -cWU -cWU -cWU -cWU -cWX -cWU -cWU -cWU -cWU -cXa -cXb -cXb -cXb -cXb -cXc -cXb -cXb -cXb -cXb -cXd -cXe -cXe -cXe -ccJ -ccS -cXe -cXf -cXg -cdy -djr -dzp -djr -djr -cfl -djr -djr -djr -djr -cij -ciP -cjC -djr -ckX -clM -cmy -clM -clM -clM -cpT -cqY -crR -cmf -aaa -aaa -aaa -aaa -cmf -cmf -cmf -cmf -aaa -aaa -aaa -aaa -cmf -cmf -cmf -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(185,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -abC -aaa -aaa -aaa -aaa -alc -alc -alc -alc -alc -amI -amI -alc -alc -alc -abC -aaa -aaa -alc -alc -alc -alc -alc -aaa -abC -aaa -aaa -aaa -aqU -aSi -cXK -aqV -aqV -aSi -aqU -aaa -aaa -aaa -alc -alc -alc -alk -abC -abC -abC -abC -abC -abC -abC -abC -aXg -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZM -aZq -bcM -cYq -bex -bfm -bgu -bho -bic -aZq -cOs -cOC -cOC -cOC -bob -cIM -cIS -bob -bob -bob -bvx -bvx -byP -bzO -bvx -bvx -bCg -cFu -bCg -bCg -bCg -bCg -aZq -bMz -aZq -aZq -aZq -aZq -aZq -aZq -aZq -aZq -aZq -bVc -bVE -bVE -bVE -cWY -bVE -bVE -bVE -bVE -cWY -bVE -bVE -bVE -bVE -cWY -bVE -bVE -bVE -ccg -diT -diT -diT -diT -diT -diT -diT -diT -diT -cdz -diT -diT -diT -diT -diT -diT -diT -diT -djg -diT -diT -diT -cks -ckV -diT -diT -diT -diT -diT -cpU -cqZ -crS -cFW -csG -csG -csG -csG -cmf -cxa -cxH -cmf -csG -csG -csG -csG -cpD -cBb -cBp -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(186,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -abC -abC -aaa -aaa -aaa -alc -alc -amI -alc -amI -amI -amI -alc -alc -amI -alk -alc -amI -amI -alc -alc -alc -alc -aaa -abC -cFp -cFp -cFp -aNn -cXG -cXK -aqV -aqV -cXS -aTf -cFp -cFp -akx -alc -alc -alc -alc -cFp -cFp -cFp -cFp -cFp -aaa -aaa -abC -aXg -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZM -aZq -bcN -bdC -bey -bfn -bgv -bhp -bid -bcg -bjJ -bgq -bhl -bia -bob -bps -bqK -bst -btP -cJa -cGu -bvy -dAg -bzP -bBf -dBe -bCg -bEs -bFG -bHl -bIL -bCg -bKV -bMA -bcR -bOL -bap -bQR -bRP -bSC -bSC -bSC -bSC -bVd -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aYt -cco -ccr -ccv -ccD -ccK -ccK -cZn -ccK -ccK -cdA -diT -cbV -ccs -ccs -ccE -cfJ -cfJ -cgY -cEj -cRG -cgY -cCQ -ckt -ckY -cfK -cdi -cdi -cdi -cmf -cpV -cra -crT -csE -cti -cti -cti -cti -cwd -cti -cti -cys -cti -cti -cti -cti -cwV -cAY -cBt -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(187,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -abC -alk -alc -alc -amI -amI -dfa -dfa -deW -deS -dfa -dff -deS -dfa -dfa -deS -deS -alc -amI -amI -alc -alc -aaa -aaa -aaa -aJu -aNo -aJu -aPD -dhd -dhi -dgK -aTg -dgK -akx -akx -alc -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -abC -aXg -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZq -bcO -bdD -bez -aZq -bgw -bhp -bic -cOh -cOh -cOh -cOh -cOh -bob -bpt -bqL -cIT -bsu -cJb -bvz -bwI -dAS -dAX -bwH -bCh -dBp -bDj -bFH -dBL -bIM -bCg -bcS -bMB -bcS -bcc -aZq -aZq -aZq -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -diT -diT -diT -dje -dje -dje -dje -diT -diT -diT -cbV -ccs -ccs -ccE -cfK -cRy -cgZ -cRu -cRu -ciQ -cRu -cku -cRT -cfJ -cdi -cdi -cdi -cmf -cpW -crb -crU -csF -ctj -ctj -ctj -ctj -cwe -ctj -ctj -cyt -czj -czj -czj -czj -cGb -czj -cBr -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(188,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -alc -alc -amI -deS -deS -dfa -dfo -dfe -dfw -cLa -dfC -dfF -ayH -dfK -aBm -dff -dfa -dfa -deS -alc -alc -alc -akx -akx -aJu -aNp -aJu -cXM -dhe -aRx -dgK -aTh -dgK -alc -alc -alc -amI -amI -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -abC -aXg -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZq -cMM -bdE -beA -aZq -bgw -bhq -bie -dzv -cOt -cOD -cOK -cOY -bob -bpu -bqL -PXL -bsv -cJb -bvA -bBh -dAS -bzQ -bBg -bCi -dBq -bEu -bFI -bDl -bIN -bCg -bcS -bMB -bcS -bcL -aZq -aZM -aZM -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -aaa -aaa -aaa -cbV -cbV -cbV -diT -djf -dji -djj -djo -diT -cbV -ccs -ccs -ccs -ccs -ccE -cfJ -cRy -cgW -chI -chI -chI -chI -chI -chI -chI -chI -chI -chI -chI -cpX -crc -crV -cmf -csG -csG -cut -csG -cmf -cun -cun -cmf -csG -csG -csG -csG -cmf -cun -cun -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(189,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -akx -alc -amI -amI -deS -deW -dfa -aor -dfe -dfs -dfx -dfs -dfs -dfG -dfI -dfG -dfL -dfG -dfK -dfT -deS -amI -amI -aJu -aKr -aKr -aJu -aNq -aJu -cXM -dhe -aRy -dgK -aTi -dgK -dgK -dgK -alc -amI -amI -alc -alc -alc -alc -alc -aaa -cFp -abC -abC -aXg -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZq -aZq -aZq -aZq -aZq -bgw -bhp -bic -cOi -bjK -HLI -cOE -bmX -bob -bpv -bqM -cIU -bsw -cJb -bvB -bwI -byQ -bzR -bBh -dBf -bCj -bEt -bFJ -dBM -bIO -bCg -bKW -bMC -bNH -bOM -aZq -aZM -aZM -aZM -aZM -aaa -aWr -aWr -aWr -aWr -aWr -aWr -aWr -aWr -aWr -aWr -aaa -aWr -aWr -aWr -aWr -aWr -aWr -aWr -aaa -aaa -cbV -cbV -cbV -diT -diT -diT -diT -diT -diT -cbV -ccs -ccs -ccs -ccs -ccE -cfK -cgY -cRD -chI -cil -ciR -cim -cjF -cim -ckZ -ckZ -cnE -ckZ -chI -cpW -crd -crW -cmf -cbU -cbU -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(190,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -akx -akx -alc -amI -amI -deS -apo -aos -dfk -dfk -dfk -cKY -ave -dfk -dfk -ayI -cKY -dfk -dfk -aDz -deW -dfa -deS -deS -aJu -aKs -aLp -aMm -aNr -aOf -cXM -dhe -dhj -dgK -aTj -aTM -aUg -dgK -alc -amI -aVB -aVC -aVB -aVB -aWI -alc -aaa -aaa -abC -die -aXh -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZq -bgw -bhp -bic -dzw -cOu -cOF -cOL -bmY -bob -bpw -bqN -cIV -bsx -cJc -bvC -dAP -byR -bzS -bBi -dBc -dBq -bDk -bFK -bHm -bIP -bCg -bKX -bLr -aZq -aZq -aZq -aZM -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -cbV -cbV -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccE -cfK -cgp -cgW -chI -cim -ciS -cim -ciT -cim -cim -cjF -cnF -ckZ -chI -cpY -cnX -cFV -cmf -cbU -cbU -cbU -aaa -cmf -cup -cup -cmf -aaa -aaa -aaa -aaa -cmf -cup -cup -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(191,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiR -ajJ -anv -cTq -aiR -deS -deW -dfa -dfe -dfh -aqX -aqX -aqX -aqX -aqX -aqX -aqX -aqX -aqX -aqX -dfe -dfh -deW -dff -aHp -dff -aJu -tTl -aLq -aMn -aNs -aOg -cXN -dhe -aRA -dgK -aTk -aTN -aUh -dgK -dfN -dfN -aVB -aVT -aWl -aWz -aWI -aWI -aWI -abC -abC -aXg -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZM -aZM -aZM -aZO -aZM -aZO -aZq -bgw -bhp -bic -cOh -cOv -cOG -cOM -cOZ -bob -bpx -bqO -bsy -bob -bob -dku -bwI -byS -bzT -dAs -bwI -dBs -dBy -bFL -dBN -bIQ -bCg -bKY -bMD -beI -beF -aZO -aZO -aZM -aZM -aZM -aZN -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -cbW -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccE -cdi -cgY -cRE -chI -cin -ciT -cjD -ciT -cjF -cim -ckZ -cnG -con -cpk -cpZ -cnX -crW -csG -cbU -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(192,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiS -alj -ajK -cTr -aiR -aiR -deX -aor -aos -aqm -aqX -arS -asU -arS -asV -asV -axf -ayJ -arS -aqX -dfo -aDA -dfK -dfG -dgb -deW -aJv -aKu -aLr -aMo -aNt -aOh -aPE -dhf -aRB -cEV -aTl -aTO -aUi -dgK -ajb -dfY -aVC -aVU -loB -aWA -aWJ -aWR -aWJ -dib -dib -aXh -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aZN -aZM -aZM -aZM -aZM -aZO -aZM -aZO -aZq -bgw -bhp -bic -dzx -cOw -cOH -cON -bmZ -boc -bpy -bqP -bsz -cYr -btQ -bvD -bxS -dAU -bzU -bBj -dBh -bCg -bEv -dBI -bHn -bIR -bCg -bKZ -bME -bNI -beI -beF -beF -aZO -aZO -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccE -cdi -cth -cgW -chI -dzq -cim -cjE -ckv -kzz -ckZ -ckZ -ckZ -ckZ -chI -cqa -cnX -crW -csG -cbU -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(193,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -ajL -aky -ald -alK -amJ -akW -aos -app -dfa -aqX -arT -asV -arS -arS -awt -asV -asV -azY -aqX -deW -amn -dfU -jfM -dfU -dgj -aJu -aJu -aJu -aJu -aJu -aJu -aPF -aQw -aRC -dgK -aTm -dhC -aUj -dgK -dgP -aVr -aVD -aVV -aWn -aWB -aWI -aWI -aWI -abC -abC -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZO -cFf -bgw -bhp -bic -dzy -bjL -bkI -cOO -cPa -bod -bpz -bqQ -bwH -bsA -dAF -bvE -bwJ -byT -bzU -dAs -dBi -bCg -dBz -dBJ -Vud -bIS -bCg -brm -bMF -bNJ -bON -bPQ -beI -aZO -aZM -aZu -aZu -aZu -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cbV -cdi -cfL -cth -chc -chI -cim -cim -cjF -cim -cjF -ckZ -cmz -cnH -cnH -chI -cpX -cnX -crW -csG -cbU -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(194,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -dkm -akz -ald -alL -aiR -anr -aot -cKQ -dff -aqX -arU -asW -atY -UrW -asV -axg -asV -azZ -aqX -dff -deW -dfa -dfF -cLC -cLJ -cLR -dfU -dgj -dfL -dgF -dgK -aPG -dhg -aRD -dgK -aTn -dhD -aUk -dgK -dfY -dhL -aVC -aVC -aVB -aVC -aWI -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZO -aZq -bgw -bhp -bic -dzw -bjM -cTZ -blI -dzK -cPe -cPk -cGt -bwI -bEz -dAF -dAJ -bxT -byU -dAY -bBk -dBj -bCg -bEw -bFM -bHp -bIT -bCg -bLa -bLb -cQx -brm -cQN -beH -aZO -aZM -aZu -aZu -aZu -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -ccs -ccs -cfK -cfK -ccE -ccE -cbV -cbV -ccs -ccs -cbV -cdi -cfJ -cfJ -cfM -cth -cha -chI -cim -ciU -cjG -cjG -cjG -clN -cmA -cnI -coo -cpl -cqb -cqT -crX -csG -cbU -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(195,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -ajN -akA -ald -alM -aiR -ans -aou -dff -dff -aqX -arS -asV -atZ -avg -atZ -axh -axg -azZ -aqX -dff -dff -cLr -cLr -cLr -cLr -cLr -cLr -dfh -dfL -deW -dgL -aPH -aQx -aRE -aSj -aTo -dgK -dgK -dgK -dfV -aoU -dfO -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZO -aZq -aZq -aZq -aZq -aZq -aZq -bgw -bhp -bif -cOj -biP -biP -biP -biP -boe -cPk -dAc -bBh -dAw -cKg -boe -bwK -boe -bzV -bBl -boe -bCg -dBA -bFN -bHq -bCg -bCg -cFz -bLb -bLb -brm -cQN -beF -aZO -aZO -aZM -aZM -aZu -aZu -aZu -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -ccs -ccs -cfK -ccL -ccT -cfK -cdi -cfJ -ccE -ccE -cdi -cdi -ceL -cfm -cfm -cth -cRD -chI -cio -ciV -cim -cjF -cim -cim -cim -cnJ -cim -chI -cFT -cnX -crW -csG -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(196,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -ajM -akA -ale -alN -aiR -aiR -any -any -any -aqX -aqX -aqX -aua -avh -aua -aqX -aqX -aAa -aqX -any -any -cLr -cLx -cLD -cLK -cLS -cLr -amn -dfk -aNg -aOi -aPI -aQy -aRF -dgK -dgK -dgK -dfM -dfM -dhL -dgd -dgK -dgK -dgK -dgK -dgK -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZM -aZq -bcc -bcQ -bdF -beB -aZq -bgw -bhp -bic -biP -bjN -bkJ -blJ -bna -bof -bpB -bqR -bsB -cPl -cPm -cPm -cPm -byV -bzW -bBm -bCk -bDq -bEx -bFO -bHr -bIU -bJY -dBO -bMG -bLb -cNA -cQN -beF -aZO -aZO -aZM -aZM -aZM -aZu -aZu -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccE -ccM -cth -ccU -ccU -cdh -ccU -cdi -ccU -cth -ceL -cfm -cfK -cRz -cgW -chI -chI -chI -chI -chI -chI -chI -chI -chI -chI -chI -cqc -cnX -crW -csG -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(197,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -ajM -akA -YNP -alM -amK -aiR -aov -cKR -aqn -aqY -arV -asX -aub -avi -aub -axi -ayK -aAb -aBn -aCl -aDB -cLs -cLy -cLE -cLL -cLT -cLr -cMa -deX -auA -dgM -aPJ -dhe -aRG -dgK -dfM -dfM -dfM -aUK -aoU -dgv -dgK -dhS -dhW -aWC -dgK -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZM -aZq -bcd -bcR -bcR -beC -bfo -bgx -bhr -bie -biP -bjO -wGW -blK -bnb -bog -bpC -bqS -bBh -bwI -bBh -bwI -bBh -dAV -bzX -bBn -dBk -bDr -bEy -bFP -bHs -bIV -bJZ -bLc -bMH -bLb -brm -bPS -beH -aZM -aZO -aZO -aZM -aZM -aZu -aZu -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccE -ccE -ccV -cRr -ccU -ccU -cth -ccU -ccU -cem -cdi -cdi -cfJ -cRA -cgW -cfJ -cfK -cdi -cfJ -cfJ -cdi -cdi -cdi -cdi -cdi -cpD -cpX -cnX -crW -csG -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(198,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -dkm -akA -ald -alO -amL -ant -aow -apq -apq -aqZ -aqZ -cGh -aqZ -avj -apq -apq -ayL -aAc -aBo -cLj -aDC -cLt -cLz -cLF -cLM -cLU -cLr -dfa -deS -dfa -dgK -aPK -aQz -aRH -dhn -aTp -dfX -dfX -aoU -dfN -dgv -dgK -dhT -dhT -aWD -dgK -dgK -dgK -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aZq -aZq -aZq -bce -bcS -bcS -beD -aZq -dzl -bhp -bic -biP -bjP -bkL -blL -bnc -boh -bpD -bqT -bpM -bpM -bpM -bwL -bpM -bpM -bzY -dBc -dBc -dBc -dAw -dBc -bHt -bIW -bKa -bLd -bMI -bLb -cQI -cQN -beF -aZO -aZO -aZO -aZM -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccE -ccE -ccE -cdi -cdi -ccE -ccE -cdi -cfK -cdi -cdi -cdi -cdi -cfJ -chd -cgY -cfJ -cRI -cRL -cfJ -cRU -cfJ -cfK -cfK -cop -cmf -cpY -cnX -crW -csG -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(199,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiT -ajO -akB -alg -alP -amM -anu -aox -aox -aox -ara -ara -aox -ara -avk -aov -aov -aov -aov -aBo -aov -aDC -cLu -Arn -cLG -cLN -cLV -any -any -any -any -any -aPJ -dhe -aRF -dho -dhu -dfY -dfW -afw -dfN -dgv -dgK -aVW -aWo -aWo -aWK -aWS -aWV -aWW -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aqU -aYP -bSC -bSC -bap -baT -bap -bcf -bcL -bcL -beE -aZq -bgy -bhs -big -biP -biP -biP -biP -biP -boi -bpE -bqU -dAn -btR -btR -boe -btR -boe -btR -btR -dAn -bDs -bEA -bFQ -bFQ -bFQ -bKb -bLd -bMJ -bLb -bNI -bPT -beI -aZO -aZO -aZO -aZM -aZM -aZM -aZN -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -cbW -cbU -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccE -ccE -cfJ -cfj -cfI -cfI -ciW -cfI -cRQ -cfI -cRu -ciQ -cnK -coq -cks -cpX -cre -crX -csG -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(200,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiU -ajP -akC -alh -ali -amN -aiR -aov -aov -aqo -arb -arW -asY -asb -avl -awu -aox -aox -aox -aBp -ayP -cLq -cLv -cLA -cLH -cLO -cLW -any -aLs -aMp -aNu -aOj -aPL -aQA -aRF -dgK -dgK -dgK -dgK -dgK -dgK -dgK -dgK -aVX -cEV -dgK -dgK -dgK -dgK -aWX -aWZ -aWZ -aWZ -cWo -aWZ -aWZ -aWZ -aWZ -cWo -aWZ -aWZ -aWZ -aYQ -aZq -aZq -aZq -aZq -aZq -aZq -aZq -aZq -cFf -aZq -bgz -bhp -bih -biP -bjQ -bkM -blM -bnd -boj -bpF -bqV -cFq -btS -bvF -bwM -bxU -byW -bvF -bBo -btQ -dBu -dAw -bFQ -bHu -bIX -cGD -bLe -bMK -bLb -brm -cQN -beF -beF -aZO -aZO -aZM -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -ccs -ccs -ccs -ccs -ccs -ccE -ccE -cfJ -che -cgn -ccU -cha -cdh -ccU -cth -cRr -cDg -cCQ -cRV -cks -cpX -cnX -crY -cmf -cbU -cbU -aaa -aaa -cmf -cun -cun -cmf -aaa -aaa -aaa -aaa -cmf -cun -cun -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(201,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiR -ajQ -aiR -ali -alQ -amO -aiR -aov -aov -aoz -arc -arg -any -arg -avm -aoz -aov -aov -aAd -any -aCm -aDC -any -any -any -any -any -any -aLt -aov -aov -aBo -aPM -dhe -aRI -aSk -aTq -aSk -aSk -aUL -cYi -aVs -cMn -aVY -aSk -aSk -aWL -aWT -cIl -cIm -cIm -cIm -cIm -cWp -aXs -aXs -aXs -aXs -cWx -aXs -aXs -aXs -aXs -cIr -aZP -cIw -baU -cIw -cIw -cIw -bdG -cIw -cIw -bgA -cWz -bic -biP -bjO -bkK -blK -bne -bog -bpC -bqW -bsC -btT -bvG -bwN -OPP -byX -bzZ -bBp -bCl -dBv -dAw -bFQ -bHv -bIY -bIY -bLd -bML -bLb -brm -bPU -bJj -beI -aZO -aZO -aZM -aZM -aZO -aZM -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbU -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cbV -cbV -cbV -ccE -ccE -ccE -cdi -cfJ -cRH -ciX -cgn -cdi -cfK -cdi -cfJ -cdi -cdT -cdT -cGT -crf -crZ -cmf -cbU -cbU -cbU -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -csG -cuo -cuo -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(202,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiR -aiR -aiR -aiR -aiR -aov -aov -aoz -ard -arh -aoz -arh -ard -aoz -axj -ayM -aAe -any -aCn -aDD -aBn -aGs -aHq -aIx -aJw -aKv -aLu -aov -aov -aBo -aPM -aQB -aRJ -dhe -aTr -zpw -dhe -aUM -dhe -dhO -dhe -dhe -dhe -dhe -aWM -dhe -dhd -cWk -cWk -cWk -cWk -cWk -cWk -cXY -cWk -cWk -cWk -cWk -cWk -cWk -cWk -aZs -aZQ -bar -aZQ -aZQ -aZQ -aZQ -bdH -aZQ -aZQ -bgB -cFm -bic -biP -bjP -bkL -blL -bnf -dzT -dzX -bqX -bsD -btU -bvH -bwO -bwO -bwO -bAa -bBq -bCm -bDt -bEB -bFQ -bHw -bIY -XtS -bLd -bMM -bLb -bOO -bPV -bQS -beH -aZO -aZO -aZM -aZO -aZO -aZO -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdT -cdT -cdT -cdT -cdT -cdT -cdT -cdU -cdT -cdT -cdT -cdT -cdT -cdT -cdU -cdT -cdT -cpm -cqd -crg -csa -cFW -csG -csG -csG -csG -cmf -cup -cup -cmf -csG -csG -csG -csG -cmf -cup -cup -cmf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(203,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -akx -any -aoz -aoz -aoz -arc -asa -aoz -asa -avm -aoz -aoz -aoz -aoz -any -aCo -aDE -aEX -aGt -aHr -aov -aDC -aoz -aLv -aov -aov -aOk -aPN -aQC -aRK -aSl -aTs -aTP -aUl -aUN -aVh -aVt -aVE -dhU -aWp -dhU -dhU -dhU -dia -cWk -cWk -cWk -cWk -cWq -cWk -cWk -cWk -cWk -cWq -cWk -cWk -cWk -cWk -aZt -aZR -bas -baV -bbA -bbA -bcT -bdI -bbA -bbA -bgC -baV -bii -bij -bij -bij -bij -bij -bij -bpG -bqY -boe -btV -bvI -bwP -bxW -byY -bBh -dBd -dBn -bDu -dAw -bFQ -bHx -bIY -bKc -bLf -bIZ -bNK -bOP -bPW -bGa -beH -aZO -aZO -aZM -aZO -aZO -aZO -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdU -cen -ceM -ceM -cfN -cet -chf -cGO -ciq -chJ -cjI -cFO -chJ -cGO -chJ -cnL -chh -chh -cqe -cnX -csb -csI -ctl -ctl -ctl -ctl -cwf -ctl -ctl -cyz -czl -cti -cti -cti -cti -cAY -cBq -csG -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(204,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -aoA -aoA -are -arf -aoA -arf -avn -aoA -aoA -aoA -aaa -any -aCp -aDF -aEY -aGu -mhj -aov -aJx -aKw -aLw -aov -aov -aOk -aOk -aQD -aRL -aSm -any -dgK -dgK -aUO -aOu -dgL -dgK -dgK -dgK -dgK -dgK -dgK -dgK -aWY -aWY -aWY -aWY -cWr -aWY -aWY -aWY -aWY -cWr -aWY -aWY -aWY -aWY -aZq -aZq -aZq -aZq -aZq -bcg -aZq -aZq -aZq -bfp -bgD -aZq -bij -biQ -bjR -dzB -dzD -bng -bij -bpH -dAd -dAn -btR -btR -boe -btR -boe -btR -btR -dAn -bDv -dAw -bFR -bHy -cFx -bKd -bLg -bMN -bLb -beG -bPX -bQT -beI -aZM -aZM -aZM -aZO -aZO -aZO -aZM -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cbU -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdT -ceo -ceN -cfn -cfO -cgw -chg -cfn -cir -cfn -cfn -cfn -cfn -cfn -cfn -cfn -cfn -cfn -cqf -cFU -csc -csF -ctj -ctj -ctj -ctj -cwg -cxb -ctj -cyt -czm -czU -czU -cGa -cAM -cBc -cBu -csG -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(205,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -apr -apr -apr -apr -asZ -apr -apr -apr -axk -aoA -aAf -aoz -aCq -aDG -aBp -aGv -aov -aov -aJy -aoz -aLx -aov -aov -aov -aov -aQE -ayR -aSn -any -alc -dfN -aUP -cYk -cYl -cMo -aVZ -dfN -alc -alc -alc -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aZu -aZu -aZM -aZM -aZO -aZO -aZO -aZO -beI -bfq -bgE -bht -bij -biR -lnN -bkN -bjS -bnh -bok -bpI -bqZ -bsE -btW -btW -bwQ -btW -byZ -btW -bBr -bCn -bDw -bEC -bFQ -bHz -cFy -bKe -bLh -dBP -bLb -beG -bPY -cQO -beG -aZM -aZO -aZO -aZO -aZM -aZM -aZu -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cbU -cbV -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdT -ceo -ceO -ceQ -cfP -cdT -chh -ceQ -ceO -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -cfQ -chi -cpE -cpE -csd -cpD -cmf -cmf -cun -cmf -cmf -cmf -cmf -cmf -cun -cmf -cmf -cmf -cpD -cBd -cBv -cmf -cbV -cbU -cbU -cbU -aaa -cbV -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(206,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -apr -apr -apr -apr -apr -apr -apr -apr -apr -ayN -aAg -aoz -aCm -aDH -any -aGw -aHs -ayP -aJz -aBp -aLy -aox -aox -aox -aox -aQF -cHV -aSn -any -alc -dfN -aUQ -dhM -dgw -dhQ -aWa -dfN -alc -alc -alc -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -abC -aaa -aaa -aZu -aZu -aZu -aZM -aZM -aZM -aZO -aZO -beH -bfs -bgF -brm -bij -biS -bjT -bkO -blN -bni -bol -bpJ -dAe -bsF -bBh -bwI -bBh -bwI -bBh -bwI -bBs -bCo -dBw -dBc -cKk -bFQ -bFQ -bFQ -bFQ -bLb -bLb -beG -cQN -brm -beG -aZM -aZO -aZO -aZO -aZM -aZM -aZu -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cbU -cbV -cbV -cbV -cbV -ccs -ccs -ccs -ccs -ccs -ccs -ccs -cbV -cdT -cep -ceP -ceQ -cfQ -cgx -chi -chi -chi -chi -Hmg -chi -chi -clO -chi -chi -cor -cdT -cmf -cmf -cmf -cmf -cbU -csG -cuo -csG -cbU -cbU -cbU -csG -cuo -csG -cbU -cbV -cmf -cmf -cBw -cmf -cbV -cbV -cbV -cbU -cbU -cbV -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(207,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -acD -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -dzt -apr -apr -apr -apr -apr -apr -apr -apr -ayN -aAg -aoz -aCm -aDH -any -aGx -aCm -aIy -aJA -aKx -aLz -aov -aov -aov -aov -aQE -aoC -aSn -any -alc -dfN -dhI -dhN -aVu -aVF -dhV -dfN -alc -alc -alc -alc -aWr -aWr -aWr -aaa -aWr -aWr -aWr -aWr -aaa -aWr -aWr -aWr -aWr -aWr -aZu -aZu -aZu -aZu -aZM -aZM -aZM -aZO -beI -bft -bgF -cNM -bij -biT -dzA -bkP -cGs -bnj -bij -bpA -dAf -dAq -btX -bvJ -bwR -bxX -bwR -bAb -bBt -bCp -dBx -dBH -bDx -bHA -bJa -bKf -bLi -bDA -beG -beG -bPU -bsS -beH -aZM -aZO -aZO -aZO -aZM -aZM -aZu -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -cbV -cdT -ceq -ceQ -ceQ -cfR -cdT -ceQ -ceQ -ceQ -ceQ -ceQ -ckw -ceQ -clP -ceQ -ceQ -cos -cdT -cbV -cbV -cbV -cbU -aaa -cmf -cup -cmf -cbU -cbU -aaa -cmf -cup -cmf -aaa -cbV -cbV -cBe -cBx -cBe -cBe -cbV -cbV -cbU -cbV -cbV -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(208,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -apr -apr -apr -apr -apr -apr -apr -apr -apr -ayN -aAg -aoz -aCr -aDI -any -aGy -aCm -aov -aJB -aoz -aLA -aMq -aNv -aOl -aPO -aQG -aRM -aSo -any -alc -dfN -dfN -dfN -dho -dfN -dfN -dfN -alc -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZu -aZu -aZM -aZM -aZM -beG -bft -bgF -cNA -bij -biU -bjU -dzC -blO -bnk -bij -bpK -bra -bsF -btY -cKh -bvK -bvK -bvK -bAc -bBu -bCq -bDx -bDx -bDx -bHB -bJb -bJb -bLj -bDA -beG -bOQ -bPU -cNM -beI -aZM -aZO -aZO -aZO -aZM -aZM -aZu -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -cbV -cbV -cbV -cbV -ccs -ccs -cbV -cdT -cer -ceQ -cfo -cfS -cet -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -ceQ -cdT -cbV -cbV -cbU -cbU -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -cbV -cBe -cBy -cBH -cBe -cBe -cmf -cmf -cmf -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(209,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -apr -apr -apr -apr -dzu -apr -apr -apr -axk -aoA -aAh -aoz -aCm -aDH -any -aGz -aCm -aIz -aJC -any -any -any -any -aOm -any -aQH -dhk -any -any -alc -amI -dfN -RUN -cYm -dfO -alc -alc -alc -alc -alc -alc -alc -alk -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aZN -aZM -aZM -aZM -beH -cNm -bgF -bfr -bij -biV -biV -biV -biV -biV -bij -dzY -dAg -bsG -btZ -bvK -bwS -bxY -bza -bAd -bBv -bCr -bDy -bED -bFS -bHC -bJc -bKg -bLk -bDA -bNL -brm -cQN -cNA -beI -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -cbU -cbU -cbV -cbV -cbV -cbV -cbV -cdU -ces -ceR -ceR -cfT -cet -ceQ -chK -ceQ -ceQ -ceQ -ckx -ceQ -ceQ -ceQ -chK -cFR -cdT -cbV -cbV -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -cbV -cBe -cBz -cBI -cBU -cBU -cCr -cCC -cmf -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(210,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aqU -aoA -aoA -aoA -arf -arf -aoA -auf -arf -aoA -aoA -aoA -aaa -any -aCp -aDH -any -aGA -aCm -aov -cLX -any -dgv -dgv -dfM -dfN -dgw -aQI -cHW -cLk -dfO -alc -alc -dfO -dgw -aVH -dfN -amI -amI -amI -amI -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZM -beG -bft -bgG -bhv -bij -biW -biW -biW -biW -bnl -bok -bpL -dAh -bsF -btZ -bvK -bwT -ziw -bxZ -bAe -bBw -bCs -bDz -bEE -bFT -bHD -bJd -bKh -bLl -bMO -bNM -bOR -bPZ -dzo -beH -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbV -cbV -cbU -cbU -cbU -cbV -cbV -cbV -cbV -cdT -cet -cet -cdT -cfU -cdT -chj -cFM -cet -cet -cet -cdT -chj -cFM -chj -cdT -cdT -cdT -cbV -cbV -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -cbU -cbV -cBe -cBJ -cBV -cBe -cmf -cCD -cmf -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(211,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cTm -aaa -akx -akx -akx -any -aoz -aoz -aoz -arg -asa -aoz -asa -arg -aoz -aoz -aoz -aoz -any -aCo -aDH -any -aGB -aCm -aov -aJD -any -dgv -dgv -dfM -dfO -dgU -dgX -dhl -dfO -dfN -amI -dgv -dfN -dgw -dfN -dgv -amI -amI -alc -amI -amI -amI -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZO -beG -cNn -bgF -cNN -bik -biX -bjV -bjV -blP -bjV -bom -bog -brb -bsG -bub -bvK -bwU -cPv -bzb -bya -cPH -bCt -bDA -bEF -bFU -bHE -bJe -bFU -bLm -cFA -cQy -bGa -cQN -bJj -beI -aZM -aZM -aZM -aZM -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -cbV -cbV -cbV -cbV -cbU -cbU -cbU -cfp -cfV -cfp -cfV -cfp -cbU -cbU -cbU -cfp -cfV -cfp -cfV -cfp -cbU -cbU -cbV -cbV -cbU -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cbU -cBe -cBe -cBe -cBe -abC -cCE -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(212,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cTn -cTp -cTp -cTp -cTp -anw -aoy -aov -aoz -arh -arh -aoz -arh -arh -aoz -axl -ayO -aAi -any -aCn -aDH -any -aGC -aHt -aIA -aJE -aGC -dgv -dgv -dfO -dgN -dgV -dgw -dgw -dhp -dfO -amI -dfN -dhJ -dgw -dfO -amI -amI -amI -alc -amI -amI -amI -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZO -beF -bfw -bjZ -bhw -bij -biY -bjW -bkQ -blQ -biY -bij -bpN -brc -bsH -buc -bvK -bwV -byb -bzc -bAf -bBx -bCu -cFv -bEG -bFV -bEG -bJf -bFV -cKm -bDA -beG -cQJ -bPT -brm -beG -aZM -aZO -aZO -aZO -aZO -aZM -aZN -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -cbW -cbV -cbV -cbV -cbU -cbU -cbU -cbU -cfp -cfV -cfp -cfV -cfp -cbU -cbU -cbU -cfp -cfV -cfp -cfV -cfp -cbU -cbU -cbV -cbV -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cbV -cbV -cbW -cbV -aaa -abC -cCE -abC -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(213,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cTo -akx -akx -akx -alc -anx -aoB -aov -aoz -arg -arg -aoz -arg -arg -aoz -aov -aov -aAd -any -aCs -aDH -aEZ -aGD -aHu -aIB -aJF -aGC -dgv -dgv -dgv -dgO -dgV -aVH -dfO -dfM -dfO -dgv -dgv -dhJ -dhJ -dgv -amI -alc -alc -alc -amI -amI -amI -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZO -beF -bfx -bgH -beH -bij -bij -bij -cOI -blR -cOI -cOI -bpO -dAi -bsI -dAi -bvL -cPp -biO -biN -biN -cPI -biN -bDA -bEH -bFW -TiY -bEH -bEH -bEH -bDA -beG -bGa -cQN -bsS -beH -aZM -aZO -aZO -aZO -aZO -aZM -aZM -aZM -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbV -cbU -cbU -cbU -aaa -aaa -cfp -cfV -cfp -cfV -cfp -cbU -cbU -cbU -cfp -cfV -cfp -cfV -cfp -aaa -aaa -cbU -cbU -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cbU -abC -aaa -aaa -abC -cCF -bXd -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(214,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -alc -alc -any -aoC -aov -aov -aov -asb -ata -aox -aox -aox -aox -ayP -aox -aBp -aCt -aDH -aFa -aGD -aHv -aIC -aJG -aGC -dfM -dgv -dgv -dfZ -cHS -dfN -dfM -dfO -dfN -dfO -aUR -afw -dfN -dfO -dfO -dfN -alc -alc -alc -alc -alc -akx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZO -beI -bft -bgF -beH -beG -beG -beG -bil -blV -bjX -dzU -bil -brd -bsL -bue -bil -bmW -cPw -bkH -bAg -cPJ -cPN -bDA -cKi -bEH -bEH -cKi -bFW -cKi -bDA -beG -bGa -bPR -bfr -cQS -aZM -aZO -aZO -aZO -aZO -aZO -aZO -aZM -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cbU -aaa -aaa -aaa -cfp -cfV -cfp -cfV -cfp -cbU -aaa -aaa -cfp -cfV -cfp -cfV -cfp -aaa -aaa -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -abC -aaa -aaa -abC -abC -cCE -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(215,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -alc -alc -any -aoD -aps -aps -ari -ari -cGi -ari -ari -aps -aps -ayQ -aps -aBq -aCu -aDJ -aFb -aGD -aHw -TTr -aJH -aGC -dfM -dfN -dfN -dgP -dgW -dgs -dfN -dgw -dgw -dgw -dgn -dhK -avN -dhu -dhR -dfO -dfN -dfO -dfN -akx -akx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZO -beH -bfr -bgF -beI -beF -beF -beF -bil -cOP -dzL -cPf -bil -bre -dCL -dAA -bil -bmW -bkH -bkH -ula -cPJ -cPO -bDA -cKj -bEH -bEH -bEH -bEH -bEH -bDA -beF -bLo -bPR -cQQ -beH -aZM -aZM -aZO -aZO -aZO -aZO -aZO -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdT -cfU -cdT -chk -cdT -aaa -aaa -aaa -cdT -chk -cdT -chk -cdT -aaa -aaa -aaa -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(216,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -alc -alc -alc -any -aoE -aov -aov -arj -arj -aov -arj -arj -aov -axm -ayR -aov -aBo -aov -aDC -aFc -aGD -aHw -aIC -aJI -aGC -aGC -aMr -dfO -dgs -dgW -dgw -dhm -dgw -dgw -dfP -dgw -afb -dfN -dgn -dgw -dfO -dgw -dgw -dhZ -akx -akx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZM -aZM -beH -bNN -cNz -beI -beI -beF -beF -bil -cOQ -cPb -dCD -bil -brf -dCM -dAA -bil -bmW -cPw -cPz -cPw -cPK -cPw -bDA -bDA -bEH -cKl -bEH -bEH -bDA -bDA -bhu -bMR -cQN -bft -beH -beG -aZM -aZM -aZM -aZM -aZO -aZO -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cdr -cdr -cdr -cdr -cdr -cdr -cfW -cdr -chl -cdr -cFp -cFp -cFp -cdr -cla -cdr -cla -cdr -cFp -cFp -cdr -cdr -cds -cds -cds -cds -cds -cdr -cdr -cdr -cdr -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(217,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -alc -alc -any -aoF -aoF -aqp -ark -asc -atb -aug -cLb -apq -axn -ayS -aAj -aBn -aCv -aDK -aFd -aGD -aHx -aID -aJJ -cHq -cHw -cHA -aNw -cHM -dgX -dfO -dfN -dfN -dfN -dgv -dfO -dfN -dfO -dgw -aVG -dgw -dgw -dgw -dhZ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZM -beI -bfr -bgI -bhx -beH -beF -beF -bil -cOR -dzM -cPg -bil -brg -bsK -buf -bil -cPq -bkH -bkH -bkH -bkH -bkH -biN -bDA -bDA -bDA -bDA -bDA -bDA -cQq -bft -bLo -bPR -bft -bft -beI -beI -beH -beI -aZO -aZM -aZM -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cdr -cdr -cdr -cdr -ceS -dap -dap -cfq -cfr -cdr -dal -cgy -cds -cds -cds -cgy -dal -daX -dal -cgy -cdr -cdr -cgy -dbk -dbk -dbw -dbw -dbk -dbk -cdr -dbQ -dbW -cgy -cdr -cdr -cFp -cFp -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -abC -cCE -abC -abC -cCj -cEb -cCj -aaa -aaa -aaa -aaa -aaa -aac -aac -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(218,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -amP -amP -aoG -aoG -aqq -amP -amP -amP -amP -amP -amP -amP -ayT -amP -amP -any -any -any -aGC -aGC -aGC -aGC -aGC -aGC -dgy -dgm -aoU -cMg -dfO -alc -amI -amI -amI -alc -alc -dfO -dgw -aVH -dfN -aWq -dgw -dhZ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZM -aZO -beF -bft -bfr -cNO -beH -beF -beF -bil -cOS -blT -cPh -dzZ -dCH -dAv -bug -bil -cPr -bkH -bkH -bkH -bkH -cPw -biN -bfw -bft -bHF -bfs -cOg -bft -bMP -bNO -bOS -bQa -bft -bfv -bfw -bft -bTN -beH -aZO -aZM -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cdV -cfr -cfr -cfr -cfr -cdr -dal -daQ -dal -dal -dal -daQ -dal -dal -dal -daQ -cot -cot -dbc -dai -dai -dai -dai -dai -dai -cds -dbR -dbX -dce -cgy -cdr -cdr -cdr -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -cCj -cCS -cCj -cCj -cCG -cEc -cCj -aaa -aaa -aaa -aaa -aab -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(219,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -amP -anz -aoH -apt -aqr -aoI -amP -atc -atc -avo -awv -axo -ayU -aAk -amP -dfM -dfO -dfN -dfM -dfM -aIE -dgm -dgr -dgm -aMs -dgG -dgd -dfN -dgv -alc -amI -amI -amI -amI -alc -dfO -dhP -aVI -dfO -dhX -dhY -dhZ -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aZM -aZM -aZO -beF -beG -bfr -cNz -beH -beI -beH -bil -bnr -dzN -cPi -blS -dAj -dCN -buh -bil -cPs -cPx -cPA -cPB -cPB -cPB -cPQ -bEI -bim -bim -bim -bim -iuy -bMQ -cQz -bNP -bQb -bim -bjc -bft -bft -beH -beH -beI -abC -abC -abC -abC -abC -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cdr -ceS -daq -dau -cfr -dau -cdr -daj -dal -dal -daj -daj -daj -daj -daj -daj -daj -dal -dal -daj -daj -daj -daj -daj -daj -dal -cds -dbR -dal -dbX -dcg -cdr -cpn -cqg -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -cCj -cCT -cCG -cDA -cDL -cEd -cCj -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(220,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -amP -anA -aoI -apu -aqs -arl -asd -atd -auh -auh -auh -avp -ayV -avp -amP -cLk -dfP -dfV -dfX -dgc -aoU -dgn -dgs -dgw -aMt -dfO -dfM -dgv -amI -alc -amI -amI -amI -amI -alc -dfN -dfN -dfN -dfN -dfN -dfN -dfN -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aZN -aZM -aZO -aZO -beG -cNA -cNz -beI -biZ -biZ -bil -dzE -dzO -boo -blS -brh -dCO -dAz -bil -bil -bil -bil -biN -biN -biN -biN -bjZ -cNn -beH -beI -bft -onJ -bLo -bft -bka -bft -beG -bRQ -bim -bim -bTO -bUD -bVe -acI -acI -acI -bXd -abC -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdr -cdr -cdr -cgy -cZo -cZD -cZN -cZo -cdr -cdr -cdr -cds -cfs -cds -cdr -daG -chL -daS -daV -daV -daV -daV -daV -daV -daV -chL -daS -daV -daV -daV -daV -daV -daV -daZ -cdr -dbS -dal -dal -dch -cdr -cpn -cqg -aaa -aaa -aaa -aaa -abC -aaa -aaa -aaa -cCj -cCS -cCG -cDB -cDM -cEe -cCj -aaa -aaa -aaa -aad -aac -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(221,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -amP -anB -aoJ -apv -apv -apv -ase -ate -ate -avq -DHs -ate -ayW -aAl -amP -aCw -dfQ -aoU -dfY -dgd -dgd -aJK -dfM -dfM -dfN -dfM -alc -alc -alc -alc -amI -amI -amI -amI -alc -alc -akx -akx -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZu -aZO -aZM -beG -brm -cNz -beH -bja -bja -bil -cOT -bnm -boo -bjb -bjb -YyX -dAz -dCR -dCU -bwY -bil -beF -beF -beF -bhu -bgF -beI -beH -beH -beI -bPU -bLo -beG -beI -beG -beG -beH -bft -cQX -beH -beI -beI -abC -abC -bWh -bXe -bWh -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cdr -cZd -cZp -cZp -cZO -cdB -cdr -cdW -dar -ceT -ceT -cfX -cdr -daH -chL -daS -daW -daW -daW -daW -daW -daW -daW -chL -daS -daW -daW -daW -daW -daW -daW -chL -cds -dbR -dal -dal -dci -cdr -cpn -cqg -aaa -aaa -aaa -aaa -abC -aaa -aaa -cCj -cCG -cCU -cDi -cCW -cDk -cDD -cCj -aaa -aaa -aaa -aac -aac -aac -aac -aad -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(222,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -alc -amP -anC -aoK -apw -aqt -arm -amP -atf -aui -avp -avp -axp -ayX -aAm -amP -afw -dfR -dfW -dfZ -dge -dfN -dfO -dfM -alc -alc -alc -alc -amI -amI -amI -amI -amI -amI -amI -alc -akx -akx -akx -akx -akx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZu -aZO -aZM -beI -brm -cNP -bfp -cOk -bsS -bil -cOU -bnn -bop -bpR -bri -bsN -bui -blU -bwW -bjY -bil -beF -beI -beH -bft -bgH -beG -beG -beG -beI -CxW -bMR -beF -aZO -aZO -beG -beG -beI -beI -beH -beG -aaa -aaa -aaa -bWh -bXf -bWh -aaa -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZe -cZq -cZp -cZP -cZY -cdr -cdH -ceu -ceT -dax -cfY -cds -daI -chL -daS -daS -daS -daS -daS -daS -daS -daS -chL -daS -daS -daS -daS -daS -daS -daS -chL -dbM -dbR -dal -dal -dcj -cdr -cpn -cqg -aaa -aaa -aaa -aaa -abC -aaa -aaa -cCj -cCH -cCV -cDj -cDC -cDl -cDE -cCj -aaa -aaa -aad -aab -aad -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(223,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -akx -alc -amP -amP -amP -amP -amP -amP -amP -amP -atg -avr -atg -amP -amP -amP -amP -dfN -dfO -dfO -dfM -dfM -dfM -dfM -dfM -alc -alc -alc -alc -amI -amI -amI -amI -amI -amI -amI -alc -alc -akx -akx -akx -akx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZO -aZM -beH -cNB -cNz -beI -bja -bja -bil -dzF -dzP -boq -bpS -bkR -bsO -dAD -bvM -bwX -byd -bil -beG -beI -bfu -bft -bgF -beI -beG -beG -beI -bPU -bGa -beF -aZO -aZO -aZM -aZM -aZM -aZM -aZM -aZM -aaa -aaa -aaa -bWh -bXe -bWz -bWh -bWh -bWh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZf -cZr -cZE -cZG -cZG -cdr -cdX -ceu -ceU -dax -cfZ -cds -daJ -chL -daS -daV -daV -daV -daV -daV -daV -daV -chL -daS -daV -daV -daV -daV -daV -daV -chL -cds -dbT -dbY -dal -dck -cdr -cpn -cqg -aaa -aaa -aaa -aaa -aaP -abC -cCj -cCj -cCI -cCW -cDk -cDD -cCG -cCj -cCj -aaa -aaa -aaa -aad -aaa -aad -aad -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(224,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -akx -alc -alc -alc -alc -alc -alc -alc -akx -akx -atg -auk -avp -avp -atg -akx -akx -alc -alc -amI -amI -amI -alc -alc -alc -alc -amI -amI -amI -amI -amI -amI -amI -amI -alc -alc -alc -alc -alc -alc -alc -akx -akx -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZO -aZM -beG -brm -cNz -beI -cOl -cOl -bil -dzG -dzO -dCE -bov -brj -bsP -dAE -dCS -dCV -bjY -bil -beG -beG -bft -bBy -bBz -beH -beG -beG -beG -YTk -bLq -beF -aZO -aZO -aZM -aZM -aZM -aZM -aZM -aZM -aaa -aaa -aaa -bWh -bXg -bXG -bYj -bYD -bYV -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZg -cZs -cZF -cZG -cZG -cdr -cdY -ceu -das -dax -cfY -cds -daK -chL -daS -daW -daW -daW -daW -daW -daW -daW -chL -daS -daW -daW -daW -daW -daW -daW -dbL -cgy -cgy -dbZ -dal -dck -cdr -cpn -cqg -aaa -aaa -aaa -aaa -aaa -aaa -cCk -cCs -cCJ -cCX -cDl -cDE -cCj -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(225,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -alk -akx -alk -alc -alc -alc -alc -aaa -akx -atg -aul -avp -aww -atg -aaa -akx -akx -alc -amI -amI -amI -amI -amI -amI -amI -amI -amI -amI -amI -amI -amI -amI -amI -alc -alc -alc -alc -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZM -aZO -beF -cNA -cNz -beI -beH -beH -bil -cOV -bno -bor -bpT -brk -bsQ -buj -dCT -dCU -bwY -bil -beG -beG -bfs -bgF -DNv -DNv -FWK -FWK -FWK -dmp -rDs -FWK -DNv -aZM -aZM -aZM -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bWh -bXh -bXH -bYk -bWh -bWh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZh -cZt -cZG -cZG -cZG -cdr -dah -das -das -das -daB -cdr -chm -chL -dal -dai -dai -dai -dai -dai -dai -dai -dal -dal -dai -dai -dai -dai -dai -dai -dal -cot -cdr -dca -dal -dcl -cdr -cgy -cgy -aaa -aaa -aaa -aaa -aaa -aaa -cCj -cCj -cCj -cCj -cCj -cCj -cCj -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(226,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -atg -atg -avs -atg -atg -aaa -aaa -akx -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZu -aZM -aZO -beI -bfr -cNz -beH -beI -beG -bil -bil -bnp -bsM -bjb -bil -bil -bil -bil -bil -bil -bil -beG -beI -bft -bgF -DNv -Fov -lGP -qRT -KEd -zdv -GOY -dTM -DNv -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bWh -bXi -bXj -bYl -bWh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZi -cZt -cZG -cZG -cZZ -cdr -cdr -cds -dav -dav -cds -cgy -dai -dal -dal -daj -daj -daj -daj -daj -daj -daj -daY -dal -dbd -dal -dal -dal -dal -dal -dbd -dal -cdr -dcb -dcf -dcm -cdr -cgy -cgy -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(227,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aad -aaa -aaa -aaa -aab -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -asf -asf -asg -avt -asg -asf -asf -aaa -aaa -aaa -aaa -aaa -aaa -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aZM -aZM -aZO -beI -bfr -bgI -bim -bjc -beG -bil -dzH -bnq -dCF -bon -bil -cKe -bil -bvN -bft -byc -beH -beF -beH -bfw -bgF -FWK -fbR -WjU -Uhy -lFc -HKu -xbV -Wgl -DNv -DNv -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bWh -bWz -bXj -bXI -bWz -bWh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZj -cZu -cZH -cZG -cZG -dad -dai -dai -dai -dai -dai -dai -daL -dal -daS -daV -daV -daV -daV -daV -daV -daV -chL -cgy -cdr -dbb -cdr -cdr -cdr -cdr -cdr -dbN -cdr -cdr -cdr -dcn -cgy -cpn -cqg -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(228,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -asf -ath -aum -aum -aun -axq -asf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -alc -alc -alc -alc -alc -amI -alc -alc -alc -amI -alc -alk -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -abC -aZN -aZO -beF -bgJ -bft -bft -bjd -bjc -bil -dzI -dzR -dzW -dzV -cKd -cKf -bil -bgF -bsR -beI -beF -beF -beH -bft -bgF -FWK -GWH -TFw -HMd -MWx -aFK -xov -xQI -EGd -AGf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bWi -bWA -bXk -bWh -bWh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZk -cZv -cZI -cZG -cZG -dad -daj -daj -daj -daj -daj -daj -daj -daR -daS -daW -daW -daW -daW -daW -daW -daW -daZ -cdr -dbe -dbl -dbs -dbx -dbB -dbE -cdr -dbO -dbU -dbU -cdr -dco -dcs -cpn -cqg -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(229,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aaa -aaa -aaa -aaa -aad -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -asg -ati -aun -aum -aun -axr -ayY -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -alc -alc -alc -alc -alc -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aad -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -beG -beH -cNQ -bft -bft -bjZ -bil -dzJ -bns -dAt -bpU -bil -bil -bil -bgH -bfs -beF -beF -beI -beH -bft -bgF -FWK -JtY -Aaw -YZx -FWK -zzP -zzP -zzP -DNv -DNv -abC -abC -abC -abC -abC -abC -abC -abC -bWh -bWh -bWh -bWh -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cds -cZl -cZw -cZx -cZQ -cZY -cdr -cdr -cdr -cdr -cdr -daC -daC -cdr -cgy -daS -daS -daS -daS -daS -daS -daS -daS -chL -dbb -dbf -dbm -dbt -dby -dby -dbF -cdr -dbO -dbO -dcc -cdr -dco -dct -cpn -cqg -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(230,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aab -aab -aab -aab -aad -aac -aac -aad -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -asf -atj -aum -aum -aun -axs -asf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -alc -alc -alc -alc -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aaa -aac -aad -aad -aac -aac -aac -aac -aad -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -beG -beG -bfw -bft -bgF -bil -blW -bnt -bow -dCG -bil -beG -bhu -bvO -cOg -beI -beH -beI -bBy -bim -bDB -DNv -vlV -kfe -Wue -DNv -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cdr -cZm -cZx -cZx -cZR -daa -cdr -dak -dat -daw -day -daD -daD -daM -cdr -daS -daV -daV -daV -daV -daV -daV -daV -chL -cds -dbg -dbn -dbt -dbz -dbC -dbG -cdr -dbO -dbO -dcc -cdr -dcp -dcu -cpn -cqg -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(231,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aab -aac -aac -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -asf -asf -asg -avu -asg -asf -asf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aab -aac -aac -aac -aac -aac -aac -aac -aac -aad -aaa -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZO -aZO -beI -cOg -bft -bgF -bil -dCu -box -bil -bil -bil -beG -bft -bgF -bft -bft -bfs -bft -bgF -bft -beH -DNv -lOB -DNv -DNv -DNv -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cdr -cdr -cdr -cgy -cZy -cZJ -cZS -dab -cdr -dal -dal -dal -daz -dal -dal -daN -cdr -daS -daW -daW -daW -daW -daW -daW -daW -chL -cdr -dbh -dbo -dbu -dbl -dbl -dbH -cdr -dbO -dbO -dcc -cdr -dcq -dcq -cpn -cqg -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(232,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aac -aac -aac -cKA -aac -aac -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aab -aab -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aab -aad -aac -aac -aac -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -beF -beG -bft -bRQ -bim -dCv -boy -bim -cTs -bim -cTt -bim -bvP -Yug -bim -bim -bim -bBz -cPc -beI -DNv -zXV -DNv -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cdr -dak -dat -daw -daz -daE -daE -daO -cdr -daT -dai -dai -dai -dai -dai -dai -dai -dal -cds -dbi -dbp -dbm -dbm -dbm -dbI -cdr -dbO -dbV -dbO -cdr -dcr -dcr -cpn -cqg -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(233,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aab -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aad -aac -aac -aac -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aad -aaa -aad -aad -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -beH -beI -cOx -bft -dCw -dzS -beH -beI -brl -beI -beI -bft -bft -bka -bfs -bft -bft -beI -beI -aaa -aaa -abC -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cdr -cdr -cdr -cdr -cdr -cdr -cdr -dal -dal -dal -daz -dal -dal -daN -cdr -daU -dal -dal -dal -dal -dal -dal -dal -dba -cdr -dbj -dbq -dbm -dbm -dbm -dbJ -cdr -dbN -cdr -dbN -cdr -cdr -cdr -cdr -cdr -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(234,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aac -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aab -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZO -aZO -aZO -beG -beH -beG -dCx -cPj -beH -bpV -brm -bsS -beH -beG -beG -beI -beG -beH -beI -beI -aZM -aaa -aaa -abC -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cdr -cdr -cdr -cdr -dak -dat -daw -daA -daF -daF -daP -cdr -cdr -cds -cds -cds -cds -cds -cds -cds -cdr -cdr -cgy -dbr -dbv -dbA -dbD -dbK -cdr -dbP -cdr -dcd -cdr -cdr -cdr -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(235,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -aZO -aZO -dCy -cPd -beH -beI -brn -beI -beH -beF -aZO -aZM -aZO -aZO -aZO -aZO -aZM -aaa -aaa -abC -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cdr -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cdr -cdr -cds -cds -cds -cdr -cdr -cdr -cdr -cdr -cdr -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(236,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZO -aZO -dCz -bnv -beI -bpW -bro -bpW -beI -aZO -aZO -aZM -aZM -aZM -aZN -aZM -aaa -aaa -aaa -abC -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(237,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -ajR -aaP -abC -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aaa -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aZM -aZM -dCA -bnw -beI -bpX -brp -bpX -beI -aZO -aZM -aZM -aZM -aZM -abC -aaa -aaa -aaP -bGe -aaP -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(238,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -abc -aaP -aaP -aaa -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -dCA -aaa -beI -bpX -brq -bpX -beI -aZO -aaa -aaa -aaa -aaa -abC -aaa -aaP -bCv -abc -aaP -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(239,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -ajS -akD -aaP -aaP -abC -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -dCC -aaa -beI -bpX -brr -bpX -beI -aaa -aaa -aaa -aaa -aaa -abC -aaP -bCv -bEJ -abb -aaP -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(240,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -ajT -akE -all -aaP -aaP -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -brs -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -bCv -bDC -abs -abb -aaP -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -dcv -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(241,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -ajU -akF -abr -abV -amQ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -bBA -abV -abr -abr -bGg -aaP -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(242,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaP -aaP -aaP -aaP -aaP -aaP -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaP -aaP -aaP -aaP -aaP -aaP -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(243,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(244,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(245,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(246,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(247,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(248,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(249,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aac -aac -aac -aad -aad -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(250,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aad -aac -aac -aac -aac -aac -aac -aab -aab -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aag -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(251,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aad -aad -aac -aac -aac -aac -aac -aac -aac -aac -aad -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(252,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aad -aad -aac -aac -aac -aac -aad -aad -aac -aac -aad -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(253,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aac -aac -aac -aac -aad -aad -aac -aac -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(254,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} -(255,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -cFp -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -"} diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 595e4922db..ec76a564d5 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -79656,9 +79656,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "cVW" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cVX" = ( /obj/structure/tank_dispenser/oxygen{ diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 9a982211b4..3e53168c2e 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -3420,6 +3420,10 @@ /obj/effect/baseturf_helper/lava_land/surface, /turf/open/floor/plasteel, /area/mine/production) +"Wz" = ( +/obj/effect/mapping_helpers/planet_z, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) (1,1,1) = {" aa @@ -3676,7 +3680,7 @@ aj aj aj aj -aj +Wz "} (2,1,1) = {" aa diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 9a3b2b9454..207a64fe5d 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -18893,7 +18893,6 @@ }, /obj/structure/cable{ icon_state = "0-2"; - pixel_y = 1; d2 = 2 }, /obj/effect/decal/cleanable/dirt, @@ -21313,14 +21312,14 @@ /obj/machinery/power/smes{ charge = 5e+006 }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, /obj/structure/sign/electricshock{ pixel_y = 32 }, /obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aJo" = ( @@ -21935,35 +21934,25 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "aKu" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /obj/structure/cable{ - d1 = 4; + d1 = 2; d2 = 8; - icon_state = "4-8" + icon_state = "2-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/engine/gravity_generator) "aKv" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/cable/white{ d1 = 1; @@ -21977,17 +21966,17 @@ /area/engine/gravity_generator) "aKw" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, /obj/structure/cable/white{ d1 = 4; d2 = 8; icon_state = "4-8" }, /obj/effect/turf_decal/delivery, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aKx" = ( @@ -22671,6 +22660,11 @@ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aLJ" = ( @@ -22678,6 +22672,11 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aLK" = ( @@ -22693,6 +22692,11 @@ dir = 4 }, /obj/effect/turf_decal/bot, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aLL" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 7f55c286c7..502f7ba293 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -3595,8 +3595,8 @@ /area/security/armory) "aij" = ( /obj/structure/closet/secure_closet/contraband/armory, -/obj/item/book/codex_gigas, /obj/item/poster/random_contraband, +/obj/item/clothing/suit/security/officer/russian, /obj/item/grenade/smokebomb, /turf/open/floor/plasteel/black, /area/security/armory) @@ -4110,7 +4110,11 @@ /area/crew_quarters/heads/hos) "ajt" = ( /obj/structure/table, -/obj/machinery/chem_dispenser/drinks/beer, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, /turf/open/floor/plating, /area/maintenance/department/crew_quarters/dorms) "aju" = ( @@ -4445,10 +4449,7 @@ /turf/open/floor/plasteel/black, /area/crew_quarters/heads/hos) "akf" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/plating, +/turf/open/floor/carpet, /area/maintenance/department/crew_quarters/dorms) "akg" = ( /obj/structure/mineral_door/wood, @@ -4512,12 +4513,6 @@ /obj/machinery/door/airlock/glass{ name = "space-bridge access" }, -/obj/machinery/button/door{ - id = "supplybridge"; - name = "Space Bridge Control"; - pixel_y = 27; - req_access_txt = "0" - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -4564,12 +4559,6 @@ /obj/machinery/door/airlock/glass{ name = "space-bridge access" }, -/obj/machinery/button/door{ - id = "supplybridge"; - name = "Space Bridge Control"; - pixel_y = 27; - req_access_txt = "0" - }, /obj/structure/cable{ d1 = 4; d2 = 8; @@ -4923,12 +4912,7 @@ /turf/open/space/basic, /area/space) "alb" = ( -/obj/structure/table, -/obj/item/lighter, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, +/turf/open/floor/wood, /area/maintenance/department/crew_quarters/dorms) "alc" = ( /obj/structure/table, @@ -7456,9 +7440,7 @@ /area/security/brig) "aqB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, +/turf/open/floor/plasteel/black, /area/security/brig) "aqC" = ( /turf/open/floor/plasteel/black, @@ -7467,9 +7449,7 @@ /obj/machinery/ai_status_display{ pixel_y = 32 }, -/turf/open/floor/plasteel/darkred/side{ - dir = 1 - }, +/turf/open/floor/plasteel/black, /area/security/brig) "aqE" = ( /obj/structure/cable{ @@ -8976,13 +8956,13 @@ /area/security/brig) "atI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/darkred/side, +/turf/open/floor/plasteel/black, /area/security/brig) "atJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, -/turf/open/floor/plasteel/darkred/side, +/turf/open/floor/plasteel/black, /area/security/brig) "atK" = ( /obj/structure/cable{ @@ -20047,6 +20027,7 @@ /obj/structure/chair/wood/normal{ dir = 8 }, +/obj/item/clothing/under/janimaid, /turf/open/floor/wood{ icon_state = "wood-broken" }, @@ -20402,9 +20383,9 @@ /obj/structure/table, /obj/item/book/manual/hydroponics_pod_people, /obj/item/paper/guides/jobs/hydroponics, -/obj/item/reagent_containers/dropper, /obj/item/reagent_containers/glass/bottle/mutagen, /obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics) "aSH" = ( @@ -22960,6 +22941,10 @@ /obj/structure/sign/botany{ pixel_y = 32 }, +/obj/machinery/light{ + dir = 1; + light_color = "#e8eaff" + }, /turf/open/floor/plasteel/green/side{ dir = 1 }, @@ -23326,8 +23311,9 @@ }, /area/hydroponics) "aYQ" = ( -/obj/machinery/light{ - dir = 4 +/obj/structure/sink{ + dir = 4; + pixel_x = 11 }, /turf/open/floor/plasteel, /area/hydroponics) @@ -29196,14 +29182,16 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bmg" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, +/obj/machinery/door/airlock/maintenance{ + name = "Genetics Maintenance"; + req_access_txt = "0"; + req_one_access_txt = "12;45;5;9" + }, /turf/open/floor/plating, /area/maintenance/department/engine) "bmh" = ( @@ -39848,8 +39836,8 @@ }, /area/medical/virology) "bHZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /turf/open/floor/plasteel/whitegreen/corner{ dir = 1 @@ -40425,10 +40413,12 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "bJn" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/machinery/light{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/virology) "bJo" = ( @@ -40927,15 +40917,10 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "bKs" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 8 - }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel/white, /area/medical/virology) "bKt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, /obj/machinery/computer/pandemic, /turf/open/floor/plasteel/white, /area/medical/virology) @@ -41475,7 +41460,7 @@ layer = 3.1 }, /obj/item/stack/sheet/mineral/plasma{ - amount = 1; + amount = 2; layer = 3 }, /turf/open/floor/plasteel/whitegreen/side{ @@ -41950,7 +41935,10 @@ }, /area/medical/virology) "bMK" = ( -/obj/machinery/vending/cigarette, +/obj/item/soap/nanotrasen, +/obj/item/clothing/neck/stethoscope, +/obj/item/gun/syringe, +/obj/structure/table/glass, /turf/open/floor/plasteel/whiteblue/side{ dir = 10 }, @@ -50077,7 +50065,9 @@ /area/chapel/office) "ceF" = ( /obj/structure/filingcabinet, -/turf/open/floor/plasteel/black, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, /area/chapel/office) "ceG" = ( /obj/machinery/suit_storage_unit/standard_unit, @@ -53368,7 +53358,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/darkred/side/telecomms, +/turf/open/floor/plasteel/black/telecomms, /area/tcommsat/server) "cmS" = ( /turf/open/floor/plasteel/whitepurple/side/telecomms, @@ -53380,7 +53370,7 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/whitepurple/side/telecomms, +/turf/open/floor/plasteel/black/telecomms, /area/tcommsat/server) "cmV" = ( /obj/machinery/telecomms/server/presets/security, @@ -54317,6 +54307,7 @@ /area/crew_quarters/kitchen) "cpA" = ( /obj/structure/rack, +/obj/item/reagent_containers/food/snacks/mint, /obj/item/storage/box/drinkingglasses, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) @@ -55197,17 +55188,6 @@ /turf/open/floor/plating/airless, /area/maintenance/department/engine) "csn" = ( -/obj/structure/closet{ - name = "chaplain closet" - }, -/obj/item/clothing/under/rank/chaplain, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/storage/backpack/cultpack, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/clothing/suit/nun, -/obj/item/clothing/head/nun_hood, -/obj/item/clothing/suit/holidaypriest, /obj/item/device/radio/intercom{ dir = 0; name = "Station Intercom (General)"; @@ -55218,7 +55198,10 @@ departmentType = 2; pixel_x = -32 }, -/turf/open/floor/plasteel/black, +/obj/structure/closet/wardrobe/chaplain_black, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, /area/chapel/office) "cso" = ( /obj/structure/table/wood, @@ -55513,7 +55496,9 @@ /obj/machinery/newscaster{ pixel_x = -32 }, -/turf/open/floor/plasteel/black, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, /area/chapel/office) "csZ" = ( /obj/structure/chair/wood/normal{ @@ -56007,7 +55992,8 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 24 }, -/obj/item/storage/bag/plants, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/storage/bag/plants/portaseeder, /turf/open/floor/plasteel/hydrofloor, /area/chapel/main/monastery) "cuv" = ( @@ -58192,6 +58178,206 @@ /obj/structure/ore_box, /turf/open/floor/plating, /area/maintenance/department/engine) +"cBk" = ( +/obj/machinery/vending/boozeomat{ + products = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey = 1, /obj/item/reagent_containers/food/drinks/bottle/absinthe = 1, /obj/item/reagent_containers/food/drinks/bottle/limejuice = 1, /obj/item/reagent_containers/food/drinks/bottle/cream = 1, /obj/item/reagent_containers/food/drinks/soda_cans/tonic = 1, /obj/item/reagent_containers/food/drinks/drinkingglass = 10, /obj/item/reagent_containers/food/drinks/ice = 3, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 6, /obj/item/reagent_containers/food/drinks/flask = 1); + req_access_txt = "0" + }, +/turf/closed/wall, +/area/maintenance/department/crew_quarters/dorms) +"cBl" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/maintenance/department/crew_quarters/dorms) +"cBm" = ( +/obj/item/cigbutt/cigarbutt, +/turf/open/floor/plating{ + burnt = 1; + icon_state = "panelscorched" + }, +/area/maintenance/department/crew_quarters/dorms) +"cBn" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/department/crew_quarters/dorms) +"cBo" = ( +/obj/structure/table, +/obj/item/lighter, +/obj/structure/light_construct/small{ + tag = "icon-bulb-construct-stage1 (WEST)"; + icon_state = "bulb-construct-stage1"; + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/department/crew_quarters/dorms) +"cBp" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/bottle/gin{ + pixel_y = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/crew_quarters/dorms) +"cBq" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/maintenance/department/crew_quarters/dorms) +"cBr" = ( +/obj/structure/chair/comfy, +/turf/open/floor/carpet, +/area/maintenance/department/crew_quarters/dorms) +"cBs" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/maintenance/department/crew_quarters/dorms) +"cBt" = ( +/turf/open/floor/wood, +/area/maintenance/department/crew_quarters/dorms) +"cBu" = ( +/obj/structure/chair/comfy{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/maintenance/department/crew_quarters/dorms) +"cBv" = ( +/obj/item/cigbutt/roach, +/turf/open/floor/carpet, +/area/maintenance/department/crew_quarters/dorms) +"cBw" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/department/crew_quarters/dorms) +"cBx" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "supplybridge"; + name = "Space Bridge Control"; + pixel_y = 27; + req_access_txt = "0" + }, +/turf/open/floor/plating, +/area/maintenance/department/crew_quarters/dorms) +"cBy" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "supplybridge"; + name = "Space Bridge Control"; + pixel_y = 27; + req_access_txt = "0" + }, +/turf/open/floor/plating, +/area/maintenance/department/crew_quarters/dorms) +"cBz" = ( +/turf/open/floor/plating{ + broken = 1; + icon_state = "platingdmg1" + }, +/area/maintenance/department/crew_quarters/dorms) +"cBA" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating{ + burnt = 1; + icon_state = "panelscorched" + }, +/area/maintenance/department/crew_quarters/dorms) +"cBB" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/turf/open/floor/plating{ + broken = 1; + icon_state = "platingdmg3" + }, +/area/maintenance/department/crew_quarters/dorms) +"cBC" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/shuttle/escape) +"cBD" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/shuttle/escape) +"cBE" = ( +/turf/closed/wall, +/area/shuttle/escape) +"cBF" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/space) +"cBG" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/space) +"cBH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/shuttle/escape) +"cBI" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/shuttle/escape) +"cBJ" = ( +/turf/closed/wall, +/area/shuttle/escape) +"cBK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/virology) +"cBL" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance"; + req_access_txt = "0"; + req_one_access_txt = "12;45;5;9" + }, +/turf/open/floor/plating, +/area/maintenance/department/engine) +"cBM" = ( +/obj/structure/sign/securearea{ + desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; + icon_state = "monkey_painting"; + name = "Mr. Deempisi portrait"; + pixel_y = 28 + }, +/turf/open/floor/plasteel/black, +/area/chapel/office) (1,1,1) = {" aaa @@ -69669,7 +69855,7 @@ bZY bZY bZY bZY -crv +cBM csd cdo csB @@ -71922,11 +72108,11 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +bVq +cBF +bVq +cBG +bVq aaa aaa aaa @@ -72179,11 +72365,11 @@ aFT aFT aFS aKs -aFS -aKs -aFS -aFS -aFS +cBC +aOc +aPj +aOc +cBH aaa aaa aaa @@ -72436,11 +72622,11 @@ aNZ aNZ aNZ aMI -aNZ -aMI -aNZ -aVJ -aWD +cBD +aOd +aPk +aQq +cBI aaa aaa aaa @@ -72693,11 +72879,11 @@ aIx aIx aIx aIx -aIx -aIx -aIx -aVJ -aWD +cBE +aOc +aPl +aOc +cBJ aaa aaa aaa @@ -83010,8 +83196,8 @@ bDm bvc bFK bGQ -bHW -bGW +bHX +bJm bKn bKn bKn @@ -83782,7 +83968,7 @@ bEs bEr bGS bHZ -bJm +bGW bKq bKn bKn @@ -84039,7 +84225,7 @@ bEt bFM bGT bIa -bGW +cBK bKr bLC bMH @@ -84231,10 +84417,10 @@ anQ aiR aph ajM -coa +aqC arw asI -cof +aqC auH avI auH @@ -84491,7 +84677,7 @@ ajM aqD arx asJ -cof +aqC auH avJ awS @@ -84745,10 +84931,10 @@ anS aiR api ajM -coa +aqC ary asK -cof +aqC auH avK auH @@ -85002,7 +85188,7 @@ anT aiR aph ajM -coa +aqC arz asL atJ @@ -85383,22 +85569,22 @@ aaa aaa adR adR -clO adR adR adR adR -clO adR adR adR adR -clO adR adR adR adR -clO +adR +adR +adR +adR adR adR aaa @@ -85916,7 +86102,7 @@ cmB cmB cmB cny -clO +adR abI aaa aaa @@ -86167,7 +86353,7 @@ cmL cmR cmV cna -cnf +cmR cnj cmK cnr @@ -86421,10 +86607,10 @@ clG cmD cmJ cmM -cmS +cmK cmW cnb -cng +cmK cnk cmK cns @@ -86612,8 +86798,8 @@ bIh bkh bKz bnH -bML -bjc +boN +cBL bOG bPB bQq @@ -86944,7 +87130,7 @@ cmK cnu cmB abI -clO +adR abI aaa aaa @@ -87449,10 +87635,10 @@ clG cmG cmK cmP -cmS +cmK cmY cnd -cnh +cmK cnn cmK cnw @@ -87709,7 +87895,7 @@ cmQ cmU cmZ cne -cni +cmU cno cmK cnx @@ -87972,7 +88158,7 @@ cmB cmB cmB cnz -clO +adR abI aaa aaa @@ -88467,22 +88653,22 @@ aaa aaa adR adR -clO adR adR adR adR -clO adR adR adR adR -clO adR adR adR adR -clO +adR +adR +adR +adR adR adR aaa @@ -94498,11 +94684,11 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +aiS +aiT +aiS +aiT +aiS aaa aaa aaa @@ -94755,12 +94941,12 @@ aaa aaa aaa aaa -aiS -aiS aiT +cBr +cBs +cBu aiT -aiS -aiS +aaa aaa aaa aaa @@ -94774,13 +94960,13 @@ anX anX anX awd -awd +axi +aaa +aaa aaa aaa -aht aaa aaa -aht aaa aaa aaa @@ -95009,23 +95195,23 @@ aaa aaa aaa aaa -aaa -aaa -abI +aiS +aiS +aiS aiS akf -aju -alP -alP -aiS -aiS -aiT -aiS +akf +cBv aiS aaa aaa aaa aaa +aaa +aaa +aaa +aaa +aaa aht aaa aht @@ -95034,10 +95220,10 @@ aaa aht aaa aaa -aht aaa aaa -aht +aaa +aaa aaa aaa aaa @@ -95266,18 +95452,18 @@ aaa aaa aaa aaa -aaa -aaa +aiT +cBk +aju +cBo +alQ +cBt +cBw aiS aiS -akg +aiT aiS aiS -akg -aiS -anY -apt -aiS aiS aiS aiS @@ -95523,20 +95709,20 @@ aaa aaa aaa aaa -aaa -aaa -aiT -ajt +aiU +ajv aju -alb +ajt alQ -amE +alb +alb aiS -anZ -ajv +anY +apt aiS -ajv -ajv +cBz +alP +cBB apu ale ale @@ -95780,19 +95966,19 @@ aaa aaa aaa aaa -aaa -aaa -aiU +aiT aju akh alc alR amF +alb anm -aoa -ajv ajv ajv +aju +cBA +aiS aiS akn apX @@ -96037,14 +96223,14 @@ aaa aaa aaa aaa -aaa -aaa aiT -ajv -aki -ald +cBl +cBm +cBp alS amG +alb +aiS aiS aiS aiS @@ -96294,16 +96480,16 @@ aaa aaa aaa aaa -aaa -aaa -aiS -ajw aiS aiS +akg aiS aiS +akg +aiS aiS aob +ajv aoD ajv cnX @@ -96551,13 +96737,13 @@ aaa aaa aaa aaa -aaa -aaa -aiS -aiS +aht aiS +cBn +cBq ajv ajv +aiS akj ale ale @@ -96809,13 +96995,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aiS aiS aiT +aiT aiS -akk +aiS +cBx aiS aiS aiS @@ -97071,9 +97257,9 @@ aaa aaa aaa aaa -aiS +aiT akl -aiS +aiT aaa aaa aaa @@ -98613,9 +98799,9 @@ aaa aaa aaa aaa -aiS +aiT akp -aiS +aiT aaa aaa aaa @@ -98870,8 +99056,8 @@ aaa aaa aaa aaa -aiT -akm +aiS +cBy aiS aiS aiS diff --git a/_maps/metastation.json b/_maps/metastation.json index 4b1b63499f..aeed03a353 100644 --- a/_maps/metastation.json +++ b/_maps/metastation.json @@ -3,5 +3,6 @@ "map_path": "map_files/MetaStation", "map_file": "MetaStation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } \ No newline at end of file diff --git a/_maps/omegastation.json b/_maps/omegastation.json index 53fbc24def..0040eac01e 100644 --- a/_maps/omegastation.json +++ b/_maps/omegastation.json @@ -3,5 +3,6 @@ "map_path": "map_files/OmegaStation", "map_file": "OmegaStation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } \ No newline at end of file diff --git a/_maps/pubbystation.json b/_maps/pubbystation.json index 88a2702148..ddfe706280 100644 --- a/_maps/pubbystation.json +++ b/_maps/pubbystation.json @@ -3,5 +3,6 @@ "map_path": "map_files/PubbyStation", "map_file": "PubbyStation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } \ No newline at end of file diff --git a/_maps/runtimestation.json b/_maps/runtimestation.json index 664f6c98e0..7462ee5b73 100644 --- a/_maps/runtimestation.json +++ b/_maps/runtimestation.json @@ -1,7 +1,8 @@ -{ - "map_name": "Runtime Station", - "map_path": "map_files/debug", - "map_file": "runtimestation.dmm", - "minetype": "lavaland", - "transition_config": "default" -} +{ + "map_name": "Runtime Station", + "map_path": "map_files/debug", + "map_file": "runtimestation.dmm", + "minetype": "lavaland", + "transition_config": "default", + "allow_custom_shuttles": "no" +} diff --git a/_maps/shuttles/cargo_birdboat.dmm b/_maps/shuttles/cargo_birdboat.dmm index d892e13726..f05af797d1 100644 --- a/_maps/shuttles/cargo_birdboat.dmm +++ b/_maps/shuttles/cargo_birdboat.dmm @@ -6,16 +6,10 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/supply) "c" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "d" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "e" = ( /obj/machinery/conveyor{ @@ -148,10 +142,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/supply) "t" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "u" = ( /obj/structure/window/reinforced{ @@ -161,10 +152,7 @@ /turf/open/floor/plating/airless, /area/shuttle/supply) "v" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "w" = ( /turf/open/space, diff --git a/_maps/shuttles/cargo_box.dmm b/_maps/shuttles/cargo_box.dmm index 08ae8d8267..a45006d7df 100644 --- a/_maps/shuttles/cargo_box.dmm +++ b/_maps/shuttles/cargo_box.dmm @@ -6,16 +6,10 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/supply) "c" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "d" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "e" = ( /turf/open/floor/mineral/titanium/blue, @@ -81,10 +75,7 @@ /turf/open/floor/plating, /area/shuttle/supply) "k" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "l" = ( /turf/open/floor/mineral/titanium/blue, @@ -97,22 +88,13 @@ }, /area/shuttle/supply) "n" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "o" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "p" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "q" = ( /obj/structure/window/reinforced{ @@ -122,10 +104,7 @@ /turf/open/floor/plating/airless, /area/shuttle/supply) "r" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "s" = ( /turf/open/space, diff --git a/_maps/shuttles/emergency_asteroid.dmm b/_maps/shuttles/emergency_asteroid.dmm index 338b59da1d..457373132c 100644 --- a/_maps/shuttles/emergency_asteroid.dmm +++ b/_maps/shuttles/emergency_asteroid.dmm @@ -20,10 +20,7 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "af" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ag" = ( /turf/open/space, @@ -53,10 +50,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "ak" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/machinery/door/airlock/titanium{ @@ -78,10 +72,7 @@ /turf/open/floor/plating/airless, /area/shuttle/escape) "ao" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ap" = ( /obj/structure/ore_box, @@ -95,19 +86,13 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "as" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "at" = ( /turf/open/floor/mineral/titanium, /area/shuttle/escape) "au" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "av" = ( /obj/structure/chair{ @@ -125,28 +110,20 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "ay" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aB" = ( /turf/open/floor/mineral/titanium, /turf/closed/wall/mineral/titanium/interior, /area/shuttle/escape) "aC" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f11" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aD" = ( /obj/structure/window/shuttle, @@ -218,10 +195,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aO" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aP" = ( /obj/machinery/door/airlock/glass_security{ @@ -367,10 +341,7 @@ /area/shuttle/escape) "bo" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bp" = ( /obj/machinery/computer/crew, @@ -450,16 +421,10 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "bA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bC" = ( /obj/item/device/radio/intercom{ diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index 955af902c0..19b6a85ea9 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -3,17 +3,14 @@ /turf/open/space, /area/space) "ab" = ( -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ac" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/escape) "ad" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ae" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -43,10 +40,7 @@ /turf/open/floor/carpet, /area/shuttle/escape) "aj" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ak" = ( /obj/structure/extinguisher_cabinet{ @@ -117,28 +111,16 @@ /turf/open/floor/carpet, /area/shuttle/escape) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ax" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ay" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( /obj/machinery/door/airlock/glass{ @@ -152,10 +134,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aC" = ( /obj/structure/chair, @@ -258,10 +237,7 @@ /turf/open/floor/plasteel/bar, /area/shuttle/escape) "aQ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aR" = ( /obj/structure/table/wood/bar{ @@ -350,10 +326,7 @@ /turf/open/floor/plasteel/bar, /area/shuttle/escape) "bf" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bg" = ( /obj/machinery/door/airlock/titanium{ @@ -384,10 +357,7 @@ /turf/open/floor/plasteel/bar, /area/shuttle/escape) "bl" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bm" = ( /obj/machinery/door/airlock{ diff --git a/_maps/shuttles/emergency_box.dmm b/_maps/shuttles/emergency_box.dmm index 55900b8ee0..1645d971c2 100644 --- a/_maps/shuttles/emergency_box.dmm +++ b/_maps/shuttles/emergency_box.dmm @@ -10,10 +10,7 @@ /turf/open/floor/plating, /area/shuttle/escape) "ad" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ae" = ( /turf/open/floor/mineral/titanium, @@ -110,22 +107,13 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ax" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ay" = ( /obj/machinery/door/airlock/glass{ @@ -225,16 +213,10 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aN" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aO" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aP" = ( /obj/machinery/door/airlock/titanium{ @@ -306,10 +288,7 @@ /area/shuttle/escape) "aY" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aZ" = ( /obj/machinery/door/airlock/glass{ @@ -318,10 +297,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ba" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bb" = ( /turf/open/floor/mineral/titanium/yellow, @@ -363,10 +339,7 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "bh" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bi" = ( /obj/structure/window/reinforced{ diff --git a/_maps/shuttles/emergency_goon.dmm b/_maps/shuttles/emergency_goon.dmm index 1b41f6ef9b..dad0466b8b 100644 --- a/_maps/shuttles/emergency_goon.dmm +++ b/_maps/shuttles/emergency_goon.dmm @@ -45,20 +45,13 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "i" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall_space"; - dir = 8 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "j" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "k" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "l" = ( /obj/machinery/vending/wallmed, @@ -70,9 +63,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "n" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "o" = ( /turf/open/floor/mineral/titanium/blue, @@ -161,14 +152,10 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "C" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "D" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "E" = ( /obj/machinery/door/airlock/glass{ @@ -227,22 +214,14 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "N" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall_space"; - dir = 4 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "O" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall_floor"; - dir = 8 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "P" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall0" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "Q" = ( /obj/machinery/light, diff --git a/_maps/shuttles/emergency_meta.dmm b/_maps/shuttles/emergency_meta.dmm index cc49763c6b..641ea8d36f 100644 --- a/_maps/shuttles/emergency_meta.dmm +++ b/_maps/shuttles/emergency_meta.dmm @@ -13,10 +13,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ae" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "af" = ( /obj/machinery/door/airlock/titanium{ @@ -42,10 +39,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aj" = ( /turf/open/space, @@ -55,10 +49,7 @@ }, /area/shuttle/escape) "ak" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/structure/table, @@ -246,9 +237,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aD" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aE" = ( /obj/structure/chair{ @@ -293,9 +282,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aM" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aN" = ( /obj/machinery/status_display{ @@ -367,16 +354,10 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aU" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aV" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aW" = ( /obj/machinery/door/airlock/command{ @@ -387,10 +368,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aX" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aY" = ( /obj/machinery/door/airlock/glass_security{ @@ -419,10 +397,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "bc" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bd" = ( /obj/structure/chair{ @@ -502,10 +477,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "br" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bs" = ( /obj/structure/chair{ diff --git a/_maps/shuttles/emergency_mini.dmm b/_maps/shuttles/emergency_mini.dmm index a15cd97ef6..570b600743 100644 --- a/_maps/shuttles/emergency_mini.dmm +++ b/_maps/shuttles/emergency_mini.dmm @@ -195,10 +195,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "F" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /obj/structure/table, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/regular{ diff --git a/_maps/shuttles/emergency_supermatter.dmm b/_maps/shuttles/emergency_supermatter.dmm index ae1bcfe983..5324551cec 100644 --- a/_maps/shuttles/emergency_supermatter.dmm +++ b/_maps/shuttles/emergency_supermatter.dmm @@ -14,10 +14,7 @@ /turf/open/floor/plating, /area/shuttle/escape) "ae" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "af" = ( /turf/closed/wall/mineral/titanium, @@ -44,9 +41,7 @@ /area/shuttle/escape) "ak" = ( /obj/structure/sign/radiation, -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/machinery/shower{ @@ -121,15 +116,10 @@ /turf/closed/wall/mineral/titanium/interior, /area/shuttle/escape) "ay" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aA" = ( /obj/machinery/door/airlock/titanium{ @@ -177,15 +167,11 @@ /turf/open/floor/plating, /area/shuttle/escape) "aG" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aH" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall12" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aI" = ( /obj/structure/sign/radiation, @@ -193,16 +179,10 @@ /area/shuttle/escape) "aJ" = ( /obj/structure/sign/radiation, -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aK" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aL" = ( /obj/machinery/door/airlock/external{ diff --git a/_maps/shuttles/ferry_base.dmm b/_maps/shuttles/ferry_base.dmm index d4447ebe2f..f227228b85 100644 --- a/_maps/shuttles/ferry_base.dmm +++ b/_maps/shuttles/ferry_base.dmm @@ -67,16 +67,11 @@ /obj/structure/shuttle/engine/propulsion{ dir = 4 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "o" = ( /turf/open/floor/plasteel/shuttle, -/turf/closed/wall/mineral/titanium/interior{ - icon_state = "swall_f10" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "p" = ( /obj/structure/closet/crate, @@ -89,10 +84,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/transport) "r" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) (1,1,1) = {" diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index bfecd3aae0..d7880e1164 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -99,10 +99,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/transport) "ax" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "ay" = ( /obj/structure/window/shuttle, @@ -114,10 +111,7 @@ /turf/open/floor/plating, /area/shuttle/transport) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "aB" = ( /obj/structure/grille{ diff --git a/_maps/shuttles/ferry_meat.dmm b/_maps/shuttles/ferry_meat.dmm index e1582807fb..6384f0e057 100644 --- a/_maps/shuttles/ferry_meat.dmm +++ b/_maps/shuttles/ferry_meat.dmm @@ -6,13 +6,13 @@ /obj/structure/shuttle/engine/propulsion{ dir = 4 }, -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "c" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/transport) "d" = ( -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "e" = ( /turf/open/floor/plasteel/freezer, @@ -123,16 +123,11 @@ /obj/structure/shuttle/engine/propulsion{ dir = 4 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "s" = ( /turf/open/floor/plasteel/freezer, -/turf/closed/wall/mineral/titanium/interior{ - icon_state = "swall_f10" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "t" = ( /obj/structure/closet/chefcloset, @@ -156,10 +151,7 @@ /turf/open/floor/plasteel/freezer, /area/shuttle/transport) "x" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) (1,1,1) = {" diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 1c44997198..a52eb6aa36 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -6,10 +6,7 @@ /turf/closed/wall/mineral/titanium/overspace, /area/shuttle/abandoned) "ac" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ad" = ( /obj/machinery/door/airlock/titanium, @@ -30,10 +27,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "ae" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "af" = ( /obj/machinery/door/airlock/titanium, @@ -46,16 +40,10 @@ /turf/open/floor/plating/airless, /area/shuttle/abandoned) "ah" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aj" = ( /turf/open/floor/mineral/titanium, @@ -74,10 +62,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "am" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "an" = ( /obj/structure/shuttle/engine/propulsion{ @@ -99,10 +84,7 @@ /turf/closed/wall/mineral/titanium/interior, /area/shuttle/abandoned) "aq" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ar" = ( /obj/machinery/computer/pod{ @@ -111,18 +93,13 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "as" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "at" = ( /turf/open/floor/plating, /area/shuttle/abandoned) "au" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f13" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "av" = ( /obj/structure/rack, @@ -150,15 +127,10 @@ /turf/open/floor/plating, /area/shuttle/abandoned) "az" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f12" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aB" = ( /obj/structure/shuttle/engine/propulsion/right{ @@ -181,9 +153,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aF" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f14" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aG" = ( /obj/structure/rack, @@ -202,9 +172,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f11" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aJ" = ( /obj/structure/chair{ diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index 8949b3d138..67847a4b9f 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -9,20 +9,14 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ad" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ae" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/abandoned) "af" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ag" = ( /obj/docking_port/mobile{ @@ -58,16 +52,10 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aj" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ak" = ( /obj/structure/shuttle/engine/propulsion/left{ @@ -76,16 +64,10 @@ /turf/open/floor/plating/airless, /area/shuttle/abandoned) "al" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "am" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "an" = ( /obj/structure/toilet{ @@ -122,10 +104,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "ap" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aq" = ( /obj/structure/closet/wardrobe/mixed, @@ -195,9 +174,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aw" = ( /obj/structure/sign/vacuum{ @@ -329,16 +306,10 @@ /turf/open/floor/plating/airless, /area/shuttle/abandoned) "aE" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aF" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aG" = ( /obj/machinery/door/airlock/titanium{ @@ -601,9 +572,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aZ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ba" = ( /obj/effect/decal/cleanable/oil, @@ -645,10 +614,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "be" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bf" = ( /obj/machinery/door/airlock/titanium{ @@ -671,16 +637,10 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bh" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bi" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bj" = ( /obj/machinery/door/airlock/titanium{ @@ -697,10 +657,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "bk" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bl" = ( /obj/machinery/door/airlock/titanium{ @@ -1180,10 +1137,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "cc" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cd" = ( /obj/machinery/vending/snack/random, @@ -1287,10 +1241,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "cp" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cq" = ( /obj/item/storage/bag/plants/portaseeder, diff --git a/_maps/templates/small_shuttle_1.dmm b/_maps/templates/small_shuttle_1.dmm index 8dfe620914..71cd3cdca5 100644 --- a/_maps/templates/small_shuttle_1.dmm +++ b/_maps/templates/small_shuttle_1.dmm @@ -11,9 +11,7 @@ /area/space) "d" = ( /turf/open/space, -/turf/closed/wall/shuttle{ - icon_state = "swall_f10" - }, +/turf/closed/wall/mineral/titanium, /area/space) "e" = ( /turf/closed/wall/mineral/titanium, @@ -28,23 +26,17 @@ /turf/open/floor/mineral/titanium/blue, /area/space) "h" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13" - }, +/turf/closed/wall/mineral/titanium, /area/space) "i" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8" - }, +/turf/closed/wall/mineral/titanium, /area/space) "j" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/mineral/titanium/blue, /area/space) "k" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4" - }, +/turf/closed/wall/mineral/titanium, /area/space) "l" = ( /obj/structure/chair{ @@ -64,9 +56,7 @@ /area/space) "o" = ( /turf/open/space, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5" - }, +/turf/closed/wall/mineral/titanium, /area/space) "p" = ( /obj/structure/shuttle/engine/propulsion/left, @@ -81,10 +71,7 @@ /turf/open/floor/plating/airless, /area/space) "s" = ( -/turf/open/space, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9" - }, +/turf/closed/wall/mineral/titanium, /area/space) (1,1,1) = {" diff --git a/citadel/tools/merge-upstream-pull-request.sh b/citadel/tools/merge-upstream-pull-request.sh new file mode 100755 index 0000000000..1e3408dea3 --- /dev/null +++ b/citadel/tools/merge-upstream-pull-request.sh @@ -0,0 +1,110 @@ +#!/usr/bin/env bash +source ~/.discordauth + +# ~/.discordauth contains: +# CHANNELID=x +# TOKEN=x +# CHANNELID being the Discord Channel ID +# TOKEN being the bot token + +set -u # don't expand unbound variable +set -f # disable pathname expansion +set -C # noclobber + +readonly BASE_BRANCH_NAME="upstream-merge-" +readonly BASE_PULL_URL="https://api.github.com/repos/tgstation/tgstation/pulls" + +# Ensure the current directory is a git directory +if [ ! -d .git ]; then + echo "Error: must run this script from the root of a git repository" + exit 1 +fi + +# Ensure all given parameters exist +if [ $# -eq 0 ]; then + echo "Error: No arguments have been given, the first argument needs to be a pull ID, the second argument needs to be the commit message" + exit 1 +fi + +# Ensure curl exists and is available in the current context +type curl >/dev/null 2>&1 || { echo >&2 "Error: This script requires curl, please ensure curl is installed and exists in the current PATH"; exit 1; } + +# Ensure jq exists and is available in the current context +type jq >/dev/null 2>&1 || { echo >&2 "Error: This script requires jq, please ensure jq is installed and exists in the current PATH"; exit 1; } + +containsElement () { + local e match="$1" + shift + for e; do [[ "$e" == "$match" ]] && return 0; done + return 1 +} + +# Make sure we have our upstream remote +if ! git remote | grep tgstation > /dev/null; then + git remote add tgstation https://github.com/tgstation/tgstation.git +fi + +curl -v \ +-H "Authorization: Bot $TOKEN" \ +-H "User-Agent: myBotThing (http://some.url, v0.1)" \ +-H "Content-Type: application/json" \ +-X POST \ +-d "{\"content\":\"Mirroring [$1] from /tg/ to Hippie\"}" \ +https://discordapp.com/api/channels/$CHANNELID/messages + +# We need to make sure we are always on a clean master when creating the new branch. +# So we forcefully reset, clean and then checkout the master branch +git fetch --all +git checkout master +git reset --hard origin/master +git clean -f + +# Remove the other branches +git branch | grep -v "master" | xargs git branch -D + +# Create a new branch +git checkout -b "$BASE_BRANCH_NAME$1" + +# Grab the SHA of the merge commit +readonly MERGE_SHA=$(curl --silent "$BASE_PULL_URL/$1" | jq '.merge_commit_sha' -r) + +# Get the commits +readonly COMMITS=$(curl --silent "$BASE_PULL_URL/$1/commits" | jq '.[].sha' -r) + +# Cherry pick onto the new branch +echo "Cherry picking onto branch" +CHERRY_PICK_OUTPUT=$(git cherry-pick -m 1 "$MERGE_SHA" 2>&1) +echo "$CHERRY_PICK_OUTPUT" + +# If it's a squash commit, you can't use -m 1, you need to remove it +# You also can't use -m 1 if it's a rebase and merge... +if echo "$CHERRY_PICK_OUTPUT" | grep -i 'error: mainline was specified but commit'; then + echo "Commit was a squash, retrying" + if containsElement "$MERGE_SHA" "${COMMITS[@]}"; then + for commit in $COMMITS; do + echo "Cherry-picking: $commit" + git cherry-pick "$commit" + # Add all files onto this branch + git add -A . + git cherry-pick --continue + done + else + echo "Cherry-picking: $MERGE_SHA" + git cherry-pick "$MERGE_SHA" + # Add all files onto this branch + git add -A . + git cherry-pick --continue + fi +else + # Add all files onto this branch + echo "Adding files to branch:" + git add -A . +fi + +# Commit these changes +echo "Commiting changes" +git commit --allow-empty -m "$2" + +# Push them onto the branch +echo "Pushing changes" +git push -u origin "$BASE_BRANCH_NAME$1" diff --git a/code/__DEFINES/MC.dm b/code/__DEFINES/MC.dm index 846599534d..cbcf2c1dd9 100644 --- a/code/__DEFINES/MC.dm +++ b/code/__DEFINES/MC.dm @@ -1,9 +1,9 @@ -#define MC_TICK_CHECK ( ( world.tick_usage > Master.current_ticklimit || src.state != SS_RUNNING ) ? pause() : 0 ) +#define MC_TICK_CHECK ( ( TICK_USAGE > Master.current_ticklimit || src.state != SS_RUNNING ) ? pause() : 0 ) #define MC_SPLIT_TICK_INIT(phase_count) var/original_tick_limit = Master.current_ticklimit; var/split_tick_phases = ##phase_count #define MC_SPLIT_TICK \ if(split_tick_phases > 1){\ - Master.current_ticklimit = ((original_tick_limit - world.tick_usage) / split_tick_phases) + world.tick_usage;\ + Master.current_ticklimit = ((original_tick_limit - TICK_USAGE) / split_tick_phases) + TICK_USAGE;\ --split_tick_phases;\ } else {\ Master.current_ticklimit = original_tick_limit;\ @@ -22,7 +22,7 @@ #define START_PROCESSING(Processor, Datum) if (!Datum.isprocessing) {Datum.isprocessing = TRUE;Processor.processing += Datum} #define STOP_PROCESSING(Processor, Datum) Datum.isprocessing = FALSE;Processor.processing -= Datum -//SubSystem flags_1 (Please design any new flags_1 so that the default is off, to make adding flags_1 to subsystems easier) +//SubSystem flags (Please design any new flags so that the default is off, to make adding flags to subsystems easier) //subsystem does not initialize. #define SS_NO_INIT 1 diff --git a/code/__DEFINES/_tick.dm b/code/__DEFINES/_tick.dm new file mode 100644 index 0000000000..93ac8ed70d --- /dev/null +++ b/code/__DEFINES/_tick.dm @@ -0,0 +1,10 @@ +#define TICK_LIMIT_RUNNING 80 +#define TICK_LIMIT_TO_RUN 78 +#define TICK_LIMIT_MC 70 +#define TICK_LIMIT_MC_INIT_DEFAULT 98 + +#define TICK_USAGE world.tick_usage //for general usage +#define TICK_USAGE_REAL world.tick_usage //to be used where the result isn't checked + +#define TICK_CHECK ( TICK_USAGE > Master.current_ticklimit ) +#define CHECK_TICK if TICK_CHECK stoplag() diff --git a/code/__DEFINES/logging.dm.rej b/code/__DEFINES/logging.dm.rej deleted file mode 100644 index 6a7a358a9c..0000000000 --- a/code/__DEFINES/logging.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm (rejected hunks) -@@ -9,6 +9,7 @@ - #define INVESTIGATE_SUPERMATTER "supermatter" - #define INVESTIGATE_TELESCI "telesci" - #define INVESTIGATE_WIRES "wires" -+#define INVESTIGATE_HALLUCINATIONS "hallucinations" - - //Individual logging defines - #define INDIVIDUAL_ATTACK_LOG "Attack log" diff --git a/code/__DEFINES/math.dm b/code/__DEFINES/math.dm index 3e781da6cd..534e0d3608 100644 --- a/code/__DEFINES/math.dm +++ b/code/__DEFINES/math.dm @@ -1,25 +1,25 @@ -#define PI 3.1415 -#define SPEED_OF_LIGHT 3e8 //not exact but hey! -#define SPEED_OF_LIGHT_SQ 9e+16 -#define INFINITY 1e31 //closer then enough - -//atmos -#define R_IDEAL_GAS_EQUATION 8.31 //kPa*L/(K*mol) -#define ONE_ATMOSPHERE 101.325 //kPa -#define T0C 273.15 // 0degC -#define T20C 293.15 // 20degC -#define TCMB 2.7 // -270.3degC - -//"fancy" math for calculating time in ms from tick_usage percentage and the length of ticks -//percent_of_tick_used * (ticklag * 100(to convert to ms)) / 100(percent ratio) -//collapsed to percent_of_tick_used * tick_lag -#define TICK_DELTA_TO_MS(percent_of_tick_used) ((percent_of_tick_used) * world.tick_lag) -#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(world.tick_usage-starting_tickusage)) - -#define PERCENT(val) (round(val*100, 0.1)) -#define CLAMP01(x) (Clamp(x, 0, 1)) - -//time of day but automatically adjusts to the server going into the next day within the same round. -//for when you need a reliable time number that doesn't depend on byond time. -#define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK)) -#define MIDNIGHT_ROLLOVER_CHECK ( GLOB.rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : GLOB.midnight_rollovers ) +#define PI 3.1415 +#define SPEED_OF_LIGHT 3e8 //not exact but hey! +#define SPEED_OF_LIGHT_SQ 9e+16 +#define INFINITY 1e31 //closer then enough + +//atmos +#define R_IDEAL_GAS_EQUATION 8.31 //kPa*L/(K*mol) +#define ONE_ATMOSPHERE 101.325 //kPa +#define T0C 273.15 // 0degC +#define T20C 293.15 // 20degC +#define TCMB 2.7 // -270.3degC + +//"fancy" math for calculating time in ms from tick_usage percentage and the length of ticks +//percent_of_tick_used * (ticklag * 100(to convert to ms)) / 100(percent ratio) +//collapsed to percent_of_tick_used * tick_lag +#define TICK_DELTA_TO_MS(percent_of_tick_used) ((percent_of_tick_used) * world.tick_lag) +#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(TICK_USAGE_REAL - starting_tickusage)) + +#define PERCENT(val) (round(val*100, 0.1)) +#define CLAMP01(x) (Clamp(x, 0, 1)) + +//time of day but automatically adjusts to the server going into the next day within the same round. +//for when you need a reliable time number that doesn't depend on byond time. +#define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK)) +#define MIDNIGHT_ROLLOVER_CHECK ( GLOB.rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : GLOB.midnight_rollovers ) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index cca88750b5..6ccebf83b0 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -315,9 +315,16 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define APPEARANCE_CONSIDER_ALPHA ~RESET_ALPHA #define APPEARANCE_LONG_GLIDE LONG_GLIDE -// Consider these images/atoms as part of the UI/HUD -#define APPEARANCE_UI_IGNORE_ALPHA RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|RESET_ALPHA -#define APPEARANCE_UI RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR +#ifndef PIXEL_SCALE +#define PIXEL_SCALE 0 +#if DM_VERSION >= 512 +#error HEY, PIXEL_SCALE probably exists now, remove this gross ass shim. +#endif +#endif + + // Consider these images/atoms as part of the UI/HUD +#define APPEARANCE_UI_IGNORE_ALPHA RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|RESET_ALPHA|PIXEL_SCALE +#define APPEARANCE_UI RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR //Just space #define SPACE_ICON_STATE "[((x + y) ^ ~(x * y) + z) % 25]" diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index f26b750492..b6133df287 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -47,4 +47,22 @@ #define SEC_DEPT_ENGINEERING "Engineering" #define SEC_DEPT_MEDICAL "Medical" #define SEC_DEPT_SCIENCE "Science" -#define SEC_DEPT_SUPPLY "Supply" \ No newline at end of file +#define SEC_DEPT_SUPPLY "Supply" + +// Playtime tracking system, see jobs_exp.dm +#define EXP_TYPE_LIVING "Living" +#define EXP_TYPE_CREW "Crew" +#define EXP_TYPE_COMMAND "Command" +#define EXP_TYPE_ENGINEERING "Engineering" +#define EXP_TYPE_MEDICAL "Medical" +#define EXP_TYPE_SCIENCE "Science" +#define EXP_TYPE_SUPPLY "Supply" +#define EXP_TYPE_SECURITY "Security" +#define EXP_TYPE_SILICON "Silicon" +#define EXP_TYPE_SERVICE "Service" +#define EXP_TYPE_ANTAG "Antag" +#define EXP_TYPE_SPECIAL "Special" +#define EXP_TYPE_GHOST "Ghost" + +//Flags in the players table in the db +#define DB_FLAG_EXEMPT 1 \ No newline at end of file diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index bee6508609..b4fd6719b2 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -53,9 +53,14 @@ #define ENGINE_COEFF_MAX 2 #define ENGINE_DEFAULT_MAXSPEED_ENGINES 5 -//Docking error flags_1 +//Docking error flags #define DOCKING_SUCCESS 0 -#define DOCKING_COMPLETE 1 -#define DOCKING_BLOCKED 2 -#define DOCKING_IMMOBILIZED 4 -#define DOCKING_AREA_EMPTY 8 \ No newline at end of file +#define DOCKING_BLOCKED 1 +#define DOCKING_IMMOBILIZED 2 +#define DOCKING_AREA_EMPTY 4 + + +//Docking turf movements +#define MOVE_TURF 1 +#define MOVE_AREA 2 +#define MOVE_CONTENTS 4 \ No newline at end of file diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 620d8bed10..d3867e5257 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -10,12 +10,13 @@ #define CHANNEL_BICYCLE 1016 //Citadel code -#define CHANNEL_PRED 1018 +#define CHANNEL_PRED 1015 +#define CHANNEL_PREYLOOP 1014 //THIS SHOULD ALWAYS BE THE LOWEST ONE! //KEEP IT UPDATED -#define CHANNEL_HIGHEST_AVAILABLE 1015 +#define CHANNEL_HIGHEST_AVAILABLE 1013 #define CHANNEL_HIGHEST_AVAILABLE 1017 #define SOUND_MINIMUM_PRESSURE 10 diff --git a/code/__DEFINES/tick.dm b/code/__DEFINES/tick.dm deleted file mode 100644 index 4c88fd643e..0000000000 --- a/code/__DEFINES/tick.dm +++ /dev/null @@ -1,7 +0,0 @@ -#define TICK_LIMIT_RUNNING 80 -#define TICK_LIMIT_TO_RUN 78 -#define TICK_LIMIT_MC 70 -#define TICK_LIMIT_MC_INIT_DEFAULT 98 - -#define TICK_CHECK ( world.tick_usage > Master.current_ticklimit ) -#define CHECK_TICK if TICK_CHECK stoplag() diff --git a/code/__DEFINES/voreconstants.dm b/code/__DEFINES/voreconstants.dm index bf6cf2e257..ea4c26d79e 100644 --- a/code/__DEFINES/voreconstants.dm +++ b/code/__DEFINES/voreconstants.dm @@ -2,6 +2,7 @@ #define DM_HOLD "Hold" #define DM_DIGEST "Digest" #define DM_HEAL "Heal" +#define DM_NOISY "Noisy" #define VORE_STRUGGLE_EMOTE_CHANCE 40 diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 05b6aa1a15..cde5e0b4e7 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -97,8 +97,7 @@ WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]CHAT: [text]") /proc/log_sql(text) - if(config.sql_enabled) - WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]SQL: [text]") + WRITE_FILE(GLOB.sql_error_log, "\[[time_stamp()]]SQL: [text]") //This replaces world.log so it displays both in DD and the file /proc/log_world(text) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 849e5a01ee..33189ffcee 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -20,7 +20,7 @@ A non null 'fixed_underlay' list var will skip copying the previous turf appearance and always use the list. If the list is not set properly, the underlay will default to regular floor plating. - To see an example of a diagonal wall, see '/turf/closed/wall/shuttle' and its subtypes. + To see an example of a diagonal wall, see '/turf/closed/wall/mineral/titanium' and its subtypes. */ //Redefinitions of the diagonal directions so they can be stored in one var without conflicts diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 7df96c3da2..60b5d82940 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -72,7 +72,9 @@ return . //Splits the text of a file at seperator and returns them in a list. -/world/proc/file2list(filename, seperator="\n") +/world/proc/file2list(filename, seperator="\n", trim = TRUE) + if (trim) + return splittext(trim(file2text(filename)),seperator) return splittext(file2text(filename),seperator) //Turns a direction into text @@ -551,4 +553,4 @@ return /atom else return /datum - return text2path(copytext(string_type, 1, last_slash)) \ No newline at end of file + return text2path(copytext(string_type, 1, last_slash)) diff --git a/code/__HELPERS/type2type_vr.dm b/code/__HELPERS/type2type_vr.dm index e6df531806..09ea0a158a 100644 --- a/code/__HELPERS/type2type_vr.dm +++ b/code/__HELPERS/type2type_vr.dm @@ -1,5 +1,5 @@ /* -// Contains VOREStation type2type functions +// Contains VOREStation based vore description type2type functions // list2text - takes delimiter and returns text // text2list - takes delimiter, and creates list // diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 918fd0b28c..a05d52087f 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -357,6 +357,17 @@ Turf and target are separate in case you want to teleport some distance from a t var/M = E/(SPEED_OF_LIGHT_SQ) return M +//Takes the value of energy used/produced/ect. +//Returns a text value of that number in W, kW, MW, or GW. +/proc/DisplayPower(var/powerused) + if(powerused < 1000) //Less than a kW + return "[powerused] W" + else if(powerused < 1000000) //Less than a MW + return "[round((powerused * 0.001),0.01)] kW" + else if(powerused < 1000000000) //Less than a GW + return "[round((powerused * 0.000001),0.001)] MW" + return "[round((powerused * 0.000000001),0.0001)] GW" + /proc/key_name(whom, include_link = null, include_name = 1) var/mob/M var/client/C @@ -1230,7 +1241,7 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) //Increases delay as the server gets more overloaded, //as sleeps aren't cheap and sleeping only to wake up and sleep again is wasteful -#define DELTA_CALC max(((max(world.tick_usage, world.cpu) / 100) * max(Master.sleep_delta,1)), 1) +#define DELTA_CALC max(((max(TICK_USAGE, world.cpu) / 100) * max(Master.sleep_delta,1)), 1) /proc/stoplag() if (!Master || !(Master.current_runlevel & RUNLEVELS_DEFAULT)) @@ -1242,7 +1253,7 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) . += round(i*DELTA_CALC) sleep(i*world.tick_lag*DELTA_CALC) i *= 2 - while (world.tick_usage > min(TICK_LIMIT_TO_RUN, Master.current_ticklimit)) + while (TICK_USAGE > min(TICK_LIMIT_TO_RUN, Master.current_ticklimit)) #undef DELTA_CALC @@ -1266,6 +1277,7 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) #define RANDOM_COLOUR (rgb(rand(0,255),rand(0,255),rand(0,255))) #define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE) +#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) #define QDEL_NULL(item) qdel(item); item = null #define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); } #define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE) @@ -1453,3 +1465,7 @@ GLOBAL_PROTECT(valid_HTTPSGet) var/temp = bitfield - ((bitfield>>1)&46811) - ((bitfield>>2)&37449) //0133333 and 0111111 respectively temp = ((temp + (temp>>3))&29127) % 63 //070707 return temp + +//checks if a turf is in the planet z list. +/proc/turf_z_is_planet(turf/T) + return GLOB.z_is_planet["[T.z]"] diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index e477299308..7acb5bf729 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -105,53 +105,17 @@ GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals", GLOBAL_LIST_INIT(guitar_notes, flist("sound/guitar/")) -GLOBAL_LIST_INIT(station_prefixes, list("", "Imperium", "Heretical", "Cuban", - "Psychic", "Elegant", "Common", "Uncommon", "Rare", "Unique", - "Houseruled", "Religious", "Atheist", "Traditional", "Houseruled", - "Mad", "Super", "Ultra", "Secret", "Top Secret", "Deep", "Death", - "Zybourne", "Central", "Main", "Government", "Uoi", "Fat", - "Automated", "Experimental", "Augmented")) +GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt") + "") -GLOBAL_LIST_INIT(station_names, list("", "Stanford", "Dorf", "Alium", - "Prefix", "Clowning", "Aegis", "Ishimura", "Scaredy", "Death-World", - "Mime", "Honk", "Rogue", "MacRagge", "Ultrameens", "Safety", "Paranoia", - "Explosive", "Neckbear", "Donk", "Muppet", "North", "West", "East", - "South", "Slant-ways", "Widdershins", "Rimward", "Expensive", - "Procreatory", "Imperial", "Unidentified", "Immoral", "Carp", "Ork", - "Pete", "Control", "Nettle", "Aspie", "Class", "Crab", "Fist", - "Corrogated","Skeleton","Race", "Fatguy", "Gentleman", "Capitalist", - "Communist", "Bear", "Beard", "Derp", "Space", "Spess", "Star", "Moon", - "System", "Mining", "Neckbeard", "Research", "Supply", "Military", - "Orbital", "Battle", "Science", "Asteroid", "Home", "Production", - "Transport", "Delivery", "Extraplanetary", "Orbital", "Correctional", - "Robot", "Hats", "Pizza")) +GLOBAL_LIST_INIT(station_names, world.file2list("strings/station_names.txt" + "")) -GLOBAL_LIST_INIT(station_suffixes, list("Station", "Frontier", - "Suffix", "Death-trap", "Space-hulk", "Lab", "Hazard","Spess Junk", - "Fishery", "No-Moon", "Tomb", "Crypt", "Hut", "Monkey", "Bomb", - "Trade Post", "Fortress", "Village", "Town", "City", "Edition", "Hive", - "Complex", "Base", "Facility", "Depot", "Outpost", "Installation", - "Drydock", "Observatory", "Array", "Relay", "Monitor", "Platform", - "Construct", "Hangar", "Prison", "Center", "Port", "Waystation", - "Factory", "Waypoint", "Stopover", "Hub", "HQ", "Office", "Object", - "Fortification", "Colony", "Planet-Cracker", "Roost", "Fat Camp", - "Airstrip")) +GLOBAL_LIST_INIT(station_suffixes, world.file2list("strings/station_suffixes.txt")) -GLOBAL_LIST_INIT(greek_letters, list("Alpha", "Beta", "Gamma", "Delta", - "Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu", - "Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", - "Chi", "Psi", "Omega")) +GLOBAL_LIST_INIT(greek_letters, world.file2list("strings/greek_letters.txt")) -GLOBAL_LIST_INIT(phonetic_alphabet, list("Alpha", "Bravo", "Charlie", - "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet", - "Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec", - "Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray", - "Yankee", "Zulu")) +GLOBAL_LIST_INIT(phonetic_alphabet, world.file2list("strings/phonetic_alphabet.txt")) -GLOBAL_LIST_INIT(numbers_as_words, list("One", "Two", "Three", "Four", - "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", - "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", - "Eighteen", "Nineteen")) +GLOBAL_LIST_INIT(numbers_as_words, world.file2list("strings/numbers_as_words.txt")) /proc/generate_number_strings() var/list/L[198] diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 9ad2d6c969..5defb16551 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -35,3 +35,5 @@ GLOBAL_LIST_EMPTY(wire_color_directory) GLOBAL_LIST_EMPTY(wire_name_directory) GLOBAL_LIST_EMPTY(ai_status_displays) + +GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects \ No newline at end of file diff --git a/code/_globalvars/lists/poll_ignore.dm b/code/_globalvars/lists/poll_ignore.dm index fadd68526d..f88c4aab85 100644 --- a/code/_globalvars/lists/poll_ignore.dm +++ b/code/_globalvars/lists/poll_ignore.dm @@ -6,5 +6,6 @@ #define POLL_IGNORE_ALIEN_LARVA "alien_larva" #define POLL_IGNORE_CLOCKWORK_MARAUDER "clockwork_marauder" #define POLL_IGNORE_SYNDICATE "syndicate" +#define POLL_IGNORE_HOLOPARASITE "holoparasite" GLOBAL_LIST_EMPTY(poll_ignore) diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm index 72ca1e9328..5be6a8dbaa 100644 --- a/code/_globalvars/logging.dm +++ b/code/_globalvars/logging.dm @@ -12,6 +12,8 @@ GLOBAL_VAR(round_id) GLOBAL_PROTECT(round_id) GLOBAL_VAR(config_error_log) GLOBAL_PROTECT(config_error_log) +GLOBAL_VAR(sql_error_log) +GLOBAL_PROTECT(sql_error_log) GLOBAL_LIST_EMPTY(bombers) GLOBAL_PROTECT(bombers) diff --git a/code/_onclick/adjacent.dm b/code/_onclick/adjacent.dm index 765e659c32..11ab21d21f 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -25,7 +25,7 @@ * If you are diagonally adjacent, ensure you can pass through at least one of the mutually adjacent square. * Passing through in this case ignores anything with the LETPASSTHROW pass flag, such as tables, racks, and morgue trays. */ -/turf/Adjacent(atom/neighbor, atom/target = null, atom/movable/mover = null) +/turf/Adjacent(atom/neighbor, atom/target = null, atom/movable/mover = null) var/turf/T0 = get_turf(neighbor) if(T0 == src) //same turf @@ -37,7 +37,7 @@ // Non diagonal case if(T0.x == x || T0.y == y) // Check for border blockages - return T0.ClickCross(get_dir(T0,src), border_only = 1, target_atom = target, mover = mover) && src.ClickCross(get_dir(src,T0), border_only = 1, target_atom = target, mover = mover) + return T0.ClickCross(get_dir(T0,src), border_only = 1, target_atom = target, mover = mover) && src.ClickCross(get_dir(src,T0), border_only = 1, target_atom = target, mover = mover) // Diagonal case var/in_dir = get_dir(T0,src) // eg. northwest (1+8) = 9 (00001001) @@ -45,16 +45,16 @@ var/d2 = in_dir&12 // eg. west (1+8)&12 (0000 1100) = 8 (0000 1000) for(var/d in list(d1,d2)) - if(!T0.ClickCross(d, border_only = 1, target_atom = target, mover = mover)) + if(!T0.ClickCross(d, border_only = 1, target_atom = target, mover = mover)) continue // could not leave T0 in that direction var/turf/T1 = get_step(T0,d) - if(!T1 || T1.density) - continue - if(!T1.ClickCross(get_dir(T1,src), border_only = 0, target_atom = target, mover = mover) || !T1.ClickCross(get_dir(T1,T0), border_only = 0, target_atom = target, mover = mover)) + if(!T1 || T1.density) + continue + if(!T1.ClickCross(get_dir(T1,src), border_only = 0, target_atom = target, mover = mover) || !T1.ClickCross(get_dir(T1,T0), border_only = 0, target_atom = target, mover = mover)) continue // couldn't enter or couldn't leave T1 - if(!src.ClickCross(get_dir(src,T1), border_only = 1, target_atom = target, mover = mover)) + if(!src.ClickCross(get_dir(src,T1), border_only = 1, target_atom = target, mover = mover)) continue // could not enter src return 1 // we don't care about our own density @@ -70,7 +70,7 @@ return TRUE if(!isturf(loc)) return FALSE - if(loc.Adjacent(neighbor,target = neighbor, mover = src)) + if(loc.Adjacent(neighbor,target = neighbor, mover = src)) return TRUE return FALSE @@ -85,20 +85,19 @@ /* This checks if you there is uninterrupted airspace between that turf and this one. - This is defined as any dense ON_BORDER_1 object, or any dense object without LETPASSTHROW. + This is defined as any dense ON_BORDER_1 object, or any dense object without LETPASSTHROW. The border_only flag allows you to not objects (for source and destination squares) */ -/turf/proc/ClickCross(target_dir, border_only, target_atom = null, atom/movable/mover = null) +/turf/proc/ClickCross(target_dir, border_only, target_atom = null, atom/movable/mover = null) for(var/obj/O in src) - if((mover && O.CanPass(mover,get_step(src,target_dir))) || (!mover && !O.density)) - continue - if(O == target_atom || (O.pass_flags & LETPASSTHROW)) //check if there's a dense object present on the turf + if((mover && O.CanPass(mover,get_step(src,target_dir))) || (!mover && !O.density)) + continue + if(O == target_atom || O == mover || (O.pass_flags & LETPASSTHROW)) //check if there's a dense object present on the turf continue // LETPASSTHROW is used for anything you can click through (or the firedoor special case, see above) - if( O.flags_1&ON_BORDER_1) // windows are on border, check them first + if( O.flags_1&ON_BORDER_1) // windows are on border, check them first if( O.dir & target_dir || O.dir & (O.dir-1) ) // full tile windows are just diagonals mechanically return 0 //O.dir&(O.dir-1) is false for any cardinal direction, but true for diagonal ones - else if( !border_only ) // dense, not on border, cannot pass over return 0 return 1 diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 4688e348b8..0eeca2eaf7 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -355,7 +355,7 @@ else user.listed_turf = T user.client.statpanel = T.name - return + user.Stat() //responsive ui pls /mob/proc/TurfAdjacent(turf/T) return T.Adjacent(src) diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index 777d52f9ef..e7d5755962 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -1,19 +1,20 @@ -/* - MouseDrop: - - Called on the atom you're dragging. In a lot of circumstances we want to use the - recieving object instead, so that's the default action. This allows you to drag - almost anything into a trash can. -*/ -/atom/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params) - if(!usr || !over) return - if(over == src) - return usr.client.Click(src, src_location, src_control, params) - if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows - - over.MouseDrop_T(src,usr) - return - -// recieve a mousedrop -/atom/proc/MouseDrop_T(atom/dropping, mob/user) - return +/* + MouseDrop: + + Called on the atom you're dragging. In a lot of circumstances we want to use the + recieving object instead, so that's the default action. This allows you to drag + almost anything into a trash can. +*/ +/atom/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params) + if(!usr || !over) + return + if(over == src) + return usr.client.Click(src, src_location, src_control, params) + if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows + + over.MouseDrop_T(src,usr) + return + +// recieve a mousedrop +/atom/proc/MouseDrop_T(atom/dropping, mob/user) + return diff --git a/code/citadel/custom_loadout/custom_items.dm b/code/citadel/custom_loadout/custom_items.dm new file mode 100644 index 0000000000..1da0c7c958 --- /dev/null +++ b/code/citadel/custom_loadout/custom_items.dm @@ -0,0 +1,20 @@ + +//For custom items. + +/obj/item/custom/ceb_soap + name = "Cebutris' Soap" + desc = "A generic bar of soap that doesn't really seem to work right." + gender = PLURAL + icon = 'icons/obj/custom.dmi' + icon_state = "cebu" + w_class = WEIGHT_CLASS_TINY + flags_1 = NOBLUDGEON_1 + +/obj/item/clothing/neck/cloak/inferno + name = "Kiara's Cloak" + desc = "The design on this seems a little too familiar." + icon = 'icons/obj/clothing/cloaks.dmi' + icon_state = "infcloak" + item_state = "infcloak" + w_class = WEIGHT_CLASS_SMALL + body_parts_covered = CHEST|GROIN|LEGS|ARMS \ No newline at end of file diff --git a/code/citadel/custom_loadout/load_to_mob.dm b/code/citadel/custom_loadout/load_to_mob.dm new file mode 100644 index 0000000000..64eec2ba06 --- /dev/null +++ b/code/citadel/custom_loadout/load_to_mob.dm @@ -0,0 +1,61 @@ + +//Proc that does the actual loading of items to mob +/*Itemlists are formatted as +"[typepath]" = number_of_it_to_spawn +*/ + +#define DROP_TO_FLOOR 0 +#define LOADING_TO_HUMAN 1 + +/proc/handle_roundstart_items(mob/living/M, ckey_override, job_override, special_override) + if(!istype(M) || (!M.ckey && !ckey_override) || (!M.mind && (!job_override || !special_override))) + return FALSE + return load_itemlist_to_mob(M, parse_custom_roundstart_items(ckey_override? ckey_override : M.ckey, M.name, job_override? job_override : M.mind.assigned_role, special_override? special_override : M.mind.special_role), TRUE, TRUE, FALSE) + +//Just incase there's extra mob selections in the future..... +/proc/load_itemlist_to_mob(mob/living/L, list/itemlist, drop_on_floor_if_full = TRUE, load_to_all_slots = TRUE, replace_slots = FALSE) + if(!istype(L) || !islist(itemlist)) + return FALSE + var/loading_mode = DROP_TO_FLOOR + var/turf/current_turf = get_turf(L) + if(ishuman(L)) + loading_mode = LOADING_TO_HUMAN + switch(loading_mode) + if(DROP_TO_FLOOR) + for(var/I in itemlist) + var/typepath = text2path(I) + if(!typepath) + continue + for(var/i = 0, i < itemlist[I], i++) + new typepath(current_turf) + return TRUE + if(LOADING_TO_HUMAN) + return load_itemlist_to_human(L, itemlist, drop_on_floor_if_full, load_to_all_slots, replace_slots) + +/proc/load_itemlist_to_human(mob/living/carbon/human/H, list/itemlist, drop_on_floor_if_full = TRUE, load_to_all_slots = TRUE, replace_slots = FALSE) + if(!istype(H) || !islist(itemlist)) + return FALSE + var/turf/T = get_turf(H) + for(var/item in itemlist) + var/path = item + if(!ispath(path)) + path = text2path(path) + if(!path) + continue + var/amount = itemlist[item] + for(var/i in 1 to amount) + var/atom/movable/loaded_atom = new path + if(!istype(loaded_atom)) + QDEL_NULL(loaded_atom) + continue + if(!istype(loaded_atom, /obj/item)) + loaded_atom.forceMove(T) + continue + var/obj/item/loaded = loaded_atom + var/obj/item/storage/S = H.get_item_by_slot(slot_back) + if(istype(S)) + S.handle_item_insertion(loaded, TRUE, H) //Force it into their backpack + continue + if(!H.put_in_hands(loaded)) //They don't have one/somehow that failed, put it in their hands + loaded.forceMove(T) //Guess we're just dumping it on the floor! + return TRUE diff --git a/code/citadel/custom_loadout/read_from_file.dm b/code/citadel/custom_loadout/read_from_file.dm new file mode 100644 index 0000000000..0ed38e8d41 --- /dev/null +++ b/code/citadel/custom_loadout/read_from_file.dm @@ -0,0 +1,71 @@ + +GLOBAL_LIST(custom_item_list) +//Layered list in form of custom_item_list[ckey][job][items][amounts] +//ckey is key, job is specific jobs, or "ALL" for all jobs, items for items, amounts for amount of item. + +//File should be in the format of ckey|exact job name/exact job name/or put ALL instead of any job names|/path/to/item=amount;/path/to/item=amount +//Each ckey should be in a different line +//if there's multiple entries of a single ckey the later ones will add to the earlier definitions. + +/proc/reload_custom_roundstart_items_list(custom_filelist) + if(!custom_filelist) + custom_filelist = "config/custom_roundstart_items.txt" + GLOB.custom_item_list = list() + var/list/file_lines = world.file2list(custom_filelist) + for(var/line in file_lines) + if(length(line) == 0) //Emptyline, no one cares. + continue + if(copytext(line,1,3) == "//") //Commented line, ignore. + continue + var/ckey_str_sep = findtext(line, "|") //Process our stuff.. + var/char_str_sep = findtext(line, "|", ckey_str_sep+1) + var/job_str_sep = findtext(line, "|", char_str_sep+1) + var/item_str_sep = findtext(line, "|", job_str_sep+1) + var/ckey_str = ckey(copytext(line, 1, ckey_str_sep)) + var/char_str = copytext(line, ckey_str_sep+1, char_str_sep) + var/job_str = copytext(line, char_str_sep+1, job_str_sep) + var/item_str = copytext(line, job_str_sep+1, item_str_sep) + if(!ckey_str || !char_str || !job_str || !item_str || !length(ckey_str) || !length(char_str) || !length(job_str) || !length(item_str)) + log_admin("Errored custom_items_whitelist line: [line] - Component/separator missing!") + if(!islist(GLOB.custom_item_list[ckey_str])) + GLOB.custom_item_list[ckey_str] = list() //Initialize list for this ckey if it isn't initialized.. + var/list/characters = splittext(char_str, "/") + for(var/character in characters) + if(!islist(GLOB.custom_item_list[ckey_str][character])) + GLOB.custom_item_list[ckey_str][character] = list() + var/list/jobs = splittext(job_str, "/") + for(var/job in jobs) + for(var/character in characters) + if(!islist(GLOB.custom_item_list[ckey_str][character][job])) + GLOB.custom_item_list[ckey_str][character][job] = list() //Initialize item list for this job of this ckey if not already initialized. + var/list/item_strings = splittext(item_str, ";") //Get item strings in format of /path/to/item=amount + for(var/item_string in item_strings) + var/path_str_sep = findtext(item_string, "=") + var/path = copytext(item_string, 1, path_str_sep) //Path to spawn + var/amount = copytext(item_string, path_str_sep+1) //Amount to spawn + //world << "DEBUG: Item string [item_string] processed" + amount = text2num(amount) + path = text2path(path) + if(!ispath(path) || !isnum(amount)) + log_admin("Errored custom_items_whitelist line: [line] - Path/number for item missing or invalid.") + for(var/character in characters) + for(var/job in jobs) + if(!GLOB.custom_item_list[ckey_str][character][job][path]) //Doesn't exist, make it exist! + GLOB.custom_item_list[ckey_str][character][job][path] = amount + else + GLOB.custom_item_list[ckey_str][character][job][path] += amount //Exists, we want more~ + return GLOB.custom_item_list + +/proc/parse_custom_roundstart_items(ckey, char_name = "ALL", job_name = "ALL", special_role) + var/list/ret = list() + if(GLOB.custom_item_list[ckey]) + for(var/char in GLOB.custom_item_list[ckey]) + if((char_name == char) || (char_name == "ALL") || (char == "ALL")) + for(var/job in GLOB.custom_item_list[ckey][char]) + if((job_name == job) || (job == "ALL") || (job_name == "ALL") || (special_role && (job == special_role))) + for(var/item_path in GLOB.custom_item_list[ckey][char][job]) + if(ret[item_path]) + ret[item_path] += GLOB.custom_item_list[ckey][char][job][item_path] + else + ret[item_path] = GLOB.custom_item_list[ckey][char][job][item_path] + return ret diff --git a/code/citadel/dogborgstuff.dm b/code/citadel/dogborgstuff.dm index 4f3eae0fb7..20f6cfd8c3 100644 --- a/code/citadel/dogborgstuff.dm +++ b/code/citadel/dogborgstuff.dm @@ -23,7 +23,6 @@ attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") w_class = 3 sharpness = IS_SHARP - var/emagged = 0 /obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user) ..() @@ -173,7 +172,6 @@ icon_state = "synthtongue" hitsound = 'sound/effects/attackblob.ogg' cleanspeed = 80 - var/emagged = 0 /obj/item/soap/tongue/New() ..() diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index abf2c1f937..1d853c332b 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -5,6 +5,10 @@ #define SECURITY_HAS_MAINT_ACCESS 2 #define EVERYONE_HAS_MAINT_ACCESS 4 +GLOBAL_VAR_INIT(config_dir, "config/") +GLOBAL_PROTECT(config_dir) + + /datum/configuration/can_vv_get(var_name) var/static/list/banned_gets = list("autoadmin", "autoadmin_rank") if (var_name in banned_gets) @@ -103,6 +107,13 @@ var/use_account_age_for_jobs = 0 //Uses the time they made the account for the job restriction stuff. New player joining alerts should be unaffected. var/see_own_notes = 0 //Can players see their own admin notes (read-only)? Config option in config.txt + var/use_exp_tracking = FALSE + var/use_exp_restrictions_heads = FALSE + var/use_exp_restrictions_heads_hours = 0 + var/use_exp_restrictions_heads_department = FALSE + var/use_exp_restrictions_other = FALSE + var/use_exp_restrictions_admin_bypass = FALSE + //Population cap vars var/soft_popcap = 0 var/hard_popcap = 0 @@ -168,6 +179,7 @@ var/rename_cyborg = 0 var/ooc_during_round = 0 var/emojis = 0 + var/no_credits_round_end = FALSE //Used for modifying movement speed for mobs. //Unversal modifiers @@ -287,17 +299,20 @@ Reload() /datum/configuration/proc/Reload() - load("config/config.txt") - load("config/game_options.txt","game_options") - load("config/policies.txt", "policies") - loadsql("config/dbconfig.txt") + load("config.txt") + load("comms.txt", "comms") + load("game_options.txt","game_options") + load("policies.txt", "policies") + loadsql("dbconfig.txt") + reload_custom_roundstart_items_list() if (maprotation) - loadmaplist("config/maps.txt") + loadmaplist("maps.txt") // apply some settings from config.. GLOB.abandon_allowed = respawn /datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist + filename = "[GLOB.config_dir][filename]" var/list/Lines = world.file2list(filename) for(var/t in Lines) @@ -335,6 +350,18 @@ use_age_restriction_for_jobs = 1 if("use_account_age_for_jobs") use_account_age_for_jobs = 1 + if("use_exp_tracking") + use_exp_tracking = TRUE + if("use_exp_restrictions_heads") + use_exp_restrictions_heads = TRUE + if("use_exp_restrictions_heads_hours") + use_exp_restrictions_heads_hours = text2num(value) + if("use_exp_restrictions_heads_department") + use_exp_restrictions_heads_department = TRUE + if("use_exp_restrictions_other") + use_exp_restrictions_other = TRUE + if("use_exp_restrictions_admin_bypass") + use_exp_restrictions_admin_bypass = TRUE if("lobby_countdown") lobby_countdown = text2num(value) if("round_end_countdown") @@ -443,27 +470,12 @@ fps = text2num(value) if("automute_on") automute_on = 1 - if("comms_key") - global.comms_key = value - if(value != "default_pwd" && length(value) > 6) //It's the default value or less than 6 characters long, warn badmins - global.comms_allowed = 1 - if("cross_server_address") - cross_address = value - if(value != "byond:\\address:port") - cross_allowed = 1 - if("cross_comms_name") - cross_name = value if("panic_server_name") if (value != "\[Put the name here\]") panic_server_name = value if("panic_server_address") if(value != "byond://address:port") panic_address = value - - if("medal_hub_address") - global.medal_hub = value - if("medal_hub_password") - global.medal_pass = value if("show_irc_name") showircname = 1 if("see_own_notes") @@ -548,8 +560,12 @@ if("irc_announce_new_game") irc_announce_new_game = TRUE else - WRITE_FILE(GLOB.config_error_log, "Unknown setting in configuration: '[name]'") - +#if DM_VERSION > 511 +#error Replace the line below with WRITE_FILE(GLOB.config_error_log, "Unknown setting in configuration: '[name]'") +#endif + HandleCommsConfig(name, value) //TODO: Deprecate this eventually + else if(type == "comms") + HandleCommsConfig(name, value) else if(type == "game_options") switch(name) if("damage_multiplier") @@ -566,6 +582,8 @@ ooc_during_round = 1 if("emojis") emojis = 1 + if("no_credits_round_end") + no_credits_round_end = TRUE if("run_delay") run_speed = text2num(value) if("walk_delay") @@ -789,8 +807,27 @@ if(fps <= 0) fps = initial(fps) +/datum/configuration/proc/HandleCommsConfig(name, value) + switch(name) + if("comms_key") + global.comms_key = value + if(value != "default_pwd" && length(value) > 6) //It's the default value or less than 6 characters long, warn badmins + global.comms_allowed = TRUE + if("cross_server_address") + cross_address = value + if(value != "byond:\\address:port") + cross_allowed = TRUE + if("cross_comms_name") + cross_name = value + if("medal_hub_address") + global.medal_hub = value + if("medal_hub_password") + global.medal_pass = value + else + WRITE_FILE(GLOB.config_error_log, "Unknown setting in configuration: '[name]'") /datum/configuration/proc/loadmaplist(filename) + filename = "[GLOB.config_dir][filename]" var/list/Lines = world.file2list(filename) var/datum/map_config/currentmap = null @@ -843,6 +880,7 @@ /datum/configuration/proc/loadsql(filename) + filename = "[GLOB.config_dir][filename]" var/list/Lines = world.file2list(filename) for(var/t in Lines) if(!t) diff --git a/code/controllers/configuration.dm.rej b/code/controllers/configuration.dm.rej new file mode 100644 index 0000000000..5d5c2c5055 --- /dev/null +++ b/code/controllers/configuration.dm.rej @@ -0,0 +1,24 @@ +diff a/code/controllers/configuration.dm b/code/controllers/configuration.dm (rejected hunks) +@@ -337,17 +337,17 @@ + if("use_account_age_for_jobs") + use_account_age_for_jobs = 1 + if("use_exp_tracking") +- use_exp_tracking = 1 ++ use_exp_tracking = TRUE + if("use_exp_restrictions_heads") +- use_exp_restrictions_heads = 1 ++ use_exp_restrictions_heads = TRUE + if("use_exp_restrictions_heads_hours") + use_exp_restrictions_heads_hours = text2num(value) + if("use_exp_restrictions_heads_department") +- use_exp_restrictions_heads_department = 1 ++ use_exp_restrictions_heads_department = TRUE + if("use_exp_restrictions_other") +- use_exp_restrictions_other = 1 ++ use_exp_restrictions_other = TRUE + if("use_exp_restrictions_admin_bypass") +- use_exp_restrictions_admin_bypass = 1 ++ use_exp_restrictions_admin_bypass = TRUE + if("lobby_countdown") + lobby_countdown = text2num(value) + if("round_end_countdown") diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 3625e3e0df..6981748198 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -53,20 +53,24 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/static/restart_clear = 0 var/static/restart_timeout = 0 var/static/restart_count = 0 - + //current tick limit, assigned before running a subsystem. //used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits var/static/current_ticklimit = TICK_LIMIT_RUNNING /datum/controller/master/New() // Highlander-style: there can only be one! Kill off the old and replace it with the new. - subsystems = list() + var/list/_subsystems = list() + subsystems = _subsystems if (Master != src) if (istype(Master)) Recover() qdel(Master) else - init_subtypes(/datum/controller/subsystem, subsystems) + var/list/subsytem_types = subtypesof(/datum/controller/subsystem) + sortTim(subsytem_types, /proc/cmp_subsystem_init) + for(var/I in subsytem_types) + _subsystems += new I Master = src if(!GLOB) @@ -131,7 +135,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new FireHim = TRUE if(3) msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined." - BadBoy.flags_1 |= SS_NO_FIRE + BadBoy.flags |= SS_NO_FIRE if(msg) to_chat(GLOB.admins, "[msg]") log_world(msg) @@ -167,7 +171,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new // Initialize subsystems. current_ticklimit = config.tick_limit_mc_init for (var/datum/controller/subsystem/SS in subsystems) - if (SS.flags_1 & SS_NO_INIT) + if (SS.flags & SS_NO_INIT) continue SS.Initialize(REALTIMEOFDAY) CHECK_TICK @@ -232,13 +236,13 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/timer = world.time for (var/thing in subsystems) var/datum/controller/subsystem/SS = thing - if (SS.flags_1 & SS_NO_FIRE) + if (SS.flags & SS_NO_FIRE) continue SS.queued_time = 0 SS.queue_next = null SS.queue_prev = null SS.state = SS_IDLE - if (SS.flags_1 & SS_TICKER) + if (SS.flags & SS_TICKER) tickersubsystems += SS timer += world.tick_lag * rand(1, 5) SS.next_fire = timer @@ -284,7 +288,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //if there are mutiple sleeping procs running before us hogging the cpu, we have to run later // because sleeps are processed in the order received, so longer sleeps are more likely to run first - if (world.tick_usage > TICK_LIMIT_MC) + if (TICK_USAGE > TICK_LIMIT_MC) sleep_delta += 2 current_ticklimit = TICK_LIMIT_RUNNING * 0.5 sleep(world.tick_lag * (processing + sleep_delta)) @@ -293,7 +297,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new sleep_delta = MC_AVERAGE_FAST(sleep_delta, 0) if (last_run + (world.tick_lag * processing) > world.time) sleep_delta += 1 - if (world.tick_usage > (TICK_LIMIT_MC*0.5)) + if (TICK_USAGE > (TICK_LIMIT_MC*0.5)) sleep_delta += 1 if (make_runtime) @@ -371,7 +375,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new continue if (SS.next_fire > world.time) continue - SS_flags = SS.flags_1 + SS_flags = SS.flags if (SS_flags & SS_NO_FIRE) subsystemstocheck -= SS continue @@ -399,16 +403,16 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //keep running while we have stuff to run and we haven't gone over a tick // this is so subsystems paused eariler can use tick time that later subsystems never used - while (ran && queue_head && world.tick_usage < TICK_LIMIT_MC) + while (ran && queue_head && TICK_USAGE < TICK_LIMIT_MC) ran = FALSE bg_calc = FALSE current_tick_budget = queue_priority_count queue_node = queue_head while (queue_node) - if (ran && world.tick_usage > TICK_LIMIT_RUNNING) + if (ran && TICK_USAGE > TICK_LIMIT_RUNNING) break - queue_node_flags = queue_node.flags_1 + queue_node_flags = queue_node.flags queue_node_priority = queue_node.queued_priority //super special case, subsystems where we can't make them pause mid way through @@ -417,7 +421,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //(unless we haven't even ran anything this tick, since its unlikely they will ever be able run // in those cases, so we just let them run) if (queue_node_flags & SS_NO_TICK_CHECK) - if (queue_node.tick_usage > TICK_LIMIT_RUNNING - world.tick_usage && ran_non_ticker) + if (queue_node.tick_usage > TICK_LIMIT_RUNNING - TICK_USAGE && ran_non_ticker) queue_node.queued_priority += queue_priority_count * 0.10 queue_priority_count -= queue_node_priority queue_priority_count += queue_node.queued_priority @@ -429,7 +433,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new current_tick_budget = queue_priority_count_bg bg_calc = TRUE - tick_remaining = TICK_LIMIT_RUNNING - world.tick_usage + tick_remaining = TICK_LIMIT_RUNNING - TICK_USAGE if (current_tick_budget > 0 && queue_node_priority > 0) tick_precentage = tick_remaining / (current_tick_budget / queue_node_priority) @@ -438,7 +442,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new tick_precentage = max(tick_precentage*0.5, tick_precentage-queue_node.tick_overrun) - current_ticklimit = round(world.tick_usage + tick_precentage) + current_ticklimit = round(TICK_USAGE + tick_precentage) if (!(queue_node_flags & SS_TICKER)) ran_non_ticker = TRUE @@ -449,9 +453,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new queue_node.state = SS_RUNNING - tick_usage = world.tick_usage + tick_usage = TICK_USAGE var/state = queue_node.ignite(queue_node_paused) - tick_usage = world.tick_usage - tick_usage + tick_usage = TICK_USAGE - tick_usage if (state == SS_RUNNING) state = SS_IDLE diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index 0c1f8411fc..eee6945c41 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -6,7 +6,7 @@ var/wait = 20 //time to wait (in deciseconds) between each call to fire(). Must be a positive integer. var/priority = 50 //When mutiple subsystems need to run in the same tick, higher priority subsystems will run first and be given a higher share of the tick before MC_TICK_CHECK triggers a sleep - var/flags_1 = 0 //see MC.dm in __DEFINES Most flags_1 must be set on world start to take full effect. (You can also restart the mc to force them to process again) + var/flags = 0 //see MC.dm in __DEFINES Most flags must be set on world start to take full effect. (You can also restart the mc to force them to process again) //set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later // use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to the list @@ -61,13 +61,13 @@ //fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. //Sleeping in here prevents future fires until returned. /datum/controller/subsystem/proc/fire(resumed = 0) - flags_1 |= SS_NO_FIRE + flags |= SS_NO_FIRE throw EXCEPTION("Subsystem [src]([type]) does not fire() but did not set the SS_NO_FIRE flag. Please add the SS_NO_FIRE flag to any subsystem that doesn't fire so it doesn't get added to the processing list and waste cpu.") /datum/controller/subsystem/Destroy() dequeue() can_fire = 0 - flags_1 |= SS_NO_FIRE + flags |= SS_NO_FIRE Master.subsystems -= src @@ -76,14 +76,14 @@ // (this lets us sort our run order correctly without having to re-sort the entire already sorted list) /datum/controller/subsystem/proc/enqueue() var/SS_priority = priority - var/SS_flags = flags_1 + var/SS_flags = flags var/datum/controller/subsystem/queue_node var/queue_node_priority var/queue_node_flags for (queue_node = Master.queue_head; queue_node; queue_node = queue_node.queue_next) queue_node_priority = queue_node.queued_priority - queue_node_flags = queue_node.flags_1 + queue_node_flags = queue_node.flags if (queue_node_flags & SS_TICKER) if (!(SS_flags & SS_TICKER)) @@ -170,7 +170,7 @@ - if(can_fire && !(SS_NO_FIRE in flags_1)) + if(can_fire && !(SS_NO_FIRE in flags)) msg = "[round(cost,1)]ms|[round(tick_usage,1)]%([round(tick_overrun,1)]%)|[round(ticks,0.1)]\t[msg]" else msg = "OFFLINE\t[msg]" diff --git a/code/controllers/subsystem/acid.dm b/code/controllers/subsystem/acid.dm index e1528f458d..a83afb3923 100644 --- a/code/controllers/subsystem/acid.dm +++ b/code/controllers/subsystem/acid.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(acid) name = "Acid" priority = 40 - flags_1 = SS_NO_INIT|SS_BACKGROUND + flags = SS_NO_INIT|SS_BACKGROUND runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/currentrun = list() diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 48a8d74616..8eb7392db8 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -11,7 +11,7 @@ SUBSYSTEM_DEF(air) init_order = INIT_ORDER_AIR priority = 20 wait = 5 - flags_1 = SS_BACKGROUND + flags = SS_BACKGROUND runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/cost_turfs = 0 @@ -71,65 +71,65 @@ SUBSYSTEM_DEF(air) /datum/controller/subsystem/air/fire(resumed = 0) - var/timer = world.tick_usage + var/timer = TICK_USAGE_REAL if(currentpart == SSAIR_PIPENETS || !resumed) process_pipenets(resumed) - cost_pipenets = MC_AVERAGE(cost_pipenets, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_pipenets = MC_AVERAGE(cost_pipenets, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 currentpart = SSAIR_ATMOSMACHINERY if(currentpart == SSAIR_ATMOSMACHINERY) - timer = world.tick_usage + timer = TICK_USAGE_REAL process_atmos_machinery(resumed) - cost_atmos_machinery = MC_AVERAGE(cost_atmos_machinery, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_atmos_machinery = MC_AVERAGE(cost_atmos_machinery, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 currentpart = SSAIR_ACTIVETURFS if(currentpart == SSAIR_ACTIVETURFS) - timer = world.tick_usage + timer = TICK_USAGE_REAL process_active_turfs(resumed) - cost_turfs = MC_AVERAGE(cost_turfs, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_turfs = MC_AVERAGE(cost_turfs, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 currentpart = SSAIR_EXCITEDGROUPS if(currentpart == SSAIR_EXCITEDGROUPS) - timer = world.tick_usage + timer = TICK_USAGE_REAL process_excited_groups(resumed) - cost_groups = MC_AVERAGE(cost_groups, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_groups = MC_AVERAGE(cost_groups, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 currentpart = SSAIR_HIGHPRESSURE if(currentpart == SSAIR_HIGHPRESSURE) - timer = world.tick_usage + timer = TICK_USAGE_REAL process_high_pressure_delta(resumed) - cost_highpressure = MC_AVERAGE(cost_highpressure, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_highpressure = MC_AVERAGE(cost_highpressure, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 currentpart = SSAIR_HOTSPOTS if(currentpart == SSAIR_HOTSPOTS) - timer = world.tick_usage + timer = TICK_USAGE_REAL process_hotspots(resumed) - cost_hotspots = MC_AVERAGE(cost_hotspots, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_hotspots = MC_AVERAGE(cost_hotspots, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 currentpart = SSAIR_SUPERCONDUCTIVITY if(currentpart == SSAIR_SUPERCONDUCTIVITY) - timer = world.tick_usage + timer = TICK_USAGE_REAL process_super_conductivity(resumed) - cost_superconductivity = MC_AVERAGE(cost_superconductivity, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_superconductivity = MC_AVERAGE(cost_superconductivity, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) if(state != SS_RUNNING) return resumed = 0 diff --git a/code/controllers/subsystem/assets.dm b/code/controllers/subsystem/assets.dm index d4a2407309..fd27c9424f 100644 --- a/code/controllers/subsystem/assets.dm +++ b/code/controllers/subsystem/assets.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(assets) name = "Assets" init_order = INIT_ORDER_ASSETS - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/list/cache = list() var/list/preload = list() diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index b7ac19ad1f..aeadfcf94e 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -6,7 +6,7 @@ SUBSYSTEM_DEF(atoms) name = "Atoms" init_order = INIT_ORDER_ATOMS - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/initialized = INITIALIZATION_INSSATOMS var/old_initialized diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm index 386345a728..32086f52ed 100644 --- a/code/controllers/subsystem/augury.dm +++ b/code/controllers/subsystem/augury.dm @@ -1,6 +1,6 @@ SUBSYSTEM_DEF(augury) name = "Augury" - flags_1 = SS_NO_INIT + flags = SS_NO_INIT runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/watchers = list() diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 7fbbaa8795..301ceeac21 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -1,269 +1,281 @@ -SUBSYSTEM_DEF(blackbox) - name = "Blackbox" - wait = 6000 - flags_1 = SS_NO_TICK_CHECK | SS_NO_INIT - runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME - init_order = INIT_ORDER_BLACKBOX - - var/list/msg_common = list() - var/list/msg_science = list() - var/list/msg_command = list() - var/list/msg_medical = list() - var/list/msg_engineering = list() - var/list/msg_security = list() - var/list/msg_deathsquad = list() - var/list/msg_syndicate = list() - var/list/msg_service = list() - var/list/msg_cargo = list() - var/list/msg_other = list() - - var/list/feedback = list() //list of datum/feedback_variable - - var/sealed = FALSE //time to stop tracking stats? - -//poll population -/datum/controller/subsystem/blackbox/fire() - if(!SSdbcore.Connect()) - return - var/playercount = 0 - for(var/mob/M in GLOB.player_list) - if(M.client) - playercount += 1 - var/admincount = GLOB.admins.len - var/datum/DBQuery/query_record_playercount = SSdbcore.NewQuery("INSERT INTO [format_table_name("legacy_population")] (playercount, admincount, time, server_ip, server_port) VALUES ([playercount], [admincount], '[SQLtime()]', INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]')") - query_record_playercount.Execute() - -/datum/controller/subsystem/blackbox/Recover() - msg_common = SSblackbox.msg_common - msg_science = SSblackbox.msg_science - msg_command = SSblackbox.msg_command - msg_medical = SSblackbox.msg_medical - msg_engineering = SSblackbox.msg_engineering - msg_security = SSblackbox.msg_security - msg_deathsquad = SSblackbox.msg_deathsquad - msg_syndicate = SSblackbox.msg_syndicate - msg_service = SSblackbox.msg_service - msg_cargo = SSblackbox.msg_cargo - msg_other = SSblackbox.msg_other - - feedback = SSblackbox.feedback - - sealed = SSblackbox.sealed - -//no touchie -/datum/controller/subsystem/blackbox/can_vv_get(var_name) - if(var_name == "feedback") - return FALSE - return ..() - -/datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value) - return FALSE - -/datum/controller/subsystem/blackbox/Shutdown() - sealed = FALSE - set_val("ahelp_unresolved", GLOB.ahelp_tickets.active_tickets.len) - - var/pda_msg_amt = 0 - var/rc_msg_amt = 0 - - for (var/obj/machinery/message_server/MS in GLOB.message_servers) - if (MS.pda_msgs.len > pda_msg_amt) - pda_msg_amt = MS.pda_msgs.len - if (MS.rc_msgs.len > rc_msg_amt) - rc_msg_amt = MS.rc_msgs.len - - set_details("radio_usage","") - - add_details("radio_usage","COM-[msg_common.len]") - add_details("radio_usage","SCI-[msg_science.len]") - add_details("radio_usage","HEA-[msg_command.len]") - add_details("radio_usage","MED-[msg_medical.len]") - add_details("radio_usage","ENG-[msg_engineering.len]") - add_details("radio_usage","SEC-[msg_security.len]") - add_details("radio_usage","DTH-[msg_deathsquad.len]") - add_details("radio_usage","SYN-[msg_syndicate.len]") - add_details("radio_usage","SRV-[msg_service.len]") - add_details("radio_usage","CAR-[msg_cargo.len]") - add_details("radio_usage","OTH-[msg_other.len]") - add_details("radio_usage","PDA-[pda_msg_amt]") - add_details("radio_usage","RC-[rc_msg_amt]") - - if (!SSdbcore.Connect()) - return - - var/list/sqlrowlist = list() - - for (var/datum/feedback_variable/FV in feedback) - sqlrowlist += list(list("time" = "Now()", "round_id" = GLOB.round_id, "var_name" = "'[sanitizeSQL(FV.get_variable())]'", "var_value" = FV.get_value(), "details" = "'[sanitizeSQL(FV.get_details())]'")) - - if (!length(sqlrowlist)) - return - - SSdbcore.MassInsert(format_table_name("feedback"), sqlrowlist, ignore_errors = TRUE, delayed = TRUE) - - -/datum/controller/subsystem/blackbox/proc/LogBroadcast(blackbox_msg, freq) - if(sealed) - return - switch(freq) - if(1459) - msg_common += blackbox_msg - if(1351) - msg_science += blackbox_msg - if(1353) - msg_command += blackbox_msg - if(1355) - msg_medical += blackbox_msg - if(1357) - msg_engineering += blackbox_msg - if(1359) - msg_security += blackbox_msg - if(1441) - msg_deathsquad += blackbox_msg - if(1213) - msg_syndicate += blackbox_msg - if(1349) - msg_service += blackbox_msg - if(1347) - msg_cargo += blackbox_msg - else - msg_other += blackbox_msg - -/datum/controller/subsystem/blackbox/proc/find_feedback_datum(variable) - for(var/datum/feedback_variable/FV in feedback) - if(FV.get_variable() == variable) - return FV - - var/datum/feedback_variable/FV = new(variable) - feedback += FV - return FV - -/datum/controller/subsystem/blackbox/proc/set_val(variable, value) - if(sealed) - return - var/datum/feedback_variable/FV = find_feedback_datum(variable) - FV.set_value(value) - -/datum/controller/subsystem/blackbox/proc/inc(variable, value) - if(sealed) - return - var/datum/feedback_variable/FV = find_feedback_datum(variable) - FV.inc(value) - -/datum/controller/subsystem/blackbox/proc/dec(variable,value) - if(sealed) - return - var/datum/feedback_variable/FV = find_feedback_datum(variable) - FV.dec(value) - -/datum/controller/subsystem/blackbox/proc/set_details(variable,details) - if(sealed) - return - var/datum/feedback_variable/FV = find_feedback_datum(variable) - FV.set_details(details) - -/datum/controller/subsystem/blackbox/proc/add_details(variable,details) - if(sealed) - return - var/datum/feedback_variable/FV = find_feedback_datum(variable) - FV.add_details(details) - -/datum/controller/subsystem/blackbox/proc/ReportDeath(mob/living/L) - if(sealed) - return - if(!SSdbcore.Connect()) - return - if(!L || !L.key || !L.mind) - return - var/turf/T = get_turf(L) - var/area/placeofdeath = get_area(T.loc) - var/sqlname = sanitizeSQL(L.real_name) - var/sqlkey = sanitizeSQL(L.ckey) - var/sqljob = sanitizeSQL(L.mind.assigned_role) - var/sqlspecial = sanitizeSQL(L.mind.special_role) - var/sqlpod = sanitizeSQL(placeofdeath.name) - var/laname - var/lakey - if(L.lastattacker && ismob(L.lastattacker)) - var/mob/LA = L.lastattacker - laname = sanitizeSQL(LA.real_name) - lakey = sanitizeSQL(LA.key) - var/sqlbrute = sanitizeSQL(L.getBruteLoss()) - var/sqlfire = sanitizeSQL(L.getFireLoss()) - var/sqlbrain = sanitizeSQL(L.getBrainLoss()) - var/sqloxy = sanitizeSQL(L.getOxyLoss()) - var/sqltox = sanitizeSQL(L.getToxLoss()) - var/sqlclone = sanitizeSQL(L.getCloneLoss()) - var/sqlstamina = sanitizeSQL(L.getStaminaLoss()) - var/x_coord = sanitizeSQL(L.x) - var/y_coord = sanitizeSQL(L.y) - var/z_coord = sanitizeSQL(L.z) - var/map = sanitizeSQL(SSmapping.config.map_name) - var/datum/DBQuery/query_report_death = SSdbcore.NewQuery("INSERT INTO [format_table_name("death")] (pod, x_coord, y_coord, z_coord, mapname, server_ip, server_port, round_id, tod, job, special, name, byondkey, laname, lakey, bruteloss, fireloss, brainloss, oxyloss, toxloss, cloneloss, staminaloss) VALUES ('[sqlpod]', '[x_coord]', '[y_coord]', '[z_coord]', '[map]', INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]', [GLOB.round_id], '[SQLtime()]', '[sqljob]', '[sqlspecial]', '[sqlname]', '[sqlkey]', '[laname]', '[lakey]', [sqlbrute], [sqlfire], [sqlbrain], [sqloxy], [sqltox], [sqlclone], [sqlstamina])") - query_report_death.Execute() - -/datum/controller/subsystem/blackbox/proc/Seal() - if(sealed) - return - if(IsAdminAdvancedProcCall()) - var/msg = "[key_name_admin(usr)] sealed the blackbox!" - message_admins(msg) - log_game("Blackbox sealed[IsAdminAdvancedProcCall() ? " by [key_name(usr)]" : ""].") - sealed = TRUE - -//feedback variable datum, for storing all kinds of data -/datum/feedback_variable - var/variable - var/value - var/details - -/datum/feedback_variable/New(param_variable, param_value = 0) - variable = param_variable - value = param_value - -/datum/feedback_variable/proc/inc(num = 1) - if (isnum(value)) - value += num - else - value = text2num(value) - if (isnum(value)) - value += num - else - value = num - -/datum/feedback_variable/proc/dec(num = 1) - if (isnum(value)) - value -= num - else - value = text2num(value) - if (isnum(value)) - value -= num - else - value = -num - -/datum/feedback_variable/proc/set_value(num) - if (isnum(num)) - value = num - -/datum/feedback_variable/proc/get_value() - if (!isnum(value)) - return 0 - return value - -/datum/feedback_variable/proc/get_variable() - return variable - +SUBSYSTEM_DEF(blackbox) + name = "Blackbox" + wait = 6000 + flags = SS_NO_TICK_CHECK + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + init_order = INIT_ORDER_BLACKBOX + + var/list/msg_common = list() + var/list/msg_science = list() + var/list/msg_command = list() + var/list/msg_medical = list() + var/list/msg_engineering = list() + var/list/msg_security = list() + var/list/msg_deathsquad = list() + var/list/msg_syndicate = list() + var/list/msg_service = list() + var/list/msg_cargo = list() + var/list/msg_other = list() + + var/list/feedback = list() //list of datum/feedback_variable + var/triggertime = 0 + var/sealed = FALSE //time to stop tracking stats? + + +/datum/controller/subsystem/blackbox/Initialize() + triggertime = world.time + . = ..() + +//poll population +/datum/controller/subsystem/blackbox/fire() + if(!SSdbcore.Connect()) + return + var/playercount = 0 + for(var/mob/M in GLOB.player_list) + if(M.client) + playercount += 1 + var/admincount = GLOB.admins.len + var/datum/DBQuery/query_record_playercount = SSdbcore.NewQuery("INSERT INTO [format_table_name("legacy_population")] (playercount, admincount, time, server_ip, server_port, round_id) VALUES ([playercount], [admincount], '[SQLtime()]', INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]', '[GLOB.round_id]')") + query_record_playercount.Execute() + + if(config.use_exp_tracking) + if((triggertime < 0) || (world.time > (triggertime +3000))) //subsystem fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire. The <0 is midnight rollover check + update_exp(10,FALSE) + + +/datum/controller/subsystem/blackbox/Recover() + msg_common = SSblackbox.msg_common + msg_science = SSblackbox.msg_science + msg_command = SSblackbox.msg_command + msg_medical = SSblackbox.msg_medical + msg_engineering = SSblackbox.msg_engineering + msg_security = SSblackbox.msg_security + msg_deathsquad = SSblackbox.msg_deathsquad + msg_syndicate = SSblackbox.msg_syndicate + msg_service = SSblackbox.msg_service + msg_cargo = SSblackbox.msg_cargo + msg_other = SSblackbox.msg_other + + feedback = SSblackbox.feedback + + sealed = SSblackbox.sealed + +//no touchie +/datum/controller/subsystem/blackbox/can_vv_get(var_name) + if(var_name == "feedback") + return FALSE + return ..() + +/datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value) + return FALSE + +/datum/controller/subsystem/blackbox/Shutdown() + sealed = FALSE + set_val("ahelp_unresolved", GLOB.ahelp_tickets.active_tickets.len) + + var/pda_msg_amt = 0 + var/rc_msg_amt = 0 + + for (var/obj/machinery/message_server/MS in GLOB.message_servers) + if (MS.pda_msgs.len > pda_msg_amt) + pda_msg_amt = MS.pda_msgs.len + if (MS.rc_msgs.len > rc_msg_amt) + rc_msg_amt = MS.rc_msgs.len + + set_details("radio_usage","") + + add_details("radio_usage","COM-[msg_common.len]") + add_details("radio_usage","SCI-[msg_science.len]") + add_details("radio_usage","HEA-[msg_command.len]") + add_details("radio_usage","MED-[msg_medical.len]") + add_details("radio_usage","ENG-[msg_engineering.len]") + add_details("radio_usage","SEC-[msg_security.len]") + add_details("radio_usage","DTH-[msg_deathsquad.len]") + add_details("radio_usage","SYN-[msg_syndicate.len]") + add_details("radio_usage","SRV-[msg_service.len]") + add_details("radio_usage","CAR-[msg_cargo.len]") + add_details("radio_usage","OTH-[msg_other.len]") + add_details("radio_usage","PDA-[pda_msg_amt]") + add_details("radio_usage","RC-[rc_msg_amt]") + + if (!SSdbcore.Connect()) + return + + var/list/sqlrowlist = list() + + for (var/datum/feedback_variable/FV in feedback) + sqlrowlist += list(list("time" = "Now()", "round_id" = GLOB.round_id, "var_name" = "'[sanitizeSQL(FV.get_variable())]'", "var_value" = FV.get_value(), "details" = "'[sanitizeSQL(FV.get_details())]'")) + + if (!length(sqlrowlist)) + return + + SSdbcore.MassInsert(format_table_name("feedback"), sqlrowlist, ignore_errors = TRUE, delayed = TRUE) + + +/datum/controller/subsystem/blackbox/proc/LogBroadcast(blackbox_msg, freq) + if(sealed) + return + switch(freq) + if(1459) + msg_common += blackbox_msg + if(1351) + msg_science += blackbox_msg + if(1353) + msg_command += blackbox_msg + if(1355) + msg_medical += blackbox_msg + if(1357) + msg_engineering += blackbox_msg + if(1359) + msg_security += blackbox_msg + if(1441) + msg_deathsquad += blackbox_msg + if(1213) + msg_syndicate += blackbox_msg + if(1349) + msg_service += blackbox_msg + if(1347) + msg_cargo += blackbox_msg + else + msg_other += blackbox_msg + +/datum/controller/subsystem/blackbox/proc/find_feedback_datum(variable) + for(var/datum/feedback_variable/FV in feedback) + if(FV.get_variable() == variable) + return FV + + var/datum/feedback_variable/FV = new(variable) + feedback += FV + return FV + +/datum/controller/subsystem/blackbox/proc/set_val(variable, value) + if(sealed) + return + var/datum/feedback_variable/FV = find_feedback_datum(variable) + FV.set_value(value) + +/datum/controller/subsystem/blackbox/proc/inc(variable, value) + if(sealed) + return + var/datum/feedback_variable/FV = find_feedback_datum(variable) + FV.inc(value) + +/datum/controller/subsystem/blackbox/proc/dec(variable,value) + if(sealed) + return + var/datum/feedback_variable/FV = find_feedback_datum(variable) + FV.dec(value) + +/datum/controller/subsystem/blackbox/proc/set_details(variable,details) + if(sealed) + return + var/datum/feedback_variable/FV = find_feedback_datum(variable) + FV.set_details(details) + +/datum/controller/subsystem/blackbox/proc/add_details(variable,details) + if(sealed) + return + var/datum/feedback_variable/FV = find_feedback_datum(variable) + FV.add_details(details) + +/datum/controller/subsystem/blackbox/proc/ReportDeath(mob/living/L) + if(sealed) + return + if(!SSdbcore.Connect()) + return + if(!L || !L.key || !L.mind) + return + var/turf/T = get_turf(L) + var/area/placeofdeath = get_area(T.loc) + var/sqlname = sanitizeSQL(L.real_name) + var/sqlkey = sanitizeSQL(L.ckey) + var/sqljob = sanitizeSQL(L.mind.assigned_role) + var/sqlspecial = sanitizeSQL(L.mind.special_role) + var/sqlpod = sanitizeSQL(placeofdeath.name) + var/laname + var/lakey + if(L.lastattacker && ismob(L.lastattacker)) + var/mob/LA = L.lastattacker + laname = sanitizeSQL(LA.real_name) + lakey = sanitizeSQL(LA.key) + var/sqlbrute = sanitizeSQL(L.getBruteLoss()) + var/sqlfire = sanitizeSQL(L.getFireLoss()) + var/sqlbrain = sanitizeSQL(L.getBrainLoss()) + var/sqloxy = sanitizeSQL(L.getOxyLoss()) + var/sqltox = sanitizeSQL(L.getToxLoss()) + var/sqlclone = sanitizeSQL(L.getCloneLoss()) + var/sqlstamina = sanitizeSQL(L.getStaminaLoss()) + var/x_coord = sanitizeSQL(L.x) + var/y_coord = sanitizeSQL(L.y) + var/z_coord = sanitizeSQL(L.z) + var/last_words = sanitizeSQL(L.last_words) + var/suicide = sanitizeSQL(L.suiciding) + var/map = sanitizeSQL(SSmapping.config.map_name) + var/datum/DBQuery/query_report_death = SSdbcore.NewQuery("INSERT INTO [format_table_name("death")] (pod, x_coord, y_coord, z_coord, mapname, server_ip, server_port, round_id, tod, job, special, name, byondkey, laname, lakey, bruteloss, fireloss, brainloss, oxyloss, toxloss, cloneloss, staminaloss, last_words, suicide) VALUES ('[sqlpod]', '[x_coord]', '[y_coord]', '[z_coord]', '[map]', INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]', [GLOB.round_id], '[SQLtime()]', '[sqljob]', '[sqlspecial]', '[sqlname]', '[sqlkey]', '[laname]', '[lakey]', [sqlbrute], [sqlfire], [sqlbrain], [sqloxy], [sqltox], [sqlclone], [sqlstamina], '[last_words]', [suicide])") + query_report_death.Execute() + +/datum/controller/subsystem/blackbox/proc/Seal() + if(sealed) + return + if(IsAdminAdvancedProcCall()) + var/msg = "[key_name_admin(usr)] sealed the blackbox!" + message_admins(msg) + log_game("Blackbox sealed[IsAdminAdvancedProcCall() ? " by [key_name(usr)]" : ""].") + sealed = TRUE + +//feedback variable datum, for storing all kinds of data +/datum/feedback_variable + var/variable + var/value + var/list/details + +/datum/feedback_variable/New(param_variable, param_value = 0) + variable = param_variable + value = param_value + +/datum/feedback_variable/proc/inc(num = 1) + if (isnum(value)) + value += num + else + value = text2num(value) + if (isnum(value)) + value += num + else + value = num + +/datum/feedback_variable/proc/dec(num = 1) + if (isnum(value)) + value -= num + else + value = text2num(value) + if (isnum(value)) + value -= num + else + value = -num + +/datum/feedback_variable/proc/set_value(num) + if (isnum(num)) + value = num + +/datum/feedback_variable/proc/get_value() + if (!isnum(value)) + return 0 + return value + +/datum/feedback_variable/proc/get_variable() + return variable + /datum/feedback_variable/proc/set_details(deets) - details = "\"[deets]\"" + details = list("\"[deets]\"") /datum/feedback_variable/proc/add_details(deets) if (!details) set_details(deets) else - details += " | \"[deets]\"" - -/datum/feedback_variable/proc/get_details() - return details - -/datum/feedback_variable/proc/get_parsed() - return list(variable,value,details) \ No newline at end of file + details += "\"[deets]\"" + +/datum/feedback_variable/proc/get_details() + return details.Join(" | ") + +/datum/feedback_variable/proc/get_parsed() + return list(variable,value,details.Join(" | ")) diff --git a/code/controllers/subsystem/blackbox.dm.rej b/code/controllers/subsystem/blackbox.dm.rej new file mode 100644 index 0000000000..5bd713172b --- /dev/null +++ b/code/controllers/subsystem/blackbox.dm.rej @@ -0,0 +1,10 @@ +diff a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm (rejected hunks) +@@ -40,7 +40,7 @@ SUBSYSTEM_DEF(blackbox) + + if(config.use_exp_tracking) + if((triggertime < 0) || (world.time > (triggertime +3000))) //subsystem fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire. The <0 is midnight rollover check +- SSblackbox.update_exp(10,FALSE) ++ update_exp(10,FALSE) + + + /datum/controller/subsystem/blackbox/Recover() diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index d3ad7d1c96..7a8748c20f 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -3,7 +3,7 @@ SUBSYSTEM_DEF(communications) name = "Communications" - flags_1 = SS_NO_INIT | SS_NO_FIRE + flags = SS_NO_INIT | SS_NO_FIRE var/silicon_message_cooldown var/nonsilicon_message_cooldown diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index 35f3d39cd4..864274b8fb 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -1,6 +1,6 @@ SUBSYSTEM_DEF(dbcore) name = "Database" - flags_1 = SS_NO_INIT|SS_NO_FIRE + flags = SS_NO_INIT|SS_NO_FIRE init_order = INIT_ORDER_DBCORE var/const/FAILED_DB_CONNECTION_CUTOFF = 5 @@ -251,7 +251,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table var/table var/position //1-based index into item data var/sql_type - var/flags_1 + var/flags var/length var/max_length //types @@ -275,7 +275,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table table = table_handler position = position_handler sql_type = type_handler - flags_1 = flag_handler + flags = flag_handler length = length_handler max_length = max_length_handler diff --git a/code/controllers/subsystem/disease.dm b/code/controllers/subsystem/disease.dm index 75ff3af534..327ba95196 100644 --- a/code/controllers/subsystem/disease.dm +++ b/code/controllers/subsystem/disease.dm @@ -1,6 +1,6 @@ SUBSYSTEM_DEF(disease) name = "Disease" - flags_1 = SS_NO_FIRE | SS_NO_INIT + flags = SS_NO_FIRE | SS_NO_INIT var/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing. var/list/diseases @@ -14,3 +14,10 @@ SUBSYSTEM_DEF(disease) /datum/controller/subsystem/disease/stat_entry(msg) ..("P:[active_diseases.len]") + +/datum/controller/subsystem/disease/proc/get_disease_name(id) + var/datum/disease/advance/A = archive_diseases[id] + if(A.name) + return A.name + else + return "Unknown" diff --git a/code/controllers/subsystem/explosion.dm b/code/controllers/subsystem/explosion.dm index fcacba2519..1e3a6f8a6e 100644 --- a/code/controllers/subsystem/explosion.dm +++ b/code/controllers/subsystem/explosion.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(explosion) priority = 99 wait = 1 - flags_1 = SS_TICKER|SS_NO_INIT + flags = SS_TICKER|SS_NO_INIT var/list/explosions diff --git a/code/controllers/subsystem/fire_burning.dm b/code/controllers/subsystem/fire_burning.dm index 2caa2fd89c..73358000f1 100644 --- a/code/controllers/subsystem/fire_burning.dm +++ b/code/controllers/subsystem/fire_burning.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(fire_burning) name = "Fire Burning" priority = 40 - flags_1 = SS_NO_INIT|SS_BACKGROUND + flags = SS_NO_INIT|SS_BACKGROUND runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/currentrun = list() diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 57760071d5..8502280aaf 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -2,7 +2,7 @@ SUBSYSTEM_DEF(garbage) name = "Garbage" priority = 15 wait = 20 - flags_1 = SS_POST_FIRE_TIMING|SS_BACKGROUND|SS_NO_INIT + flags = SS_POST_FIRE_TIMING|SS_BACKGROUND|SS_NO_INIT runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY var/collection_timeout = 3000// deciseconds to wait to let running procs finish before we just say fuck it and force del() the object @@ -67,9 +67,9 @@ SUBSYSTEM_DEF(garbage) HandleToBeQueued() if(state == SS_RUNNING) HandleQueue() - + if (state == SS_PAUSED) //make us wait again before the next run. - state = SS_RUNNING + state = SS_RUNNING //If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond. //Don't attempt to optimize, not worth the effort. @@ -114,7 +114,7 @@ SUBSYSTEM_DEF(garbage) var/type = A.type testing("GC: -- \ref[A] | [type] was unable to be GC'd and was deleted --") didntgc["[type]"]++ - + HardDelete(A) ++delslasttick @@ -147,15 +147,15 @@ SUBSYSTEM_DEF(garbage) //this is purely to separate things profile wise. /datum/controller/subsystem/garbage/proc/HardDelete(datum/A) var/time = world.timeofday - var/tick = world.tick_usage + var/tick = TICK_USAGE var/ticktime = world.time - + var/type = A.type var/refID = "\ref[A]" - + del(A) - - tick = (world.tick_usage-tick+((world.time-ticktime)/world.tick_lag*100)) + + tick = (TICK_USAGE-tick+((world.time-ticktime)/world.tick_lag*100)) if (tick > highest_del_tickusage) highest_del_tickusage = tick time = world.timeofday - time @@ -167,7 +167,7 @@ SUBSYSTEM_DEF(garbage) log_game("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete)") message_admins("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete).") postpone(time/5) - + /datum/controller/subsystem/garbage/proc/HardQueue(datum/A) if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) tobequeued += A diff --git a/code/controllers/subsystem/icon_smooth.dm b/code/controllers/subsystem/icon_smooth.dm index 11657c76dc..84df089973 100644 --- a/code/controllers/subsystem/icon_smooth.dm +++ b/code/controllers/subsystem/icon_smooth.dm @@ -3,7 +3,7 @@ SUBSYSTEM_DEF(icon_smooth) init_order = INIT_ORDER_ICON_SMOOTHING wait = 1 priority = 35 - flags_1 = SS_TICKER + flags = SS_TICKER var/list/smooth_queue = list() diff --git a/code/controllers/subsystem/inbounds.dm b/code/controllers/subsystem/inbounds.dm index ab736ac2d1..16e0f53028 100644 --- a/code/controllers/subsystem/inbounds.dm +++ b/code/controllers/subsystem/inbounds.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(inbounds) name = "Inbounds" priority = 40 - flags_1 = SS_NO_INIT + flags = SS_NO_INIT runlevels = RUNLEVEL_GAME var/list/processing = list() diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm index afde42c7d8..fca394924d 100644 --- a/code/controllers/subsystem/ipintel.dm +++ b/code/controllers/subsystem/ipintel.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(ipintel) name = "XKeyScore" init_order = INIT_ORDER_XKEYSCORE - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/enabled = 0 //disable at round start to avoid checking reconnects var/throttle = 0 var/errors = 0 diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 5f50b3dfcf..d64739698a 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(job) name = "Jobs" init_order = INIT_ORDER_JOBS - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/list/occupations = list() //List of all jobs var/list/name_occupations = list() //Dict of all jobs, keys are titles @@ -73,6 +73,8 @@ SUBSYSTEM_DEF(job) return 0 if(!job.player_old_enough(player.client)) return 0 + if(job.required_playtime_remaining(player.client)) + return 0 var/position_limit = job.total_positions if(!latejoin) position_limit = job.spawn_positions @@ -95,6 +97,9 @@ SUBSYSTEM_DEF(job) if(!job.player_old_enough(player.client)) Debug("FOC player not old enough, Player: [player]") continue + if(job.required_playtime_remaining(player.client)) + Debug("FOC player not enough xp, Player: [player]") + continue if(flag && (!(flag in player.client.prefs.be_special))) Debug("FOC flag failed, Player: [player], Flag: [flag], ") continue @@ -130,6 +135,10 @@ SUBSYSTEM_DEF(job) Debug("GRJ player not old enough, Player: [player]") continue + if(job.required_playtime_remaining(player.client)) + Debug("GRJ player not enough xp, Player: [player]") + continue + if(player.mind && job.title in player.mind.restricted_roles) Debug("GRJ incompatible with antagonist role, Player: [player], Job: [job.title]") continue @@ -300,6 +309,10 @@ SUBSYSTEM_DEF(job) Debug("DO player not old enough, Player: [player], Job:[job.title]") continue + if(job.required_playtime_remaining(player.client)) + Debug("DO player not enough xp, Player: [player], Job:[job.title]") + continue + if(player.mind && job.title in player.mind.restricted_roles) Debug("DO incompatible with antagonist role, Player: [player], Job:[job.title]") continue @@ -407,7 +420,7 @@ SUBSYSTEM_DEF(job) if(job && H) job.after_spawn(H, M) - + handle_roundstart_items(H, M.ckey, H.mind.assigned_role, H.mind.special_role) return H @@ -463,6 +476,9 @@ SUBSYSTEM_DEF(job) if(!job.player_old_enough(player.client)) level6++ continue + if(job.required_playtime_remaining(player.client)) + level6++ + continue if(player.client.prefs.GetJobDepartment(job, 1) & job.flag) level1++ else if(player.client.prefs.GetJobDepartment(job, 2) & job.flag) diff --git a/code/controllers/subsystem/language.dm b/code/controllers/subsystem/language.dm index 6d87b0ad9e..e80a7096d8 100644 --- a/code/controllers/subsystem/language.dm +++ b/code/controllers/subsystem/language.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(language) name = "Language" init_order = INIT_ORDER_LANGUAGE - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE /datum/controller/subsystem/language/Initialize(timeofday) for(var/L in subtypesof(/datum/language)) diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 3de7b92cad..78e8b150c3 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -6,7 +6,7 @@ SUBSYSTEM_DEF(lighting) name = "Lighting" wait = 2 init_order = INIT_ORDER_LIGHTING - flags_1 = SS_TICKER + flags = SS_TICKER var/initialized = FALSE diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm index d6c6e8662d..eab61d4ef9 100644 --- a/code/controllers/subsystem/machines.dm +++ b/code/controllers/subsystem/machines.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(machines) name = "Machines" init_order = INIT_ORDER_MACHINES - flags_1 = SS_KEEP_TIMING + flags = SS_KEEP_TIMING var/list/processing = list() var/list/currentrun = list() var/list/powernets = list() diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index df13c57078..2c36e10d31 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(mapping) name = "Mapping" init_order = INIT_ORDER_MAPPING - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/list/nuke_tiles = list() var/list/nuke_threats = list() @@ -84,7 +84,7 @@ SUBSYSTEM_DEF(mapping) C.update_icon() /datum/controller/subsystem/mapping/Recover() - flags_1 |= SS_NO_INIT + flags |= SS_NO_INIT map_templates = SSmapping.map_templates ruins_templates = SSmapping.ruins_templates space_ruins_templates = SSmapping.space_ruins_templates diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index ef15d49ad7..10c6f8e5c4 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(minimap) name = "Minimap" init_order = INIT_ORDER_MINIMAP - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/const/MINIMAP_SIZE = 2048 var/const/TILE_SIZE = 8 diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index 8999f420b5..cbe9d5c245 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(mobs) name = "Mobs" priority = 100 - flags_1 = SS_KEEP_TIMING|SS_NO_INIT + flags = SS_KEEP_TIMING|SS_NO_INIT runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/currentrun = list() diff --git a/code/controllers/subsystem/npcpool.dm b/code/controllers/subsystem/npcpool.dm index 4491cb14ce..4f875721e8 100644 --- a/code/controllers/subsystem/npcpool.dm +++ b/code/controllers/subsystem/npcpool.dm @@ -5,7 +5,7 @@ SUBSYSTEM_DEF(npcpool) name = "NPC Pool" - flags_1 = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_BACKGROUND + flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_BACKGROUND priority = 20 runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME diff --git a/code/controllers/subsystem/orbit.dm b/code/controllers/subsystem/orbit.dm index 421a312e4f..6184bb005b 100644 --- a/code/controllers/subsystem/orbit.dm +++ b/code/controllers/subsystem/orbit.dm @@ -2,7 +2,7 @@ SUBSYSTEM_DEF(orbit) name = "Orbits" priority = 35 wait = 2 - flags_1 = SS_NO_INIT|SS_TICKER + flags = SS_NO_INIT|SS_TICKER var/list/currentrun = list() var/list/processing = list() diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index acdd2ff6ac..2a1a04e21d 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(pai) name = "pAI" - flags_1 = SS_NO_INIT|SS_NO_FIRE + flags = SS_NO_INIT|SS_NO_FIRE var/list/candidates = list() var/ghost_spam = FALSE diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm index 678b96adaf..39d07ee676 100644 --- a/code/controllers/subsystem/parallax.dm +++ b/code/controllers/subsystem/parallax.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(parallax) name = "Parallax" wait = 2 - flags_1 = SS_POST_FIRE_TIMING | SS_BACKGROUND | SS_NO_INIT + flags = SS_POST_FIRE_TIMING | SS_BACKGROUND | SS_NO_INIT priority = 65 runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT var/list/currentrun diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index 5dd47ca999..0137953a65 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -1,16 +1,14 @@ SUBSYSTEM_DEF(persistence) name = "Persistence" init_order = INIT_ORDER_PERSISTENCE - flags_1 = SS_NO_FIRE - var/savefile/secret_satchels + flags = SS_NO_FIRE var/list/satchel_blacklist = list() //this is a typecache var/list/new_secret_satchels = list() //these are objects - var/old_secret_satchels = "" + var/list/old_secret_satchels = list() var/list/obj/structure/chisel_message/chisel_messages = list() var/list/saved_messages = list() - var/savefile/trophy_sav var/list/saved_trophies = list() /datum/controller/subsystem/persistence/Initialize() @@ -21,67 +19,77 @@ SUBSYSTEM_DEF(persistence) ..() /datum/controller/subsystem/persistence/proc/LoadSatchels() - secret_satchels = new /savefile("data/npc_saves/SecretSatchels.sav") - satchel_blacklist = typecacheof(list(/obj/item/stack/tile/plasteel, /obj/item/crowbar)) - secret_satchels[SSmapping.config.map_name] >> old_secret_satchels - - var/list/expanded_old_satchels = list() - var/placed_satchels = 0 - - if(!isnull(old_secret_satchels)) - expanded_old_satchels = splittext(old_secret_satchels,"#") - if(PlaceSecretSatchel(expanded_old_satchels)) - placed_satchels++ + var/placed_satchel = 0 + var/path + var/obj/item/storage/backpack/satchel/flat/F = new() + if(fexists("data/npc_saves/SecretSatchels.sav")) //legacy compatability to convert old format to new + var/savefile/secret_satchels = new /savefile("data/npc_saves/SecretSatchels.sav") + var/sav_text + secret_satchels[SSmapping.config.map_name] >> sav_text + fdel("data/npc_saves/SecretSatchels.sav") + if(sav_text) + old_secret_satchels = splittext(sav_text,"#") + if(old_secret_satchels.len >= 20) + var/satchel_string = pick_n_take(old_secret_satchels) + var/list/chosen_satchel = splittext(satchel_string,"|") + if(chosen_satchel.len == 3) + F.x = text2num(chosen_satchel[1]) + F.y = text2num(chosen_satchel[2]) + F.z = ZLEVEL_STATION + path = text2path(chosen_satchel[3]) else - expanded_old_satchels.len = 0 - + var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + old_secret_satchels = json["data"] + if(old_secret_satchels.len) + if(old_secret_satchels.len >= 20) //guards against low drop pools assuring that one player cannot reliably find his own gear. + var/pos = rand(1, old_secret_satchels.len) + old_secret_satchels.Cut(pos, pos+1) + F.x = old_secret_satchels[pos]["x"] + F.y = old_secret_satchels[pos]["y"] + F.z = ZLEVEL_STATION + path = text2path(old_secret_satchels[pos]["saved_obj"]) + if(!ispath(path)) + return + if(isfloorturf(F.loc) && !istype(F.loc, /turf/open/floor/plating/)) + F.hide(1) + new path(F) + placed_satchel++ var/list/free_satchels = list() for(var/turf/T in shuffle(block(locate(TRANSITIONEDGE,TRANSITIONEDGE,ZLEVEL_STATION), locate(world.maxx-TRANSITIONEDGE,world.maxy-TRANSITIONEDGE,ZLEVEL_STATION)))) //Nontrivially expensive but it's roundstart only if(isfloorturf(T) && !istype(T, /turf/open/floor/plating/)) free_satchels += new /obj/item/storage/backpack/satchel/flat/secret(T) - if(!isemptylist(free_satchels) && ((free_satchels.len + placed_satchels) >= (50 - expanded_old_satchels.len) * 0.1)) //up to six tiles, more than enough to kill anything that moves + if(!isemptylist(free_satchels) && ((free_satchels.len + placed_satchel) >= (50 - old_secret_satchels.len) * 0.1)) //up to six tiles, more than enough to kill anything that moves break -/datum/controller/subsystem/persistence/proc/PlaceSecretSatchel(list/expanded_old_satchels) - var/satchel_string - - if(expanded_old_satchels.len >= 20) //guards against low drop pools assuring that one player cannot reliably find his own gear. - satchel_string = pick_n_take(expanded_old_satchels) - - old_secret_satchels = jointext(expanded_old_satchels,"#") - WRITE_FILE(secret_satchels[SSmapping.config.map_name], old_secret_satchels) - - var/list/chosen_satchel = splittext(satchel_string,"|") - if(!chosen_satchel || isemptylist(chosen_satchel) || chosen_satchel.len != 3) //Malformed - return 0 - - var/path = text2path(chosen_satchel[3]) //If the item no longer exist, this returns null - if(!path) - return 0 - - var/obj/item/storage/backpack/satchel/flat/F = new() - F.x = text2num(chosen_satchel[1]) - F.y = text2num(chosen_satchel[2]) - F.z = ZLEVEL_STATION - if(isfloorturf(F.loc) && !istype(F.loc, /turf/open/floor/plating/)) - F.hide(1) - new path(F) - return 1 - /datum/controller/subsystem/persistence/proc/LoadPoly() for(var/mob/living/simple_animal/parrot/Poly/P in GLOB.living_mob_list) twitterize(P.speech_buffer, "polytalk") break //Who's been duping the bird?! /datum/controller/subsystem/persistence/proc/LoadChiselMessages() - var/savefile/chisel_messages_sav = new /savefile("data/npc_saves/ChiselMessages.sav") - var/saved_json - chisel_messages_sav[SSmapping.config.map_name] >> saved_json + var/list/saved_messages = list() + if(fexists("data/npc_saves/ChiselMessages.sav")) //legacy compatability to convert old format to new + var/savefile/chisel_messages_sav = new /savefile("data/npc_saves/ChiselMessages.sav") + var/saved_json + chisel_messages_sav[SSmapping.config.map_name] >> saved_json + if(!saved_json) + return + saved_messages = json_decode(saved_json) + fdel("data/npc_saves/ChiselMessages.sav") + else + var/json_file = file("data/npc_saves/ChiselMessages[SSmapping.config.map_name].json") + if(!fexists(json_file)) + return + var/list/json + json = json_decode(file2text(json_file)) - if(!saved_json) - return - - var/list/saved_messages = json_decode(saved_json) + if(!json) + return + saved_messages = json["data"] for(var/item in saved_messages) if(!islist(item)) @@ -109,20 +117,23 @@ SUBSYSTEM_DEF(persistence) log_world("Loaded [saved_messages.len] engraved messages on map [SSmapping.config.map_name]") /datum/controller/subsystem/persistence/proc/LoadTrophies() - trophy_sav = new /savefile("data/npc_saves/TrophyItems.sav") - var/saved_json - trophy_sav >> saved_json - - if(!saved_json) - return - - var/decoded_json = json_decode(saved_json) - - if(!islist(decoded_json)) - return - - saved_trophies = decoded_json - + if(fexists("data/npc_saves/TrophyItems.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/TrophyItems.sav") + var/saved_json + S >> saved_json + if(!saved_json) + return + saved_trophies = json_decode(saved_json) + fdel("data/npc_saves/TrophyItems.sav") + else + var/json_file = file("data/npc_saves/TrophyItems.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + if(!json) + return + saved_trophies = json["data"] SetUpTrophies(saved_trophies.Copy()) /datum/controller/subsystem/persistence/proc/SetUpTrophies(list/trophy_items) @@ -156,6 +167,8 @@ SUBSYSTEM_DEF(persistence) CollectTrophies() /datum/controller/subsystem/persistence/proc/CollectSecretSatchels() + var/list/satchels = list() + satchel_blacklist = typecacheof(list(/obj/item/stack/tile/plasteel, /obj/item/crowbar)) for(var/A in new_secret_satchels) var/obj/item/storage/backpack/satchel/flat/F = A if(QDELETED(F) || F.z != ZLEVEL_STATION || F.invisibility != INVISIBILITY_MAXIMUM) @@ -170,25 +183,39 @@ SUBSYSTEM_DEF(persistence) savable_obj += O.type if(isemptylist(savable_obj)) continue - old_secret_satchels += "[F.x]|[F.y]|[pick(savable_obj)]#" - WRITE_FILE(secret_satchels[SSmapping.config.map_name], old_secret_satchels) + var/list/data = list() + data["x"] = F.x + data["y"] = F.y + data["saved_obj"] = pick(savable_obj) + satchels += list(data) + var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json") + var/list/file_data = list() + file_data["data"] = satchels + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) /datum/controller/subsystem/persistence/proc/CollectChiselMessages() - var/savefile/chisel_messages_sav = new /savefile("data/npc_saves/ChiselMessages.sav") + var/json_file = file("data/npc_saves/ChiselMessages[SSmapping.config.map_name].json") for(var/obj/structure/chisel_message/M in chisel_messages) saved_messages += list(M.pack()) log_world("Saved [saved_messages.len] engraved messages on map [SSmapping.config.map_name]") - - WRITE_FILE(chisel_messages_sav[SSmapping.config.map_name], json_encode(saved_messages)) + var/list/file_data = list() + file_data["data"] = saved_messages + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) /datum/controller/subsystem/persistence/proc/SaveChiselMessage(obj/structure/chisel_message/M) saved_messages += list(M.pack()) // dm eats one list /datum/controller/subsystem/persistence/proc/CollectTrophies() - WRITE_FILE(trophy_sav, json_encode(saved_trophies)) + var/json_file = file("data/npc_saves/TrophyItems.json") + var/list/file_data = list() + file_data["data"] = saved_trophies + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) /datum/controller/subsystem/persistence/proc/SaveTrophy(obj/structure/displaycase/trophy/T) if(!T.added_roundstart && T.showpiece) diff --git a/code/controllers/subsystem/ping.dm b/code/controllers/subsystem/ping.dm index 01576084bc..a6b444c4e7 100644 --- a/code/controllers/subsystem/ping.dm +++ b/code/controllers/subsystem/ping.dm @@ -3,7 +3,7 @@ SUBSYSTEM_DEF(ping) name = "Ping" wait = 6 - flags_1 = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY + flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY priority = 10 var/list/currentrun diff --git a/code/controllers/subsystem/processing/fields.dm b/code/controllers/subsystem/processing/fields.dm index eb839619ad..6a878fa142 100644 --- a/code/controllers/subsystem/processing/fields.dm +++ b/code/controllers/subsystem/processing/fields.dm @@ -2,5 +2,5 @@ PROCESSING_SUBSYSTEM_DEF(fields) name = "Fields" wait = 2 priority = 40 - flags_1 = SS_KEEP_TIMING | SS_NO_INIT + flags = SS_KEEP_TIMING | SS_NO_INIT runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME diff --git a/code/controllers/subsystem/processing/flightpacks.dm b/code/controllers/subsystem/processing/flightpacks.dm index 253ee294a9..1d85811878 100644 --- a/code/controllers/subsystem/processing/flightpacks.dm +++ b/code/controllers/subsystem/processing/flightpacks.dm @@ -3,7 +3,7 @@ PROCESSING_SUBSYSTEM_DEF(flightpacks) priority = 30 wait = 2 stat_tag = "FM" - flags_1 = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING + flags = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING var/flightsuit_processing = FLIGHTSUIT_PROCESSING_FULL diff --git a/code/controllers/subsystem/processing/obj.dm b/code/controllers/subsystem/processing/obj.dm index 3f602dc32c..29fe277232 100644 --- a/code/controllers/subsystem/processing/obj.dm +++ b/code/controllers/subsystem/processing/obj.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(obj) name = "Objects" priority = 40 - flags_1 = SS_NO_INIT + flags = SS_NO_INIT var/list/processing = list() var/list/currentrun = list() diff --git a/code/controllers/subsystem/processing/overlays.dm b/code/controllers/subsystem/processing/overlays.dm index ad84295b52..fba4ebcaf0 100644 --- a/code/controllers/subsystem/processing/overlays.dm +++ b/code/controllers/subsystem/processing/overlays.dm @@ -1,6 +1,6 @@ PROCESSING_SUBSYSTEM_DEF(overlays) name = "Overlay" - flags_1 = SS_TICKER + flags = SS_TICKER wait = 1 priority = 500 init_order = INIT_ORDER_OVERLAY diff --git a/code/controllers/subsystem/processing/processing.dm b/code/controllers/subsystem/processing/processing.dm index 4c77cfb2e0..0586975866 100644 --- a/code/controllers/subsystem/processing/processing.dm +++ b/code/controllers/subsystem/processing/processing.dm @@ -3,7 +3,7 @@ SUBSYSTEM_DEF(processing) name = "Processing" priority = 25 - flags_1 = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT + flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT wait = 10 var/stat_tag = "P" //Used for logging diff --git a/code/controllers/subsystem/radio.dm b/code/controllers/subsystem/radio.dm index 57b34dae33..de605cb554 100644 --- a/code/controllers/subsystem/radio.dm +++ b/code/controllers/subsystem/radio.dm @@ -1,6 +1,6 @@ SUBSYSTEM_DEF(radio) name = "Radio" - flags_1 = SS_NO_FIRE|SS_NO_INIT + flags = SS_NO_FIRE|SS_NO_INIT var/list/datum/radio_frequency/frequencies = list() diff --git a/code/controllers/subsystem/religion.dm b/code/controllers/subsystem/religion.dm index 477f7411f2..bba7dd082e 100644 --- a/code/controllers/subsystem/religion.dm +++ b/code/controllers/subsystem/religion.dm @@ -1,6 +1,6 @@ SUBSYSTEM_DEF(religion) name = "Religion" - flags_1 = SS_NO_FIRE|SS_NO_INIT + flags = SS_NO_FIRE|SS_NO_INIT var/religion var/deity diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index b1a115954a..ec34cfb8ed 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -3,7 +3,7 @@ SUBSYSTEM_DEF(server_maint) name = "Server Tasks" wait = 6 - flags_1 = SS_POST_FIRE_TIMING + flags = SS_POST_FIRE_TIMING priority = 10 init_order = INIT_ORDER_SERVER_MAINT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT @@ -33,7 +33,7 @@ SUBSYSTEM_DEF(server_maint) qdel(C) 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*world.tick_usage/100]") + winset(C, null, "command=.update_ping+[world.time+world.tick_lag*TICK_USAGE_REAL/100]") 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 diff --git a/code/controllers/subsystem/server_maint.dm.rej b/code/controllers/subsystem/server_maint.dm.rej new file mode 100644 index 0000000000..486375b505 --- /dev/null +++ b/code/controllers/subsystem/server_maint.dm.rej @@ -0,0 +1,30 @@ +diff a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm (rejected hunks) +@@ -6,18 +6,16 @@ SUBSYSTEM_DEF(server_maint) + flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY + priority = 10 + var/list/currentrun +- var/triggertime = null + + /datum/controller/subsystem/server_maint/Initialize(timeofday) + if (config.hub) + world.visibility = 1 +- triggertime = REALTIMEOFDAY + ..() + + /datum/controller/subsystem/server_maint/fire(resumed = FALSE) + if(!resumed) + src.currentrun = GLOB.clients.Copy() +- ++ + var/list/currentrun = src.currentrun + var/round_started = SSticker.HasRoundStarted() + +@@ -39,8 +37,3 @@ SUBSYSTEM_DEF(server_maint) + return + + #undef PING_BUFFER_TIME +- if(config.sql_enabled) +- sql_poll_population() +- if(config.use_exp_tracking) +- if(REALTIMEOFDAY > (triggertime +3000)) //server maint fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire +- update_exp(10,0) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 412af41381..f9774f8cb5 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -5,7 +5,7 @@ SUBSYSTEM_DEF(shuttle) name = "Shuttle" wait = 10 init_order = INIT_ORDER_SHUTTLE - flags_1 = SS_KEEP_TIMING|SS_NO_TICK_CHECK + flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK runlevels = RUNLEVEL_SETUP | RUNLEVEL_GAME var/list/mobile = list() @@ -341,7 +341,7 @@ SUBSYSTEM_DEF(shuttle) if(M.request(getDock(destination))) return 2 else - if(M.dock(getDock(destination))) + if(M.dock(getDock(destination)) != DOCKING_SUCCESS) return 2 return 0 //dock successful @@ -356,7 +356,7 @@ SUBSYSTEM_DEF(shuttle) if(M.request(D)) return 2 else - if(M.dock(D)) + if(M.dock(D) != DOCKING_SUCCESS) return 2 return 0 //dock successful diff --git a/code/controllers/subsystem/spacedrift.dm b/code/controllers/subsystem/spacedrift.dm index 1944c3f279..8fe7cbe048 100644 --- a/code/controllers/subsystem/spacedrift.dm +++ b/code/controllers/subsystem/spacedrift.dm @@ -2,7 +2,7 @@ SUBSYSTEM_DEF(spacedrift) name = "Space Drift" priority = 30 wait = 5 - flags_1 = SS_NO_INIT|SS_KEEP_TIMING + flags = SS_NO_INIT|SS_KEEP_TIMING runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/currentrun = list() diff --git a/code/controllers/subsystem/squeak.dm b/code/controllers/subsystem/squeak.dm index f9a291129a..d94efd0a4a 100644 --- a/code/controllers/subsystem/squeak.dm +++ b/code/controllers/subsystem/squeak.dm @@ -5,7 +5,7 @@ SUBSYSTEM_DEF(squeak) name = "Squeak" init_order = INIT_ORDER_SQUEAK - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/list/exposed_wires = list() diff --git a/code/controllers/subsystem/stickyban.dm b/code/controllers/subsystem/stickyban.dm index 4136f731df..8251df0039 100644 --- a/code/controllers/subsystem/stickyban.dm +++ b/code/controllers/subsystem/stickyban.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(stickyban) name = "Sticky Ban" init_order = INIT_ORDER_STICKY_BAN - flags_1 = SS_NO_FIRE + flags = SS_NO_FIRE var/list/cache = list() diff --git a/code/controllers/subsystem/sun.dm b/code/controllers/subsystem/sun.dm index ba71d86e1a..7a3528cc3d 100644 --- a/code/controllers/subsystem/sun.dm +++ b/code/controllers/subsystem/sun.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(sun) name = "Sun" wait = 600 - flags_1 = SS_NO_TICK_CHECK|SS_NO_INIT + flags = SS_NO_TICK_CHECK|SS_NO_INIT var/angle var/dx var/dy diff --git a/code/controllers/subsystem/tgui.dm b/code/controllers/subsystem/tgui.dm index 11dbb6d081..52fd286eed 100644 --- a/code/controllers/subsystem/tgui.dm +++ b/code/controllers/subsystem/tgui.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(tgui) name = "tgui" wait = 9 - flags_1 = SS_NO_INIT + flags = SS_NO_INIT priority = 110 runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index f1d4b88f77..f245b0766c 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -5,7 +5,7 @@ SUBSYSTEM_DEF(throwing) name = "Throwing" priority = 25 wait = 1 - flags_1 = SS_NO_INIT|SS_KEEP_TIMING|SS_TICKER + flags = SS_NO_INIT|SS_KEEP_TIMING|SS_TICKER runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/currentrun diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index e9a356ef86..b0c432f8ac 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -5,7 +5,7 @@ SUBSYSTEM_DEF(ticker) init_order = INIT_ORDER_TICKER priority = 200 - flags_1 = SS_KEEP_TIMING + flags = SS_KEEP_TIMING runlevels = RUNLEVEL_LOBBY | RUNLEVEL_SETUP | RUNLEVEL_GAME var/current_state = GAME_STATE_STARTUP //state of current round (used by process()) Use the defines GAME_STATE_* ! @@ -470,6 +470,12 @@ SUBSYSTEM_DEF(ticker) to_chat(world, "


The round has ended.") +/* var/nocredits = config.no_credits_round_end + for(var/client/C in GLOB.clients) + if(!C.credits && !nocredits) + C.RollCredits() + C.playtitlemusic(40)*/ + //Player status report for(var/mob/Player in GLOB.mob_list) if(Player.mind && !isnewplayer(Player)) diff --git a/code/controllers/subsystem/time_track.dm b/code/controllers/subsystem/time_track.dm index 0e5a473611..cb190206b7 100644 --- a/code/controllers/subsystem/time_track.dm +++ b/code/controllers/subsystem/time_track.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(time_track) name = "Time Tracking" wait = 600 - flags_1 = SS_NO_INIT|SS_NO_TICK_CHECK + flags = SS_NO_INIT|SS_NO_TICK_CHECK runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT var/time_dilation_current = 0 diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 8a0dfe1f0d..c8d5b69e61 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -7,7 +7,7 @@ SUBSYSTEM_DEF(timer) wait = 1 //SS_TICKER subsystem, so wait is in ticks init_order = INIT_ORDER_TIMER - flags_1 = SS_TICKER|SS_NO_INIT + flags = SS_TICKER|SS_NO_INIT var/list/datum/timedevent/processing = list() var/list/hashes = list() @@ -215,7 +215,7 @@ SUBSYSTEM_DEF(timer) var/datum/callback/callBack var/timeToRun var/hash - var/list/flags_1 + var/list/flags var/spent = FALSE //set to true right before running. var/name //for easy debugging. //cicular doublely linked list @@ -224,16 +224,16 @@ SUBSYSTEM_DEF(timer) var/static/nextid = 1 -/datum/timedevent/New(datum/callback/callBack, timeToRun, flags_1, hash) +/datum/timedevent/New(datum/callback/callBack, timeToRun, flags, hash) id = TIMER_ID_NULL src.callBack = callBack src.timeToRun = timeToRun - src.flags_1 = flags_1 + src.flags = flags src.hash = hash - if (flags_1 & TIMER_UNIQUE) + if (flags & TIMER_UNIQUE) SStimer.hashes[hash] = src - if (flags_1 & TIMER_STOPPABLE) + if (flags & TIMER_STOPPABLE) do if (nextid >= TIMER_ID_MAX) nextid = 1 @@ -241,12 +241,12 @@ SUBSYSTEM_DEF(timer) while(SStimer.timer_id_dict["timerid" + num2text(id, 8)]) SStimer.timer_id_dict["timerid" + num2text(id, 8)] = src - name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags_1, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" + name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" if (callBack.object != GLOBAL_PROC) LAZYADD(callBack.object.active_timers, src) - if (flags_1 & TIMER_CLIENT_TIME) + if (flags & TIMER_CLIENT_TIME) //sorted insert var/list/ctts = SStimer.clienttime_timers var/cttl = length(ctts) @@ -291,7 +291,7 @@ SUBSYSTEM_DEF(timer) /datum/timedevent/Destroy() ..() - if (flags_1 & TIMER_UNIQUE) + if (flags & TIMER_UNIQUE) SStimer.hashes -= hash @@ -301,10 +301,10 @@ SUBSYSTEM_DEF(timer) callBack = null - if (flags_1 & TIMER_STOPPABLE) + if (flags & TIMER_STOPPABLE) SStimer.timer_id_dict -= "timerid" + num2text(id, 8) - if (flags_1 & TIMER_CLIENT_TIME) + if (flags & TIMER_CLIENT_TIME) SStimer.clienttime_timers -= src return QDEL_HINT_IWILLGC @@ -346,7 +346,7 @@ SUBSYSTEM_DEF(timer) else . = "[callBack.object.type]" -/proc/addtimer(datum/callback/callback, wait, flags_1) +/proc/addtimer(datum/callback/callback, wait, flags) if (!callback) return @@ -354,12 +354,12 @@ SUBSYSTEM_DEF(timer) var/hash - if (flags_1 & TIMER_UNIQUE) + if (flags & TIMER_UNIQUE) var/list/hashlist - if(flags_1 & TIMER_NO_HASH_WAIT) - hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags_1 & TIMER_CLIENT_TIME) + if(flags & TIMER_NO_HASH_WAIT) + hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags & TIMER_CLIENT_TIME) else - hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, wait, flags_1 & TIMER_CLIENT_TIME) + hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, wait, flags & TIMER_CLIENT_TIME) hashlist += callback.arguments hash = hashlist.Join("|||||||") @@ -370,19 +370,19 @@ SUBSYSTEM_DEF(timer) SStimer.hashes -= hash else - if (flags_1 & TIMER_OVERRIDE) + if (flags & TIMER_OVERRIDE) qdel(hash_timer) else - if (hash_timer.flags_1 & TIMER_STOPPABLE) + if (hash_timer.flags & TIMER_STOPPABLE) . = hash_timer.id return var/timeToRun = world.time + wait - if (flags_1 & TIMER_CLIENT_TIME) + if (flags & TIMER_CLIENT_TIME) timeToRun = REALTIMEOFDAY + wait - var/datum/timedevent/timer = new(callback, timeToRun, flags_1, hash) + var/datum/timedevent/timer = new(callback, timeToRun, flags, hash) return timer.id /proc/deltimer(id) diff --git a/code/controllers/subsystem/title.dm b/code/controllers/subsystem/title.dm index 11511608cd..4f1dbc37c7 100644 --- a/code/controllers/subsystem/title.dm +++ b/code/controllers/subsystem/title.dm @@ -1,6 +1,6 @@ SUBSYSTEM_DEF(title) name = "Title Screen" - flags_1 = SS_NO_FIRE|SS_NO_INIT + flags = SS_NO_FIRE|SS_NO_INIT var/file_path var/icon/icon diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 7126d93a47..0dbc7c5d3a 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -2,7 +2,7 @@ SUBSYSTEM_DEF(vote) name = "Vote" wait = 10 - flags_1 = SS_KEEP_TIMING|SS_NO_INIT + flags = SS_KEEP_TIMING|SS_NO_INIT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm index eb49568810..88102e260c 100644 --- a/code/controllers/subsystem/weather.dm +++ b/code/controllers/subsystem/weather.dm @@ -1,7 +1,7 @@ //Used for all kinds of weather, ex. lavaland ash storms. SUBSYSTEM_DEF(weather) name = "Weather" - flags_1 = SS_BACKGROUND + flags = SS_BACKGROUND wait = 10 runlevels = RUNLEVEL_GAME var/list/processing = list() diff --git a/code/datums/action.dm b/code/datums/action.dm index 10cb2a239f..8e32e8968f 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -172,6 +172,7 @@ /datum/action/item_action/rcl name = "Change Cable Color" + icon_icon = 'icons/mob/actions/actions_items.dmi' button_icon_state = "rcl_rainbow" /datum/action/item_action/startchainsaw @@ -405,27 +406,24 @@ /datum/action/item_action/initialize_ninja_suit name = "Toggle ninja suit" -/datum/action/item_action/ninjajaunt - name = "Phase Jaunt (10E)" - desc = "Utilizes the internal VOID-shift device to rapidly transit in direction facing." - icon_icon = 'icons/mob/actions/actions_items.dmi' - button_icon_state = "ninja_phase" - /datum/action/item_action/ninjasmoke name = "Smoke Bomb" desc = "Blind your enemies momentarily with a well-placed smoke bomb." button_icon_state = "smoke" + icon_icon = 'icons/mob/actions/actions_spells.dmi' /datum/action/item_action/ninjaboost - check_flags = AB_CHECK_RESTRAINED|AB_CHECK_CONSCIOUS + check_flags = NONE name = "Adrenaline Boost" desc = "Inject a secret chemical that will counteract all movement-impairing effect." button_icon_state = "repulse" + icon_icon = 'icons/mob/actions/actions_spells.dmi' /datum/action/item_action/ninjapulse name = "EM Burst (25E)" desc = "Disable any nearby technology with a electro-magnetic pulse." button_icon_state = "emp" + icon_icon = 'icons/mob/actions/actions_spells.dmi' /datum/action/item_action/ninjastar name = "Create Throwing Stars (1E)" @@ -448,8 +446,8 @@ /datum/action/item_action/ninja_stealth name = "Toggle Stealth" desc = "Toggles stealth mode on and off." - icon_icon = 'icons/mob/actions/actions_items.dmi' button_icon_state = "ninja_cloak" + icon_icon = 'icons/mob/actions/actions_minor_antag.dmi' /datum/action/item_action/toggle_glove name = "Toggle interaction" @@ -491,7 +489,7 @@ S.action = src name = S.name desc = S.desc - button_icon = S.action_icon + icon_icon = S.action_icon button_icon_state = S.action_icon_state background_icon_state = S.action_background_icon_state button.name = name diff --git a/code/datums/antagonists/devil.dm b/code/datums/antagonists/devil.dm index 733947fe28..9839dfe4ac 100644 --- a/code/datums/antagonists/devil.dm +++ b/code/datums/antagonists/devil.dm @@ -188,7 +188,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", if(form == BLOOD_LIZARD && SOULVALUE < BLOOD_THRESHOLD) regress_humanoid() if(SOULVALUE < 0) - remove_spells() + give_appropriate_spells() to_chat(owner.current, "As punishment for your failures, all of your powers except contract creation have been revoked.") /datum/antagonist/devil/proc/regress_humanoid() @@ -408,7 +408,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", reviveNumber += LOSS_PER_DEATH update_hud() if(body) - body.revive(1,0) + body.revive(TRUE, TRUE) //Adminrevive also recovers organs, preventing someone from resurrecting without a heart. if(istype(body.loc, /obj/effect/dummy/slaughter/)) body.forceMove(get_turf(body))//Fixes dying while jaunted leaving you permajaunted. if(istype(body, /mob/living/carbon/true_devil)) diff --git a/code/datums/antagonists/ninja.dm b/code/datums/antagonists/ninja.dm index bd7bb13a1d..230a4d64e4 100644 --- a/code/datums/antagonists/ninja.dm +++ b/code/datums/antagonists/ninja.dm @@ -41,7 +41,6 @@ H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/space_ninja(H), slot_wear_mask) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(H), slot_glasses) H.equip_to_slot_or_del(EK, slot_belt) - H.equip_to_slot_or_del(new /obj/item/device/flashlight(H), slot_r_store) H.equip_to_slot_or_del(new /obj/item/grenade/plastic/x4(H), slot_l_store) H.equip_to_slot_or_del(new /obj/item/tank/internals/emergency_oxygen(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/tank/jetpack/carbondioxide(H), slot_back) diff --git a/code/datums/callback.dm.rej b/code/datums/callback.dm.rej deleted file mode 100644 index 14faac8412..0000000000 --- a/code/datums/callback.dm.rej +++ /dev/null @@ -1,62 +0,0 @@ -diff a/code/datums/callback.dm b/code/datums/callback.dm (rejected hunks) -@@ -100,60 +100,3 @@ - if (object == GLOBAL_PROC) - return call(delegate)(arglist(calling_arguments)) - return call(object, delegate)(arglist(calling_arguments)) -- -- --/datum/callback_select -- var/list/finished -- var/pendingcount -- var/total -- --/datum/callback_select/New(count, savereturns) -- total = count -- if (savereturns) -- finished = new(count) -- -- --/datum/callback_select/proc/invoke_callback(index, datum/callback/callback, list/callback_args, savereturn = TRUE) -- set waitfor = FALSE -- if (!callback || !istype(callback)) -- //This check only exists because the alternative is callback_select would block forever if given invalid data -- CRASH("invalid callback passed to invoke_callback") -- if (!length(callback_args)) -- callback_args = list() -- pendingcount++ -- debug_usr("calling callback") -- var/rtn = callback.Invoke(arglist(callback_args)) -- debug_usr("callback returned") -- pendingcount-- -- if (savereturn) -- finished[index] = rtn -- -- -- -- --//runs a list of callbacks asynchronously, returning once all of them return. --//callbacks can be repeated. --//callbacks-args is a optional list of argument lists, in the same order as the callbacks, --// the inner lists will be sent to the callbacks when invoked() as additional args. --//can optionly save and return a list of return values, in the same order as the original list of callbacks --//resolution is the number of byond ticks between checks. --/proc/callback_select(list/callbacks, list/callback_args, savereturns = TRUE, resolution = 1) -- if (!callbacks) -- return -- var/count = length(callbacks) -- if (!count) -- return -- if (!callback_args) -- callback_args = list() -- -- callback_args.len = count -- -- var/datum/callback_select/CS = new(count, savereturns) -- for (var/i in 1 to count) -- CS.invoke_callback(i, callbacks[i], callback_args[i], savereturns) -- debug_usr("starting callbacks: [CS.pendingcount]") -- while(CS.pendingcount) -- debug_usr("callbacks: [CS.pendingcount]") -- sleep(resolution*world.tick_lag) -- return CS.finished -- diff --git a/code/datums/components/README.md b/code/datums/components/README.md index 15001bbfd7..93a846035f 100644 --- a/code/datums/components/README.md +++ b/code/datums/components/README.md @@ -56,7 +56,7 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo 1. `GET_COMPONENT(varname, component_type)` OR `GET_COMPONENT_FROM(varname, component_type, src)` * Shorthand for `var/component_type/varname = src.GetComponent(component_type)` 1. `/datum/proc/AddComponent(component_type(type), ...) -> datum/component` (public, final) - * Creates an instance of `component_type` in the datum and passes `...` to it's `New()` call + * Creates an instance of `component_type` in the datum and passes `...` to its `Initialize()` call * Sends the `COMSIG_COMPONENT_ADDED` signal to the datum * All components a datum owns are deleted with the datum * Returns the component that was created. Or the old component in a dupe situation where `COMPONENT_DUPE_UNIQUE` was set diff --git a/code/datums/components/component.dm.rej b/code/datums/components/component.dm.rej deleted file mode 100644 index 3cf20d57b0..0000000000 --- a/code/datums/components/component.dm.rej +++ /dev/null @@ -1 +0,0 @@ -- \ No newline at end of file diff --git a/code/datums/diseases/advance/presets.dm b/code/datums/diseases/advance/presets.dm index 07809d3555..1a197f0f34 100644 --- a/code/datums/diseases/advance/presets.dm +++ b/code/datums/diseases/advance/presets.dm @@ -34,20 +34,20 @@ ..(process, D, copy) -// Hullucigen +// Hallucigen -/datum/disease/advance/hullucigen/New(var/process = TRUE, var/datum/disease/advance/D, var/copy = FALSE) +/datum/disease/advance/hallucigen/New(var/process = TRUE, var/datum/disease/advance/D, var/copy = FALSE) if(!D) - name = "Reality Impairment" + name = "Second Sight" symptoms = list(new/datum/symptom/hallucigen) ..(process, D, copy) // Sensory Restoration -/datum/disease/advance/sensory_restoration/New(var/process = TRUE, var/datum/disease/advance/D, var/copy = FALSE) +/datum/disease/advance/mind_restoration/New(var/process = TRUE, var/datum/disease/advance/D, var/copy = FALSE) if(!D) - name = "Reality Enhancer" - symptoms = list(new/datum/symptom/sensory_restoration) + name = "Intelligence Booster" + symptoms = list(new/datum/symptom/mind_restoration) ..(process, D, copy) // Sensory Destruction diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm index 2f8635301e..aa3919f3cf 100644 --- a/code/datums/diseases/advance/symptoms/beard.dm +++ b/code/datums/diseases/advance/symptoms/beard.dm @@ -17,6 +17,7 @@ BONUS /datum/symptom/beard name = "Facial Hypertrichosis" + desc = "The virus increases hair production significantly, causing rapid beard growth." stealth = -3 resistance = -1 stage_speed = -3 diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm index a46ef690ef..f7f998f2b1 100644 --- a/code/datums/diseases/advance/symptoms/choking.dm +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/choking name = "Choking" + desc = "The virus causes inflammation of the host's air conduits, leading to intermittent choking." stealth = -3 resistance = -2 stage_speed = -2 @@ -27,6 +28,8 @@ Bonus base_message_chance = 15 symptom_delay_min = 10 symptom_delay_max = 30 + threshold_desc = "Stage Speed 8: Causes choking more frequently.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/choking/Start(datum/disease/advance/A) ..() @@ -84,6 +87,7 @@ Bonus /datum/symptom/asphyxiation name = "Acute respiratory distress syndrome" + desc = "The virus causes shrinking of the host's lungs, causing severe asphyxiation. May also lead to heart attacks." stealth = -2 resistance = -0 stage_speed = -1 diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm index 45bf5d6182..2e252267c4 100644 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/confusion name = "Confusion" + desc = "The virus interferes with the proper function of the neural system, leading to bouts of confusion and erratic movement." stealth = 1 resistance = -1 stage_speed = -3 @@ -28,6 +29,9 @@ Bonus symptom_delay_min = 10 symptom_delay_max = 30 var/brain_damage = FALSE + threshold_desc = "Resistance 6: Causes brain damage over time.
\ + Transmission 6: Increases confusion duration.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/confusion/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm index a05d1d5e88..95577fe351 100644 --- a/code/datums/diseases/advance/symptoms/cough.dm +++ b/code/datums/diseases/advance/symptoms/cough.dm @@ -18,6 +18,7 @@ BONUS /datum/symptom/cough name = "Cough" + desc = "The virus irritates the throat of the host, causing occasional coughing." stealth = -1 resistance = 3 stage_speed = 1 @@ -28,6 +29,11 @@ BONUS symptom_delay_min = 2 symptom_delay_max = 15 var/infective = FALSE + threshold_desc = "Resistance 3: Host will drop small items when coughing.
\ + Resistance 10: Occasionally causes coughing fits that stun the host.
\ + Stage Speed 6: Increases cough frequency.
\ + If Airborne: Coughing will infect bystanders.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/cough/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index b6163a72a1..c43970563d 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/deafness name = "Deafness" + desc = "The virus causes inflammation of the eardrums, causing intermittent deafness." stealth = -1 resistance = -2 stage_speed = -1 @@ -27,6 +28,8 @@ Bonus base_message_chance = 100 symptom_delay_min = 25 symptom_delay_max = 80 + threshold_desc = "Resistance 9: Causes permanent deafness, instead of intermittent.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/deafness/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm index 60e9989d4a..cb1bf11e63 100644 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -18,7 +18,7 @@ Bonus /datum/symptom/dizzy // Not the egg name = "Dizziness" - stealth = 2 + desc = "The virus causes inflammation of the vestibular system, leading to bouts of dizziness." resistance = -2 stage_speed = -3 transmittable = -1 @@ -27,6 +27,8 @@ Bonus base_message_chance = 50 symptom_delay_min = 15 symptom_delay_max = 40 + threshold_desc = "Transmission 6: Also causes druggy vision.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/dizzy/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm index e69c3bf0a2..673835b0ed 100644 --- a/code/datums/diseases/advance/symptoms/fever.dm +++ b/code/datums/diseases/advance/symptoms/fever.dm @@ -16,8 +16,8 @@ Bonus */ /datum/symptom/fever - name = "Fever" + desc = "The virus causes a febrile response from the host, raising its body temperature." stealth = 0 resistance = 3 stage_speed = 3 @@ -28,6 +28,8 @@ Bonus symptom_delay_min = 10 symptom_delay_max = 30 var/unsafe = FALSE //over the heat threshold + threshold_desc = "Resistance 5: Increases fever intensity, fever can overheat and harm the host.
\ + Resistance 10: Further increases fever intensity." /datum/symptom/fever/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index b8d80b8023..e12e705350 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/fire name = "Spontaneous Combustion" + desc = "The virus turns fat into an extremely flammable compound, and raises the body's temperature, making the host burst into flames spontaneously." stealth = 1 resistance = -4 stage_speed = -4 @@ -28,6 +29,10 @@ Bonus symptom_delay_min = 20 symptom_delay_max = 75 var/infective = FALSE + threshold_desc = "Stage Speed 4: Increases the intensity of the flames.
\ + Stage Speed 8: Further increases flame intensity.
\ + Transmission 8: Host will spread the virus through skin flakes when bursting into flame.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/fire/Start(datum/disease/advance/A) ..() @@ -94,6 +99,7 @@ Bonus /datum/symptom/alkali name = "Alkali perspiration" + desc = "The virus attaches to sudoriparous glands, synthesizing a chemical that bursts into flames when reacting with water, leading to self-immolation." stealth = 2 resistance = -2 stage_speed = -2 @@ -105,6 +111,9 @@ Bonus symptom_delay_max = 90 var/chems = FALSE var/explosion_power = 1 + threshold_desc = "Resistance 9: Doubles the intensity of the effect, but reduces its frequency.
\ + Stage Speed 8: Increases explosion radius when the host is wet.
\ + Transmission 8: Additionally synthesizes chlorine trifluoride and napalm inside the host." /datum/symptom/alkali/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index 838d4481b5..16e2b5c065 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/flesh_eating name = "Necrotizing Fasciitis" + desc = "The virus aggressively attacks body cells, necrotizing tissues and organs." stealth = -3 resistance = -4 stage_speed = 0 @@ -29,6 +30,8 @@ Bonus symptom_delay_max = 60 var/bleed = FALSE var/pain = FALSE + threshold_desc = "Resistance 7: Host will bleed profusely during necrosis.
\ + Transmission 8: Causes extreme pain to the host, weakening it." /datum/symptom/flesh_eating/Start(datum/disease/advance/A) ..() @@ -80,6 +83,7 @@ Bonus /datum/symptom/flesh_death name = "Autophagocytosis Necrosis" + desc = "The virus rapidly consumes infected cells, leading to heavy and widespread damage." stealth = -2 resistance = -2 stage_speed = 1 @@ -91,6 +95,8 @@ Bonus symptom_delay_max = 6 var/chems = FALSE var/zombie = FALSE + threshold_desc = "Stage Speed 7: Synthesizes Heparin and Lipolicide inside the host, causing increased bleeding and hunger.
\ + Stealth 5: The symptom remains hidden until active." /datum/symptom/flesh_death/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm index 0b6ea5f808..1f654f2e97 100644 --- a/code/datums/diseases/advance/symptoms/genetics.dm +++ b/code/datums/diseases/advance/symptoms/genetics.dm @@ -16,8 +16,8 @@ Bonus */ /datum/symptom/genetic_mutation - name = "Deoxyribonucleic Acid Saboteur" + desc = "The virus bonds with the DNA of the host, causing damaging mutations until removed." stealth = -2 resistance = -3 stage_speed = 0 @@ -30,6 +30,9 @@ Bonus symptom_delay_min = 60 symptom_delay_max = 120 var/no_reset = FALSE + threshold_desc = "Resistance 8: Causes two harmful mutations at once.
\ + Stage Speed 10: Increases mutation frequency.
\ + Stealth 5: The mutations persist even if the virus is cured." /datum/symptom/genetic_mutation/Activate(datum/disease/advance/A) if(!..()) diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm index 9bfd5b0baf..d4cda525ad 100644 --- a/code/datums/diseases/advance/symptoms/hallucigen.dm +++ b/code/datums/diseases/advance/symptoms/hallucigen.dm @@ -16,8 +16,8 @@ Bonus */ /datum/symptom/hallucigen - name = "Hallucigen" + desc = "The virus stimulates the brain, causing occasional hallucinations." stealth = -2 resistance = -3 stage_speed = -3 @@ -28,6 +28,8 @@ Bonus symptom_delay_min = 25 symptom_delay_max = 90 var/fake_healthy = FALSE + threshold_desc = "Stage Speed 7: Increases the amount of hallucinations.
\ + Stealth 4: The virus mimics positive symptoms.." /datum/symptom/hallucigen/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm index 3baeedea19..b0665e0870 100644 --- a/code/datums/diseases/advance/symptoms/headache.dm +++ b/code/datums/diseases/advance/symptoms/headache.dm @@ -19,6 +19,7 @@ BONUS /datum/symptom/headache name = "Headache" + desc = "The virus causes inflammation inside the brain, causing constant headaches." stealth = -1 resistance = 4 stage_speed = 2 @@ -28,6 +29,9 @@ BONUS base_message_chance = 100 symptom_delay_min = 15 symptom_delay_max = 30 + threshold_desc = "Stage Speed 6: Headaches will cause severe pain, that weakens the host.
\ + Stage Speed 9: Headaches become less frequent but far more intense, preventing any action from the host.
\ + Stealth 4: Reduces headache frequency until later stages." /datum/symptom/headache/Start(datum/disease/advance/A) ..() @@ -45,11 +49,11 @@ BONUS return var/mob/living/M = A.affected_mob if(power < 2) - if(prob(base_message_chance)) + if(prob(base_message_chance) || A.stage >=4) to_chat(M, "[pick("Your head hurts.", "Your head pounds.")]") - if(power >= 2) + if(power >= 2 && A.stage >= 4) to_chat(M, "[pick("Your head hurts a lot.", "Your head pounds incessantly.")]") M.adjustStaminaLoss(25) - if(power >= 3) + if(power >= 3 && A.stage >= 5) to_chat(M, "[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]") M.Stun(35) \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 7b31588240..5167b17e0d 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -1,5 +1,6 @@ /datum/symptom/heal name = "Basic Healing (does nothing)" //warning for adminspawn viruses + desc = "You should not be seeing this." stealth = 1 resistance = -4 stage_speed = -4 @@ -9,6 +10,9 @@ symptom_delay_min = 1 symptom_delay_max = 1 var/hide_healing = FALSE + threshold_desc = "Stage Speed 6: Doubles healing speed.
\ + Stage Speed 11: Triples healing speed.
\ + Stealth 4: Healing will no longer be visible to onlookers." /datum/symptom/heal/Start(datum/disease/advance/A) ..() @@ -51,6 +55,7 @@ Bonus /datum/symptom/heal/toxin name = "Toxic Filter" + desc = "The virus synthesizes regenerative chemicals in the bloodstream, repairing damage caused by toxins." stealth = 1 resistance = -4 stage_speed = -4 @@ -87,6 +92,7 @@ Bonus stage_speed = -2 transmittable = -2 level = 8 + desc = "The virus stimulates production of special stem cells in the bloodstream, causing rapid reparation of any damage caused by toxins." /datum/symptom/heal/toxin/plus/Heal(mob/living/M, datum/disease/advance/A) var/heal_amt = 2 * power @@ -115,6 +121,7 @@ Bonus /datum/symptom/heal/brute name = "Regeneration" + desc = "The virus stimulates the regenerative process in the host, causing faster wound healing." stealth = 1 resistance = -4 stage_speed = -4 @@ -158,6 +165,7 @@ Bonus /datum/symptom/heal/brute/plus name = "Flesh Mending" + desc = "The virus rapidly mutates into body cells, effectively allowing it to quickly fix the host's wounds." stealth = 0 resistance = 0 stage_speed = -2 @@ -207,6 +215,7 @@ Bonus /datum/symptom/heal/burn name = "Tissue Regrowth" + desc = "The virus recycles dead and burnt tissues, speeding up the healing of damage caused by burns." stealth = 1 resistance = -4 stage_speed = -4 @@ -248,7 +257,8 @@ Bonus /datum/symptom/heal/burn/plus - name = "Heat Resistance" + name = "Temperature Adaptation" + desc = "The virus quickly balances body heat, while also replacing tissues damaged by external sources." stealth = 0 resistance = 0 stage_speed = -2 @@ -297,6 +307,7 @@ Bonus /datum/symptom/heal/dna name = "Deoxyribonucleic Acid Restoration" + desc = "The virus repairs the host's genome, purging negative mutations." stealth = -1 resistance = -1 stage_speed = 0 @@ -304,9 +315,11 @@ Bonus level = 5 symptom_delay_min = 3 symptom_delay_max = 8 + threshold_desc = "Stage Speed 6: Additionally heals brain damage.
\ + Stage Speed 11: Increases brain damage healing." /datum/symptom/heal/dna/Heal(mob/living/carbon/M, datum/disease/advance/A) - var/amt_healed = 2 * power + var/amt_healed = 2 * (power - 1) M.adjustBrainLoss(-amt_healed) //Non-power mutations, excluding race, so the virus does not force monkey -> human transformations. var/list/unclean_mutations = (GLOB.not_good_mutations|GLOB.bad_mutations) - GLOB.mutations_list[RACEMUT] diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm index 880ac1f3e6..119b04b48a 100644 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -19,6 +19,7 @@ BONUS /datum/symptom/itching name = "Itching" + desc = "The virus irritates the skin, causing itching." stealth = 0 resistance = 3 stage_speed = 3 @@ -28,6 +29,8 @@ BONUS symptom_delay_min = 5 symptom_delay_max = 25 var/scratch = FALSE + threshold_desc = "Transmission 6: Increases frequency of itching.
\ + Stage Speed 7: The host will scrath itself when itching, causing superficial damage." /datum/symptom/itching/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/narcolepsy.dm b/code/datums/diseases/advance/symptoms/narcolepsy.dm index a5a2bd7a4c..d850d257cb 100644 --- a/code/datums/diseases/advance/symptoms/narcolepsy.dm +++ b/code/datums/diseases/advance/symptoms/narcolepsy.dm @@ -14,6 +14,7 @@ Bonus */ /datum/symptom/narcolepsy name = "Narcolepsy" + desc = "The virus causes a hormone imbalance, making the host sleepy and narcoleptic." stealth = -1 resistance = -2 stage_speed = -3 @@ -25,6 +26,8 @@ Bonus var/sleep_level = 0 var/sleepy_ticks = 0 var/stamina = FALSE + threshold_desc = "Transmission 7: Also relaxes the muscles, weakening and slowing the host.
\ + Resistance 10: Causes narcolepsy more often, increasing the chance of the host falling asleep." /datum/symptom/narcolepsy/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm index 5949e84420..da085ab153 100644 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/oxygen name = "Self-Respiration" + desc = "The virus rapidly synthesizes oxygen, effectively removing the need for breathing." stealth = 1 resistance = -3 stage_speed = -3 @@ -27,6 +28,7 @@ Bonus symptom_delay_min = 1 symptom_delay_max = 1 var/regenerate_blood = FALSE + threshold_desc = "Resistance 8:Additionally regenerates lost blood.
" /datum/symptom/oxygen/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index 3063ee06f6..dd417e50ed 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -15,8 +15,9 @@ Bonus ////////////////////////////////////// */ -/datum/symptom/sensory_restoration - name = "Sensory Restoration" +/datum/symptom/mind_restoration + name = "Mind Restoration" + desc = "The virus strengthens the bonds between neurons, reducing the duration of any ailments of the mind." stealth = -1 resistance = -4 stage_speed = -4 @@ -27,15 +28,17 @@ Bonus symptom_delay_max = 10 var/purge_alcohol = FALSE var/brain_heal = FALSE + threshold_desc = "Resistance 6: Heals brain damage.
\ + Transmission 8: Purges alcohol in the bloodstream." -/datum/symptom/sensory_restoration/Start(datum/disease/advance/A) +/datum/symptom/mind_restoration/Start(datum/disease/advance/A) ..() if(A.properties["resistance"] >= 6) //heal brain damage brain_heal = TRUE if(A.properties["transmittable"] >= 8) //purge alcohol purge_alcohol = TRUE -/datum/symptom/sensory_restoration/Activate(var/datum/disease/advance/A) +/datum/symptom/mind_restoration/Activate(var/datum/disease/advance/A) if(!..()) return var/mob/living/M = A.affected_mob diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm index cf88fcf6db..a578289e17 100644 --- a/code/datums/diseases/advance/symptoms/shedding.dm +++ b/code/datums/diseases/advance/symptoms/shedding.dm @@ -15,8 +15,8 @@ BONUS */ /datum/symptom/shedding - name = "Alopecia" + desc = "The virus causes rapid shedding of head and body hair." stealth = 0 resistance = 1 stage_speed = -1 diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm index 4c9ec94a2b..f40fd151d9 100644 --- a/code/datums/diseases/advance/symptoms/shivering.dm +++ b/code/datums/diseases/advance/symptoms/shivering.dm @@ -16,8 +16,8 @@ Bonus */ /datum/symptom/shivering - name = "Shivering" + desc = "The virus inhibits the body's thermoregulation, cooling the body down." stealth = 0 resistance = 2 stage_speed = 2 @@ -27,6 +27,8 @@ Bonus symptom_delay_min = 10 symptom_delay_max = 30 var/unsafe = FALSE //over the cold threshold + threshold_desc = "Stage Speed 5: Increases cooling speed; the host can fall below safe temperature levels.
\ + Stage Speed 10: Further increases cooling speed." /datum/symptom/fever/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index 09eea77520..014607eb44 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -17,6 +17,7 @@ BONUS /datum/symptom/vitiligo name = "Vitiligo" + desc = "The virus destroys skin pigment cells, causing rapid loss of pigmentation in the host." stealth = -3 resistance = -1 stage_speed = -1 @@ -61,6 +62,7 @@ BONUS /datum/symptom/revitiligo name = "Revitiligo" + desc = "The virus causes increased production of skin pigment cells, making the host's skin grow darker over time." stealth = -3 resistance = -1 stage_speed = -1 diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index fda1fc765c..085b5ff592 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/sneeze name = "Sneezing" + desc = "The virus causes irritation of the nasal cavity, making the host sneeze occasionally." stealth = -2 resistance = 3 stage_speed = 0 @@ -26,6 +27,8 @@ Bonus severity = 1 symptom_delay_min = 5 symptom_delay_max = 35 + threshold_desc = "Transmission 9: Increases sneezing range, spreading the virus over a larger area.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/sneeze/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm index 4bcb1b502f..8557375dbd 100644 --- a/code/datums/diseases/advance/symptoms/symptoms.dm +++ b/code/datums/diseases/advance/symptoms/symptoms.dm @@ -3,6 +3,8 @@ /datum/symptom // Buffs/Debuffs the symptom has to the overall engineered disease. var/name = "" + var/desc = "If you see this something went very wrong." //Basic symptom description + var/threshold_desc = "" //Description of threshold effects var/stealth = 0 var/resistance = 0 var/stage_speed = 0 @@ -25,6 +27,7 @@ var/power = 1 //A neutered symptom has no effect, and only affects statistics. var/neutered = FALSE + var/list/thresholds /datum/symptom/New() var/list/S = SSdisease.list_symptoms @@ -37,7 +40,6 @@ // Called when processing of the advance disease, which holds this symptom, starts. /datum/symptom/proc/Start(datum/disease/advance/A) next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) //so it doesn't instantly activate on infection - return // Called when the advance disease is going to be deleted or when the advance disease stops processing. /datum/symptom/proc/End(datum/disease/advance/A) @@ -58,3 +60,6 @@ new_symp.id = id new_symp.neutered = neutered return new_symp + +/datum/symptom/proc/generate_threshold_desc() + return diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm index 49bb2d674c..539c57c92e 100644 --- a/code/datums/diseases/advance/symptoms/viral.dm +++ b/code/datums/diseases/advance/symptoms/viral.dm @@ -15,6 +15,7 @@ BONUS */ /datum/symptom/viraladaptation name = "Viral self-adaptation" + desc = "The virus mimics the function of normal body cells, becoming harder to spot and to eradicate, but reducing its speed." stealth = 3 resistance = 5 stage_speed = -3 @@ -38,6 +39,8 @@ BONUS */ /datum/symptom/viralevolution name = "Viral evolutionary acceleration" + desc = "The virus quickly adapts to spread as fast as possible both outside and inside a host. \ + This, however, makes the virus easier to spot, and less able to fight off a cure." stealth = -2 resistance = -3 stage_speed = 5 @@ -65,6 +68,8 @@ Bonus /datum/symptom/viralreverse name = "Viral aggressive metabolism" + desc = "The virus sacrifices its long term survivability to gain a near-instant spread when inside a host. \ + The virus will start at the lastest stage, but will eventually decay and die off by itself." stealth = -2 resistance = 1 stage_speed = 3 @@ -73,6 +78,8 @@ Bonus symptom_delay_min = 1 symptom_delay_max = 1 var/time_to_cure + threshold_desc = "Resistance/Stage Speed: Highest between these determines the amount of time before self-curing.
\ + Stealth 4: Doubles the time before the virus self-cures." /datum/symptom/viralreverse/Activate(datum/disease/advance/A) if(!..()) diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm index 9148139e50..04f5d72ba6 100644 --- a/code/datums/diseases/advance/symptoms/vision.dm +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/visionloss name = "Hyphema" + desc = "The virus causes inflammation of the retina, leading to eye damage and eventually blindness." stealth = -1 resistance = -4 stage_speed = -4 @@ -28,6 +29,8 @@ Bonus symptom_delay_min = 25 symptom_delay_max = 80 var/remove_eyes = FALSE + threshold_desc = "Resistance 12: Weakens extraocular muscles, eventually leading to complete detachment of the eyes.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/visionloss/Start(datum/disease/advance/A) ..() @@ -88,6 +91,7 @@ Bonus /datum/symptom/visionaid name = "Ocular Restoration" + desc = "The virus stimulates the production and replacement of eye cells, causing the host to regenerate its eyes when damaged." stealth = -1 resistance = -3 stage_speed = -2 diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm index 3abeb42f03..bdeb6321bc 100644 --- a/code/datums/diseases/advance/symptoms/voice_change.dm +++ b/code/datums/diseases/advance/symptoms/voice_change.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/voice_change name = "Voice Change" + desc = "The virus alters the pitch and tone of the host's vocal cords, changing how their voice sounds." stealth = -1 resistance = -2 stage_speed = -2 @@ -30,6 +31,9 @@ Bonus var/scramble_language = FALSE var/datum/language/current_language var/datum/language_holder/original_language + threshold_desc = "Transmission 14: The host's language center of the brain is damaged, leading to complete inability to speak or understand any language.
\ + Stage Speed 7: Changes voice more often.
\ + Stealth 3: The symptom remains hidden until active." /datum/symptom/voice_change/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm index e2be924d6a..983d20a66d 100644 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -22,6 +22,7 @@ Bonus /datum/symptom/vomit name = "Vomiting" + desc = "The virus causes nausea and irritates the stomach, causing occasional vomit." stealth = -2 resistance = -1 stage_speed = 0 @@ -33,6 +34,9 @@ Bonus symptom_delay_max = 80 var/vomit_blood = FALSE var/proj_vomit = 0 + threshold_desc = "Resistance 7: Host will vomit blood, causing internal damage.
\ + Transmission 7: Host will projectile vomit, increasing vomiting range.
\ + Stealth 4: The symptom remains hidden until active." /datum/symptom/vomit/Start(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm index ec371f1167..ea2577b800 100644 --- a/code/datums/diseases/advance/symptoms/weight.dm +++ b/code/datums/diseases/advance/symptoms/weight.dm @@ -18,6 +18,7 @@ Bonus /datum/symptom/weight_gain name = "Weight Gain" + desc = "The virus mutates the host's metabolism, making it gain weight much faster than normal." stealth = -3 resistance = -3 stage_speed = -2 @@ -27,6 +28,7 @@ Bonus base_message_chance = 100 symptom_delay_min = 15 symptom_delay_max = 45 + threshold_desc = "Stealth 4: The symptom is less noticeable." /datum/symptom/weight_gain/Start(datum/disease/advance/A) ..() @@ -66,6 +68,7 @@ Bonus /datum/symptom/weight_loss name = "Weight Loss" + desc = "The virus mutates the host's metabolism, making it almost unable to gain nutrition from food." stealth = -3 resistance = -2 stage_speed = -2 @@ -75,6 +78,7 @@ Bonus base_message_chance = 100 symptom_delay_min = 15 symptom_delay_max = 45 + threshold_desc = "Stealth 4: The symptom is less noticeable." /datum/symptom/weight_loss/Start(datum/disease/advance/A) ..() @@ -116,6 +120,7 @@ Bonus /datum/symptom/weight_even name = "Weight Even" + desc = "The virus alters the host's metabolism, making it far more efficient then normal, and synthesizing nutrients from normally unedible sources." stealth = -3 resistance = -2 stage_speed = -2 diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm index 9793313354..6be34684e7 100644 --- a/code/datums/diseases/advance/symptoms/youth.dm +++ b/code/datums/diseases/advance/symptoms/youth.dm @@ -18,6 +18,8 @@ BONUS /datum/symptom/youth name = "Eternal Youth" + desc = "The virus becomes symbiotically connected to the cells in the host's body, preventing and reversing aging. \ + The virus, in turn, becomes more resistant, spreads faster, and is harder to spot, although it doesn't thrive as well without a host." stealth = 3 resistance = 4 stage_speed = 4 diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index 5238c65465..4c0a5fb11e 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -27,7 +27,7 @@ var/config_max_users = 0 var/config_min_users = 0 var/voteweight = 1 - + var/allow_custom_shuttles = "yes" /datum/map_config/New(filename = "data/next_map.json", default_to_box, delete_after) if(default_to_box) return @@ -44,12 +44,12 @@ if(!json) log_world("Could not open map_config: [filename]") return - + json = file2text(json) if(!json) log_world("map_config is not text: [filename]") return - + json = json_decode(json) if(!json) log_world("map_config is not json: [filename]") @@ -58,7 +58,7 @@ if(!ValidateJSON(json)) log_world("map_config failed to validate for above reason: [filename]") return - + config_filename = filename map_name = json["map_name"] @@ -66,6 +66,7 @@ map_file = json["map_file"] minetype = json["minetype"] + allow_custom_shuttles = json["allow_custom_shuttles"] var/list/jtcl = json["transition_config"] @@ -74,7 +75,7 @@ for(var/I in jtcl) transition_config[TransitionStringToEnum(I)] = TransitionStringToEnum(jtcl[I]) - + defaulted = FALSE #define CHECK_EXISTS(X) if(!istext(json[X])) { log_world(X + "missing from json!"); return; } @@ -84,6 +85,7 @@ CHECK_EXISTS("map_file") CHECK_EXISTS("minetype") CHECK_EXISTS("transition_config") + CHECK_EXISTS("allow_custom_shuttles") var/path = GetFullMapPath(json["map_path"], json["map_file"]) if(!fexists(path)) @@ -92,7 +94,7 @@ if(json["transition_config"] != "default") if(!islist(json["transition_config"])) - log_world("transition_config is not a list!") + log_world("transition_config is not a list!") return var/list/jtcl = json["transition_config"] diff --git a/code/datums/mind.dm b/code/datums/mind.dm index af44f9c8ae..78a402a2dc 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -370,6 +370,9 @@ if(!SSticker.HasRoundStarted()) alert("Not before round-start!", "Alert") return + if(QDELETED(src) || QDELETED(current)) + alert("This mind doesn't have a mob, or is deleted! For some reason!", "Edit Memory") + return var/out = "[name][(current&&(current.real_name!=name))?" (as [current.real_name])":""]
" out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
" @@ -377,28 +380,155 @@ out += "Faction and special role: [special_role]
" var/list/sections = list( + "traitor", // "traitorchan", + "changeling", + "nuclear", + "wizard", "revolution", "gang", "cult", - "wizard", - "changeling", - "nuclear", - "traitor", // "traitorchan", - "monkey", "clockcult", + "abductor", "devil", - "ninja" + "ninja", + "monkey" ) var/text = "" + /** TRAITOR ***/ + text = "traitor" + if (SSticker.mode.config_tag=="traitor" || SSticker.mode.config_tag=="traitorchan") + text = uppertext(text) + text = "[text]: " + if (src in SSticker.mode.traitors) + text += "TRAITOR | loyal" + if (objectives.len==0) + text += "
Objectives are empty! Randomize!" + else + text += "traitor | LOYAL" + + if(current && current.client && (ROLE_TRAITOR in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" + + sections["traitor"] = text + + + if(ishuman(current) || ismonkey(current)) + + /** CHANGELING ***/ + text = "changeling" + if (SSticker.mode.config_tag=="changeling" || SSticker.mode.config_tag=="traitorchan") + text = uppertext(text) + text = "[text]: " + if ((src in SSticker.mode.changelings) && special_role) + text += "YES | no" + if (objectives.len==0) + text += "
Objectives are empty! Randomize!" + if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) ) + text += "
Transform to initial appearance." + else if(src in SSticker.mode.changelings) //Station Aligned Changeling + text += "YES (but not an antag) | no" + if (objectives.len==0) + text += "
Objectives are empty! Randomize!" + if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) ) + text += "
Transform to initial appearance." + else + text += "yes | NO" + + if(current && current.client && (ROLE_CHANGELING in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" + + sections["changeling"] = text + + + /** MONKEY ***/ + text = "monkey" + if (SSticker.mode.config_tag=="monkey") + text = uppertext(text) + text = "[text]: " + if (ishuman(current)) + text += "healthy | infected | HUMAN | other" + else if(ismonkey(current)) + var/found = FALSE + for(var/datum/disease/transformation/jungle_fever/JF in current.viruses) + found = TRUE + break + + if(found) + text += "healthy | INFECTED | human | other" + else + text += "HEALTHY | infected | human | other" + + else + text += "healthy | infected | human | OTHER" + + if(current && current.client && (ROLE_MONKEY in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" + + sections["monkey"] = text + if(ishuman(current)) + + /** NUCLEAR ***/ + text = "nuclear" + if (SSticker.mode.config_tag=="nuclear") + text = uppertext(text) + text = "[text]: " + if (src in SSticker.mode.syndicates) + text += "OPERATIVE | nanotrasen" + text += "
To shuttle, undress, dress up." + var/code + for (var/obj/machinery/nuclearbomb/bombue in GLOB.machines) + if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN") + code = bombue.r_code + break + if (code) + text += " Code is [code]. tell the code." + else + text += "operative | NANOTRASEN" + + if(current && current.client && (ROLE_OPERATIVE in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" + + sections["nuclear"] = text + + + /** WIZARD ***/ + text = "wizard" + if (SSticker.mode.config_tag=="wizard") + text = uppertext(text) + text = "[text]: " + if ((src in SSticker.mode.wizards) || (src in SSticker.mode.apprentices)) + text += "YES | no" + text += "
To lair, undress, dress up, let choose name." + if (objectives.len==0) + text += "
Objectives are empty! Randomize!" + else + text += "yes | NO" + + if(current && current.client && (ROLE_WIZARD in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" + + sections["wizard"] = text + + /** REVOLUTION ***/ text = "revolution" if (SSticker.mode.config_tag=="revolution") text = uppertext(text) text = "[text]: " if (assigned_role in GLOB.command_positions) - text += "HEAD|loyal|employee|headrev|rev" + text += "HEAD | not mindshielded | employee | headrev | rev" else if (src in SSticker.mode.head_revolutionaries) var/last_healthy_headrev = TRUE for(var/I in SSticker.mode.head_revolutionaries) @@ -408,16 +538,16 @@ if(M.z == ZLEVEL_STATION && !M.stat) last_healthy_headrev = FALSE break - text += "head|loyal|employee|[last_healthy_headrev ? "LAST " : ""]HEADREV|rev" + text += "head | not mindshielded | employee | [last_healthy_headrev ? "LAST " : ""]HEADREV | rev" text += "
Flash: give" var/list/L = current.get_contents() var/obj/item/device/assembly/flash/flash = locate() in L if (flash) if(!flash.crit_fail) - text += "|take." + text += " | take." else - text += "|take|repair." + text += " | take | repair." else text += "." @@ -425,16 +555,16 @@ if (objectives.len==0) text += "
Objectives are empty! Set to kill all heads." else if(current.isloyal()) - text += "head|LOYAL|employee|headrev|rev" + text += "head | MINDSHIELDED | employee | headrev | rev" else if (src in SSticker.mode.revolutionaries) - text += "head|loyal|employee|headrev|REV" + text += "head | not mindshielded | employee | headrev | REV" else - text += "head|loyal|EMPLOYEE|headrev|rev" + text += "head | not mindshielded | EMPLOYEE | headrev | rev" if(current && current.client && (ROLE_REV in current.client.prefs.be_special)) - text += "|Enabled in Prefs" + text += " | Enabled in Prefs" else - text += "|Disabled in Prefs" + text += " | Disabled in Prefs" sections["revolution"] = text @@ -443,16 +573,16 @@ if (SSticker.mode.config_tag=="gang") text = uppertext(text) text = "[text]: " - text += "[current.isloyal() ? "LOYAL" : "loyal"]|" + text += "[current.isloyal() ? "MINDSHIELDED" : "not mindshielded"] | " if(src in SSticker.mode.get_all_gangsters()) text += "none" else text += "NONE" if(current && current.client && (ROLE_GANG in current.client.prefs.be_special)) - text += "|Enabled in Prefs
" + text += " | Enabled in Prefs
" else - text += "|Disabled in Prefs
" + text += " | Disabled in Prefs
" for(var/datum/gang/G in SSticker.mode.gangs) text += "[G.name]: " @@ -460,14 +590,14 @@ text += "GANGSTER" else text += "gangster" - text += "|" + text += " | " if(src in (G.bosses)) text += "GANG LEADER" - text += "|Equipment: give" + text += " | Equipment: give" var/list/L = current.get_contents() var/obj/item/device/gangtool/gangtool = locate() in L if (gangtool) - text += "|take" + text += " | take" else text += "gang leader" @@ -478,233 +608,113 @@ sections["gang"] = text - /** Abductors **/ - text = "Abductor" + /** ABDUCTION **/ + text = "abductor" if(SSticker.mode.config_tag == "abductor") text = uppertext(text) text = "[text]: " if(src in SSticker.mode.abductors) - text += "Abductor|human" - text += "|undress|equip" + text += "Abductor | human" + text += " | undress | equip" else - text += "Abductor|human" + text += "abductor | human" if(current && current.client && (ROLE_ABDUCTOR in current.client.prefs.be_special)) - text += "|Enabled in Prefs" + text += " | Enabled in Prefs" else - text += "|Disabled in Prefs" + text += " | Disabled in Prefs" sections["abductor"] = text - /** NUCLEAR ***/ - text = "nuclear" - if (SSticker.mode.config_tag=="nuclear") + + /** DEVIL ***/ + text = "devil" + if(SSticker.mode.config_tag == "devil") text = uppertext(text) text = "[text]: " - if (src in SSticker.mode.syndicates) - text += "OPERATIVE|nanotrasen" - text += "
To shuttle, undress, dress up." - var/code - for (var/obj/machinery/nuclearbomb/bombue in GLOB.machines) - if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN") - code = bombue.r_code - break - if (code) - text += " Code is [code]. tell the code." + var/datum/antagonist/devil/devilinfo = has_antag_datum(ANTAG_DATUM_DEVIL) + if(devilinfo) + if(!devilinfo.ascendable) + text += "DEVIL | ascendable devil | sintouched | human" + else + text += "DEVIL | ASCENDABLE DEVIL | sintouched | human" + else if(src in SSticker.mode.sintouched) + text += "devil | ascendable devil | SINTOUCHED | human" else - text += "operative|NANOTRASEN" + text += "devil | ascendable devil | sintouched | HUMAN" - if(current && current.client && (ROLE_OPERATIVE in current.client.prefs.be_special)) - text += "|Enabled in Prefs" + if(current && current.client && (ROLE_DEVIL in current.client.prefs.be_special)) + text += " | Enabled in Prefs" else - text += "|Disabled in Prefs" + text += " | Disabled in Prefs" + sections["devil"] = text - sections["nuclear"] = text - /** WIZARD ***/ - text = "wizard" - if (SSticker.mode.config_tag=="wizard") + /** NINJA ***/ + text = "ninja" + if(SSticker.mode.config_tag == "ninja") text = uppertext(text) text = "[text]: " - if ((src in SSticker.mode.wizards) || (src in SSticker.mode.apprentices)) - text += "YES|no" - text += "
To lair, undress, dress up, let choose name." - if (objectives.len==0) - text += "
Objectives are empty! Randomize!" + var/datum/antagonist/ninja/ninjainfo = has_antag_datum(ANTAG_DATUM_NINJA) + if(ninjainfo) + if(ninjainfo.helping_station) + text += "employee | syndicate | NANOTRASEN | EQUIP" + else + text += "employee | SYNDICATE | nanotrasen | EQUIP" else - text += "yes|NO" - - if(current && current.client && (ROLE_WIZARD in current.client.prefs.be_special)) - text += "|Enabled in Prefs" + text += "EMPLOYEE | syndicate | nanotrasen | random allegiance" + if(current && current.client && (ROLE_NINJA in current.client.prefs.be_special)) + text += " | Enabled in Prefs" else - text += "|Disabled in Prefs" + text += " | Disabled in Prefs" + sections["ninja"] = text - sections["wizard"] = text - /** CULT ***/ - text = "cult" - if (SSticker.mode.config_tag=="cult") - text = uppertext(text) - text = "[text]: " - if(iscultist(current)) - text += "loyal|employee|CULTIST" - text += "
Give tome|amulet." + if(!issilicon(current)) + /** CULT ***/ + text = "cult" + if (SSticker.mode.config_tag=="cult") + text = uppertext(text) + text = "[text]: " + if(iscultist(current)) + text += "not mindshielded | employee | CULTIST" + text += "
Give tome | amulet." + else if(is_convertable_to_cult(current)) + text += "not mindshielded | EMPLOYEE | cultist" + else + text += "[!current.isloyal() ? "not mindshielded" : "MINDSHIELDED"] | EMPLOYEE | cannot serve Nar-Sie" - else if(current.isloyal()) - text += "LOYAL|employee|cultist" - else if(is_convertable_to_cult(current)) - text += "loyal|EMPLOYEE|cultist" - else - text += "loyal|EMPLOYEE|cannot serve Nar-Sie" + if(current && current.client && (ROLE_CULTIST in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" - if(current && current.client && (ROLE_CULTIST in current.client.prefs.be_special)) - text += "|Enabled in Prefs" - else - text += "|Disabled in Prefs" + sections["cult"] = text - sections["cult"] = text - /** CLOCKWORK CULT **/ - text = "clockwork cult" - if(SSticker.mode.config_tag == "clockwork cult") - text = uppertext(text) - text = "[text]: " - if(is_servant_of_ratvar(current)) - text += "loyal|employee|SERVANT" - text += "
Give slab" - else if(current.isloyal()) - text += "LOYAL|employee|servant" - else if(is_eligible_servant(current)) - text += "loyal|EMPLOYEE|servant" - else - text += "loyal|EMPLOYEE|cannot serve Ratvar" + if(ishuman(current) || issilicon(current)) + /** CLOCKWORK CULT **/ + text = "clockwork cult" + if(SSticker.mode.config_tag == "clockwork cult") + text = uppertext(text) + text = "[text]: " + if(is_servant_of_ratvar(current)) + text += "not mindshielded | employee | SERVANT" + text += "
Give slab" + else if(is_eligible_servant(current)) + text += "not mindshielded | EMPLOYEE | servant" + else + text += "[!current.isloyal() ? "not mindshielded" : "MINDSHIELDED"] | EMPLOYEE | cannot serve Ratvar" - if(current && current.client && (ROLE_SERVANT_OF_RATVAR in current.client.prefs.be_special)) - text += "|Enabled in Prefs" - else - text += "|Disabled in Prefs" + if(current && current.client && (ROLE_SERVANT_OF_RATVAR in current.client.prefs.be_special)) + text += " | Enabled in Prefs" + else + text += " | Disabled in Prefs" sections["clockcult"] = text - /** TRAITOR ***/ - text = "traitor" - if (SSticker.mode.config_tag=="traitor" || SSticker.mode.config_tag=="traitorchan") - text = uppertext(text) - text = "[text]: " - if (src in SSticker.mode.traitors) - text += "TRAITOR|loyal" - if (objectives.len==0) - text += "
Objectives are empty! Randomize!" - else - text += "traitor|LOYAL" - if(current && current.client && (ROLE_TRAITOR in current.client.prefs.be_special)) - text += "|Enabled in Prefs" - else - text += "|Disabled in Prefs" - - sections["traitor"] = text - - if(ishuman(current) || ismonkey(current)) - - /** CHANGELING ***/ - text = "changeling" - if (SSticker.mode.config_tag=="changeling" || SSticker.mode.config_tag=="traitorchan") - text = uppertext(text) - text = "[text]: " - if ((src in SSticker.mode.changelings) && special_role) - text += "YES|no" - if (objectives.len==0) - text += "
Objectives are empty! Randomize!" - if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) ) - text += "
Transform to initial appearance." - else if(src in SSticker.mode.changelings) //Station Aligned Changeling - text += "YES (but not an antag)|no" - if (objectives.len==0) - text += "
Objectives are empty! Randomize!" - if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) ) - text += "
Transform to initial appearance." - else - text += "yes|NO" - - if(current && current.client && (ROLE_CHANGELING in current.client.prefs.be_special)) - text += "|Enabled in Prefs" - else - text += "|Disabled in Prefs" - - sections["changeling"] = text - - /** MONKEY ***/ - text = "monkey" - if (SSticker.mode.config_tag=="monkey") - text = uppertext(text) - text = "[text]: " - if (ishuman(current)) - text += "healthy|infected|HUMAN|other" - else if(ismonkey(current)) - var/found = FALSE - for(var/datum/disease/transformation/jungle_fever/JF in current.viruses) - found = TRUE - break - - if(found) - text += "healthy|INFECTED|human|other" - else - text += "HEALTHY|infected|human|other" - - else - text += "healthy|infected|human|OTHER" - - if(current && current.client && (ROLE_MONKEY in current.client.prefs.be_special)) - text += "|Enabled in Prefs" - else - text += "|Disabled in Prefs" - - sections["monkey"] = text - - /** devil ***/ - text = "devil" - if(SSticker.mode.config_tag == "devil") - text = uppertext(text) - text = "[text]: " - var/datum/antagonist/devil/devilinfo = has_antag_datum(ANTAG_DATUM_DEVIL) - if(devilinfo) - if(!devilinfo.ascendable) - text += "DEVIL|Ascendable Devil|sintouched|human" - else - text += "DEVIL|ASCENDABLE DEVIL|sintouched|human" - else if(src in SSticker.mode.sintouched) - text += "devil|Ascendable Devil|SINTOUCHED|human" - else - text += "devil|Ascendable Devil|sintouched|HUMAN" - - if(current && current.client && (ROLE_DEVIL in current.client.prefs.be_special)) - text += "|Enabled in Prefs" - else - text += "|Disabled in Prefs" - sections["devil"] = text - -/** NINJA ***/ - text = "ninja" - if(SSticker.mode.config_tag == "ninja") - text = uppertext(text) - text = "[text]: " - var/datum/antagonist/ninja/ninjainfo = has_antag_datum(ANTAG_DATUM_NINJA) - if(ninjainfo) - if(ninjainfo.helping_station) - text += "employee | syndicate | NANOTRASEN | EQUIP" - else - text += "employee | SYNDICATE | nanotrasen | EQUIP" - else - text += "EMPLOYEE | syndicate | nanotrasen | random allegiance" - if(current && current.client && (ROLE_NINJA in current.client.prefs.be_special)) - text += " | Enabled in Prefs" - else - text += " | Disabled in Prefs" - sections["ninja"] = text - - -/** SILICON ***/ + /** SILICON ***/ if(issilicon(current)) text = "silicon" var/mob/living/silicon/robot/robot = current @@ -738,7 +748,7 @@ text = "Uplink: give" var/obj/item/device/uplink/U = find_syndicate_uplink() if(U) - text += "|take" + text += " | take" if (check_rights(R_FUN, 0)) text += ", [U.telecrystals] TC" else @@ -763,7 +773,10 @@ out += "Announce objectives

" - usr << browse(out, "window=edit_memory[src];size=500x600") + var/datum/browser/popup = new(usr, "edit_memory", "", 600, 600) + popup.set_content(out) + popup.open() + //usr << browse(out, "window=edit_memory[src];size=575x600") /datum/mind/Topic(href, href_list) @@ -890,7 +903,7 @@ if(objective&&objective.type==text2path("/datum/objective/[new_obj_type]")) def_num = objective.target_amount - var/target_number = input("Input target number:", "Objective", def_num) as num|null + var/target_number = input("Input target number:", "Objective", def_num) as num | null if (isnull(target_number))//Ordinarily, you wouldn't need isnull. In this case, the value may already exist. return @@ -1387,7 +1400,7 @@ sleep(0) //because deleting of virus is doing throught spawn(0) //What log_admin("[key_name(usr)] attempting to humanize [key_name(current)]") message_admins("[key_name_admin(usr)] attempting to humanize [key_name_admin(current)]") - H = M.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_DEFAULTMSG) + H = M.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_DEFAULTMSG) if(H) src = H.mind @@ -1421,7 +1434,7 @@ if(check_rights(R_FUN, 0)) var/obj/item/device/uplink/U = find_syndicate_uplink() if(U) - var/crystals = input("Amount of telecrystals for [key]","Syndicate uplink", U.telecrystals) as null|num + var/crystals = input("Amount of telecrystals for [key]","Syndicate uplink", U.telecrystals) as null | num if(!isnull(crystals)) U.telecrystals = crystals message_admins("[key_name_admin(usr)] changed [current]'s telecrystal count to [crystals].") @@ -1468,6 +1481,7 @@ if(!(src in SSticker.mode.syndicates)) SSticker.mode.syndicates += src SSticker.mode.update_synd_icons_added(src) + assigned_role = "Syndicate" special_role = "Syndicate" SSticker.mode.forge_syndicate_objectives(src) SSticker.mode.greet_syndicate(src) @@ -1715,7 +1729,7 @@ /mob/living/carbon/human/mind_initialize() ..() if(!mind.assigned_role) - mind.assigned_role = "Assistant" //defualt + mind.assigned_role = "Unassigned" //default //XENO /mob/living/carbon/alien/mind_initialize() diff --git a/code/datums/riding.dm.rej b/code/datums/riding.dm.rej deleted file mode 100644 index 8fe1b7d2d9..0000000000 --- a/code/datums/riding.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/datums/riding.dm b/code/datums/riding.dm (rejected hunks) -@@ -419,7 +419,7 @@ - icon = 'icons/obj/items_and_weapons.dmi.dmi' - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE -- flags = ABSTRACT | DROPDEL | NOBLUDGEON -+ flags_1 = ABSTRACT_1 | DROPDEL_1 | NOBLUDGEON_1 - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/mob/living/carbon/rider - var/mob/living/ridden diff --git a/code/datums/spawners_menu.dm b/code/datums/spawners_menu.dm new file mode 100644 index 0000000000..cc031d70bb --- /dev/null +++ b/code/datums/spawners_menu.dm @@ -0,0 +1,48 @@ +/datum/spawners_menu + var/mob/dead/observer/owner + +/datum/spawners_menu/New(mob/dead/observer/new_owner) + if(!istype(new_owner)) + qdel(src) + owner = new_owner + +/datum/spawners_menu/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.observer_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "spawners_menu", "Spawners Menu", 700, 600, master_ui, state) + ui.open() + +/datum/spawners_menu/ui_data(mob/user) + var/list/data = list() + data["spawners"] = list() + for(var/spawner in GLOB.mob_spawners) + var/list/this = list() + this["name"] = spawner + this["desc"] = "" + this["refs"] = list() + for(var/spawner_obj in GLOB.mob_spawners[spawner]) + this["refs"] += "\ref[spawner_obj]" + if(!this["desc"]) + var/obj/effect/mob_spawn/MS = spawner_obj + this["desc"] = MS.flavour_text + this["amount_left"] = LAZYLEN(GLOB.mob_spawners[spawner]) + data["spawners"] += list(this) + + return data + +/datum/spawners_menu/ui_act(action, params) + if(..()) + return + + var/spawner_ref = pick(GLOB.mob_spawners[params["name"]]) + var/obj/effect/mob_spawn/MS = locate(spawner_ref) in GLOB.poi_list + + switch(action) + if("jump") + if(MS) + owner.forceMove(get_turf(MS)) + . = TRUE + if("spawn") + if(MS) + MS.attack_ghost(owner) + . = TRUE \ No newline at end of file diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 02e7d0f515..9ca564cd2d 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -251,6 +251,10 @@ duration = -1 alert_type = null +/datum/status_effect/cultghost/tick() + if(owner.reagents) + owner.reagents.del_reagent("holywater") //can't be deconverted + /datum/status_effect/crusher_mark id = "crusher_mark" duration = 300 //if you leave for 30 seconds you lose the mark, deal with it diff --git a/code/game/area/Space_Station_13_areas.dm.rej b/code/game/area/Space_Station_13_areas.dm.rej deleted file mode 100644 index 841a8a2b0a..0000000000 --- a/code/game/area/Space_Station_13_areas.dm.rej +++ /dev/null @@ -1,29 +0,0 @@ -diff a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm (rejected hunks) -@@ -535,15 +535,15 @@ NOTE: there are two lists of areas in the end of this file: centcom and station - /area/crew_quarters/toilet/fitness - name = "Fitness Toilets" - icon_state = "toilet" -- -+ - /area/crew_quarters/toilet/female - name = "Female Toilets" - icon_state = "toilet" -- -+ - /area/crew_quarters/toilet/male - name = "Male Toilets" - icon_state = "toilet" -- -+ - /area/crew_quarters/toilet/restrooms - name = "Restrooms" - icon_state = "toilet" -@@ -1009,7 +1009,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station - - /area/security/execution/transfer - name = "Transfer Centre" -- -+ - /area/security/execution/education - name = "Prisoner Education Chamber" - diff --git a/code/game/area/areas.dm.rej b/code/game/area/areas.dm.rej deleted file mode 100644 index 3c097d1229..0000000000 --- a/code/game/area/areas.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/area/areas.dm b/code/game/area/areas.dm (rejected hunks) -@@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) - // Ambience goes down here -- make sure to list each area seperately for ease of adding things in later, thanks! Note: areas adjacent to each other should have the same sounds to prevent cutoff when possible.- LastyScratch - if(L.client && !L.client.ambience_playing && L.client.prefs.toggles & SOUND_SHIP_AMBIENCE) - L.client.ambience_playing = 1 -- L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ) -+ SEND_SOUND(L, sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ)) - - if(!(L.client && (L.client.prefs.toggles & SOUND_AMBIENCE))) - return //General ambience check is below the ship ambience so one can play without the other diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index b4e6db1ebe..f4cbcda098 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1,11 +1,4 @@ -#ifndef PIXEL_SCALE -#define PIXEL_SCALE 0 -#if DM_VERSION >= 512 -#error HEY, PIXEL_SCALE probably exists now, remove this gross ass shim. -#endif -#endif - /atom/movable layer = OBJ_LAYER var/last_move = null diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index a485bc2d1a..ab9c041efe 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -108,6 +108,7 @@ new_objective.explanation_text = "Protect [usr.real_name], the wizard." M.mind.objectives += new_objective SSticker.mode.apprentices += M.mind + M.mind.assigned_role = "Apprentice" M.mind.special_role = "apprentice" SSticker.mode.update_wiz_icons_added(M.mind) SEND_SOUND(M, sound('sound/effects/magic.ogg')) diff --git a/code/game/gamemodes/antag_spawner.dm.rej b/code/game/gamemodes/antag_spawner.dm.rej new file mode 100644 index 0000000000..ea9a00132a --- /dev/null +++ b/code/game/gamemodes/antag_spawner.dm.rej @@ -0,0 +1,9 @@ +diff a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm (rejected hunks) +@@ -108,6 +108,7 @@ + new_objective.explanation_text = "Protect [usr.real_name], the wizard." + M.mind.objectives += new_objective + SSticker.mode.apprentices += M.mind ++ M.mind.assigned_role = "Apprentice" + M.mind.special_role = "apprentice" + SSticker.mode.update_wiz_icons_added(M.mind) + M << sound('sound/effects/magic.ogg') diff --git a/code/game/gamemodes/blob/blobs/shield.dm b/code/game/gamemodes/blob/blobs/shield.dm index 173166ddf3..fedc2eb6ab 100644 --- a/code/game/gamemodes/blob/blobs/shield.dm +++ b/code/game/gamemodes/blob/blobs/shield.dm @@ -7,11 +7,9 @@ brute_resist = 0.25 explosion_block = 3 point_return = 4 - atmosblock = 1 + atmosblock = TRUE armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) - - /obj/structure/blob/shield/scannerreport() if(atmosblock) return "Will prevent the spread of atmospheric changes." @@ -26,10 +24,10 @@ icon_state = "blob_shield_damaged" name = "weakened strong blob" desc = "A wall of twitching tendrils." - atmosblock = 0 + atmosblock = FALSE else icon_state = initial(icon_state) name = initial(name) desc = initial(desc) - atmosblock = 1 - air_update_turf(1) + atmosblock = TRUE + air_update_turf(1) \ No newline at end of file diff --git a/code/game/gamemodes/blob/powers.dm.rej b/code/game/gamemodes/blob/powers.dm.rej deleted file mode 100644 index 27dc764a75..0000000000 --- a/code/game/gamemodes/blob/powers.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm (rejected hunks) -@@ -175,7 +175,7 @@ - SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg')) - to_chat(blobber, "You are a blobbernaut!") - to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") -- to_chat(blobber, "You can communicate with other blobbernauts and GLOB.overminds via :b") -+ to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b") - to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name]!") - to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]") - if(blobber) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index f6cdd64bb6..c2511f2302 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -8,6 +8,7 @@ opacity = 0 anchored = TRUE layer = BELOW_MOB_LAYER + CanAtmosPass = ATMOS_PASS_PROC var/point_return = 0 //How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed. max_integrity = 30 armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 70) @@ -16,19 +17,9 @@ var/heal_timestamp = 0 //we got healed when? var/brute_resist = 0.5 //multiplies brute damage by this var/fire_resist = 1 //multiplies burn damage by this - var/atmosblock = 0 //if the blob blocks atmos and heat spread + var/atmosblock = FALSE //if the blob blocks atmos and heat spread var/mob/camera/blob/overmind -/obj/structure/blob/attack_hand(mob/M) - . = ..() - M.changeNext_move(CLICK_CD_MELEE) - var/a = pick("gently stroke", "nuzzle", "affectionatly pet", "cuddle") - M.visible_message("[M] [a]s [src]!", "You [a] [src]!") - to_chat(overmind, "[M] [a]s you!") - playsound(src, 'sound/effects/blobattack.ogg', 50, 1) //SQUISH SQUISH - - - /obj/structure/blob/Initialize() var/area/Ablob = get_area(loc) if(Ablob.blob_allowed) //Is this area allowed for winning as blob? @@ -37,17 +28,16 @@ setDir(pick(GLOB.cardinals)) update_icon() .= ..() - ConsumeTile() if(atmosblock) - CanAtmosPass = ATMOS_PASS_NO air_update_turf(1) + ConsumeTile() /obj/structure/blob/proc/creation_action() //When it's created by the overmind, do this. return /obj/structure/blob/Destroy() if(atmosblock) - atmosblock = 0 + atmosblock = FALSE air_update_turf(1) GLOB.blobs_legit -= src //if it was in the legit blobs list, it isn't now GLOB.blobs -= src //it's no longer in the all blobs list either @@ -79,6 +69,9 @@ return 1 return 0 +/obj/structure/blob/CanAtmosPass(turf/T) + return !atmosblock + /obj/structure/blob/CanAStarPass(ID, dir, caller) . = 0 if(ismovableatom(caller)) @@ -353,4 +346,4 @@ icon_state = "blob" name = "blob" desc = "A thick wall of writhing tendrils." - brute_resist = 0.25 + brute_resist = 0.25 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/mutations.dm.rej b/code/game/gamemodes/changeling/powers/mutations.dm.rej deleted file mode 100644 index 57ff20a0b4..0000000000 --- a/code/game/gamemodes/changeling/powers/mutations.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm (rejected hunks) -@@ -395,7 +395,7 @@ - /obj/item/shield/changeling - name = "shield-like mass" - desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield." -- flags = ABSTRACT | NODROP | DROPDEL -+ flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "ling_shield" - lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' -@@ -443,7 +443,7 @@ - name = "flesh mass" - icon_state = "lingspacesuit" - desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." -- flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) -+ flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all. - diff --git a/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm index 0c740d7f36..18c8103eef 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm @@ -27,9 +27,6 @@ /turf/closed/wall/mineral/cult/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //no metal return list("operation_time" = 80, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL, "spawn_dir" = SOUTH) -/turf/closed/wall/shuttle/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //two sheets of metal - return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2), "spawn_dir" = SOUTH) - /turf/closed/wall/r_wall/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) return FALSE diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm index fb3a0c3de2..802cfa5078 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm @@ -140,7 +140,7 @@ playsound(targetturf, 'sound/magic/staff_healing.ogg', 50, 1) if(has_holy_water) - L.reagents.remove_reagent("holywater", 1000) + L.reagents.del_reagent("holywater") remove_ranged_ability() diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej deleted file mode 100644 index f97e3c8c1f..0000000000 --- a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm (rejected hunks) -@@ -6,6 +6,8 @@ - icon = 'icons/obj/clockwork_objects.dmi' - icon_state = "ratvarian_spear" - item_state = "ratvarian_spear" -+ lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi' -+ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' - force = 15 //Extra damage is dealt to targets in attack() - throwforce = 25 - armour_penetration = 10 diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 54536db73c..55f8ece5e6 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -3,8 +3,10 @@ desc = "A sword humming with unholy energy. It glows with a dim red light." icon_state = "cultblade" item_state = "cultblade" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' + righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 flags_1 = CONDUCT_1 sharpness = IS_SHARP w_class = WEIGHT_CLASS_BULKY @@ -52,6 +54,11 @@ desc = "A strange dagger said to be used by sinister groups for \"preparing\" a corpse before sacrificing it to their dark gods." icon = 'icons/obj/wizard.dmi' icon_state = "render" + item_state = "knife" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 w_class = WEIGHT_CLASS_SMALL force = 15 throwforce = 25 diff --git a/code/game/gamemodes/cult/cult_items.dm.rej b/code/game/gamemodes/cult/cult_items.dm.rej deleted file mode 100644 index cb9c6324c1..0000000000 --- a/code/game/gamemodes/cult/cult_items.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm (rejected hunks) -@@ -31,7 +31,7 @@ - /obj/item/melee/cultblade/ghost - name = "eldritch sword" - force = 19 //can't break normal airlocks -- flags = NODROP|DROPDEL -+ flags_1 = NODROP_1|DROPDEL_1 - - /obj/item/melee/cultblade/pickup(mob/living/user) - ..() diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index fb6d47f55c..936afe9090 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -913,7 +913,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/list/ghosts_on_rune = list() for(var/mob/dead/observer/O in get_turf(src)) if(O.client && !jobban_isbanned(O, ROLE_CULTIST)) - ghosts_on_rune |= O + ghosts_on_rune += O if(!ghosts_on_rune.len) to_chat(user, "There are no spirits near [src]!") fail_invoke() @@ -926,9 +926,9 @@ structure_check() searches for nearby cultist structures required for the invoca var/list/ghosts_on_rune = list() for(var/mob/dead/observer/O in get_turf(src)) if(O.client && !jobban_isbanned(O, ROLE_CULTIST)) - ghosts_on_rune |= O + ghosts_on_rune += O var/mob/dead/observer/ghost_to_spawn = pick(ghosts_on_rune) - var/mob/living/carbon/human/new_human = new(get_turf(src)) + var/mob/living/carbon/human/cult_ghost/new_human = new(get_turf(src)) new_human.real_name = ghost_to_spawn.real_name new_human.alpha = 150 //Makes them translucent new_human.equipOutfit(/datum/outfit/ghost_cultist) //give them armor @@ -959,3 +959,12 @@ structure_check() searches for nearby cultist structures required for the invoca for(var/obj/I in new_human) new_human.dropItemToGround(I, TRUE) new_human.dust() + +/mob/living/carbon/human/cult_ghost/spill_organs(no_brain, no_organs, no_bodyparts) //cult ghosts never drop a brain + no_brain = TRUE + . = ..() + +/mob/living/carbon/human/cult_ghost/getorganszone(zone, subzones = 0) + . = ..() + for(var/obj/item/organ/brain/B in .) //they're not that smart, really + . -= B diff --git a/code/game/gamemodes/cult/talisman.dm.rej b/code/game/gamemodes/cult/talisman.dm.rej deleted file mode 100644 index b4f739b6fc..0000000000 --- a/code/game/gamemodes/cult/talisman.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm (rejected hunks) -@@ -343,7 +343,7 @@ - desc = "Shackles that bind the wrists with sinister magic." - trashtype = /obj/item/restraints/handcuffs/energy/used - origin_tech = "materials=2;magnets=5" -- flags = DROPDEL -+ flags_1 = DROPDEL_1 - - /obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user) - user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", \ diff --git a/code/game/gamemodes/gang/gang_items.dm b/code/game/gamemodes/gang/gang_items.dm index ab3b52ab98..2c36d1c345 100644 --- a/code/game/gamemodes/gang/gang_items.dm +++ b/code/game/gamemodes/gang/gang_items.dm @@ -431,7 +431,7 @@ /datum/gang_item/equipment/dominator/purchase(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) var/area/usrarea = get_area(user.loc) var/usrturf = get_turf(user.loc) - if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION) + if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION || !usrarea.valid_territory) to_chat(user, "You can only use this on the station!") return FALSE diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm index 86f68029d0..120e3a6345 100644 --- a/code/game/gamemodes/gang/recaller.dm +++ b/code/game/gamemodes/gang/recaller.dm @@ -3,7 +3,9 @@ name = "suspicious device" desc = "A strange device of sorts. Hard to really make out what it actually does if you don't know how to operate it." icon_state = "gangtool-white" - item_state = "walkietalkie" + item_state = "radio" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' throwforce = 0 w_class = WEIGHT_CLASS_TINY throw_speed = 3 diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm.rej b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm.rej deleted file mode 100644 index 7e66243e36..0000000000 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm (rejected hunks) -@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} - - /obj/item/restraints/handcuffs/energy/used - desc = "energy discharge" -- flags = DROPDEL -+ flags_1 = DROPDEL_1 - - /obj/item/restraints/handcuffs/energy/used/dropped(mob/user) - user.visible_message("[user]'s [src] break in a discharge of energy!", \ diff --git a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm.rej b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm.rej deleted file mode 100644 index 3e8b7d8f67..0000000000 --- a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm (rejected hunks) -@@ -23,7 +23,7 @@ - var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H - if(V) - console.AddVest(V) -- V.flags |= NODROP -+ V.flags_1 |= NODROP_1 - - var/obj/item/storage/backpack/B = locate() in H - if(B) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm index acef4ec8ac..f422dcfcc5 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm @@ -1,8 +1,8 @@ /datum/round_event_control/spawn_swarmer name = "Spawn Swarmer Shell" typepath = /datum/round_event/spawn_swarmer - weight = 7 - max_occurrences = 1 //Only once okay fam + weight = 0 + max_occurrences = 0 //Only once okay fam earliest_start = 18000 //30 minutes min_players = 15 diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm index 0eb0882332..f763f742f7 100644 --- a/code/game/gamemodes/miniantags/morph/morph.dm +++ b/code/game/gamemodes/miniantags/morph/morph.dm @@ -32,7 +32,7 @@ attack_sound = 'sound/effects/blobattack.ogg' butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) - var/morphed = 0 + var/morphed = FALSE var/atom/movable/form = null var/morph_time = 0 var/static/list/blacklist_typecache = typecacheof(list( @@ -93,7 +93,10 @@ ..() /mob/living/simple_animal/hostile/morph/proc/assume(atom/movable/target) - morphed = 1 + if(morphed) + to_chat(src, "You must restore to your original form first!") + return + morphed = TRUE form = target visible_message("[src] suddenly twists and changes shape, becoming a copy of [target]!", \ @@ -117,8 +120,9 @@ /mob/living/simple_animal/hostile/morph/proc/restore() if(!morphed) + to_chat(src, "You're already in your normal form!") return - morphed = 0 + morphed = FALSE form = null alpha = initial(alpha) color = initial(color) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index f671d38395..7b2a20a297 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -6,7 +6,9 @@ /obj/item/device/nuclear_challenge name = "Declaration of War (Challenge Mode)" icon_state = "gangtool-red" - item_state = "walkietalkie" + item_state = "radio" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' desc = "Use to send a declaration of hostilities to the target, delaying your shuttle departure for 20 minutes while they prepare for your assault. \ Such a brazen move will attract the attention of powerful benefactors within the Syndicate, who will supply your team with a massive amount of bonus telecrystals. \ Must be used within five minutes, or your benefactors will lose interest." diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 59e4db9893..03e5d70b7a 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -8,7 +8,9 @@ desc = "A wicked curved blade of alien origin, recovered from the ruins of a vast city." icon = 'icons/obj/wizard.dmi' icon_state = "render" - item_state = "render" + item_state = "knife" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' force = 15 throwforce = 10 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 10e10e878a..7c1904d2fe 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -105,8 +105,8 @@ /obj/machinery/button/emag_act(mob/user) if(emagged) return - req_access = null - req_one_access = null + req_access = list() + req_one_access = list() playsound(src, "sparks", 100, 1) emagged = TRUE diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 7b8007755b..1df8fc11e6 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -58,12 +58,12 @@ human = 1 var/name = M.name - if (name in track.names) + while(name in track.names) track.namecounts[name]++ name = text("[] ([])", name, track.namecounts[name]) - else - track.names.Add(name) - track.namecounts[name] = 1 + track.names.Add(name) + track.namecounts[name] = 1 + if(human) track.humans[name] = M else diff --git a/code/game/machinery/computer/buildandrepair.dm.rej b/code/game/machinery/computer/buildandrepair.dm.rej deleted file mode 100644 index f58657eeda..0000000000 --- a/code/game/machinery/computer/buildandrepair.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm (rejected hunks) -@@ -136,7 +136,7 @@ - - - /obj/structure/frame/computer/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(state == 4) - new /obj/item/shard(loc) - new /obj/item/shard(loc) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 997ed52b70..bf67e05f11 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -456,7 +456,8 @@ dat += "
\[ Make a Captain's Announcement \]" if(config.cross_allowed) dat += "
\[ Send a message to an allied station \]" - dat += "
\[ Purchase Shuttle \]" + if(SSmapping.config.allow_custom_shuttles == "yes") + dat += "
\[ Purchase Shuttle \]" dat += "
\[ Change Alert Level \]" dat += "
\[ Emergency Maintenance Access \]" dat += "
\[ Request Nuclear Authentication Codes \]" diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index f12341d669..65a92c0b1a 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -1,352 +1,352 @@ -/obj/machinery/door - name = "door" - desc = "It opens and closes." - icon = 'icons/obj/doors/Doorint.dmi' - icon_state = "door1" - anchored = TRUE - opacity = 1 - density = TRUE - layer = OPEN_DOOR_LAYER - power_channel = ENVIRON - max_integrity = 350 - armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 80, acid = 70) - CanAtmosPass = ATMOS_PASS_DENSITY - flags_1 = PREVENT_CLICK_UNDER_1 - - var/secondsElectrified = 0 - var/shockedby = list() - var/visible = TRUE - var/operating = FALSE - var/glass = FALSE - var/welded = FALSE - var/normalspeed = 1 - var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors - var/emergency = FALSE // Emergency access override - var/sub_door = FALSE // true if it's meant to go under another door. - var/closingLayer = CLOSED_DOOR_LAYER - var/autoclose = FALSE //does it automatically close after some time - var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them. - var/locked = FALSE //whether the door is bolted or not. - var/assemblytype //the type of door frame to drop during deconstruction - var/auto_close //TO BE REMOVED, no longer used, it's just preventing a runtime with a map var edit. - var/datum/effect_system/spark_spread/spark_system - var/damage_deflection = 10 - var/real_explosion_block //ignore this, just use explosion_block - -/obj/machinery/door/New() - ..() - if(density) - layer = CLOSED_DOOR_LAYER //Above most items if closed - else - layer = OPEN_DOOR_LAYER //Under all objects if opened. 2.7 due to tables being at 2.6 - update_freelook_sight() - air_update_turf(1) - GLOB.airlocks += src - spark_system = new /datum/effect_system/spark_spread - spark_system.set_up(2, 1, src) - - //doors only block while dense though so we have to use the proc - real_explosion_block = explosion_block - explosion_block = EXPLOSION_BLOCK_PROC - -/obj/machinery/door/Destroy() - density = FALSE - air_update_turf(1) - update_freelook_sight() - GLOB.airlocks -= src - if(spark_system) - qdel(spark_system) - spark_system = null - return ..() - -//process() - //return - -/obj/machinery/door/CollidedWith(atom/movable/AM) - if(operating || emagged) - return - if(ismob(AM)) - var/mob/B = AM - if((isdrone(B) || iscyborg(B)) && B.stat) - return - if(isliving(AM)) - var/mob/living/M = AM - if(world.time - M.last_bumped <= 10) - return //Can bump-open one airlock per second. This is to prevent shock spam. - M.last_bumped = world.time - if(M.restrained() && !check_access(null)) - return - bumpopen(M) - return - - if(istype(AM, /obj/mecha)) - var/obj/mecha/mecha = AM - if(density) - if(mecha.occupant) - if(world.time - mecha.occupant.last_bumped <= 10) - return - mecha.occupant.last_bumped = world.time - if(mecha.occupant && (src.allowed(mecha.occupant) || src.check_access_list(mecha.operation_req_access))) - open() - else - do_animate("deny") - return - return - -/obj/machinery/door/Move() - var/turf/T = loc - ..() - move_update_air(T) - -/obj/machinery/door/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) - return !opacity - return !density - -/obj/machinery/door/proc/bumpopen(mob/user) - if(operating) - return - src.add_fingerprint(user) - if(!src.requiresID()) - user = null - - if(density && !emagged) - if(allowed(user)) - open() - else - do_animate("deny") - return - - -/obj/machinery/door/attack_ai(mob/user) - return src.attack_hand(user) - -/obj/machinery/door/attack_hand(mob/user) - return try_to_activate_door(user) - - -/obj/machinery/door/attack_tk(mob/user) - if(requiresID() && !allowed(null)) - return - ..() - -/obj/machinery/door/proc/try_to_activate_door(mob/user) - add_fingerprint(user) - if(operating || emagged) - return - if(!requiresID()) - user = null //so allowed(user) always succeeds - if(allowed(user)) - if(density) - open() - else - close() - return - if(density) - do_animate("deny") - -/obj/machinery/door/allowed(mob/M) - if(emergency) - return TRUE - return ..() - -/obj/machinery/door/proc/try_to_weld(obj/item/weldingtool/W, mob/user) - return - -/obj/machinery/door/proc/try_to_crowbar(obj/item/I, mob/user) - return - -/obj/machinery/door/attackby(obj/item/I, mob/user, params) - if(user.a_intent != INTENT_HARM && (istype(I, /obj/item/crowbar) || istype(I, /obj/item/twohanded/fireaxe))) - try_to_crowbar(I, user) - return 1 - else if(istype(I, /obj/item/weldingtool)) - try_to_weld(I, user) - return 1 - else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM) - try_to_activate_door(user) - return 1 - return ..() - -/obj/machinery/door/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) - if(damage_flag == "melee" && damage_amount < damage_deflection) - return 0 - . = ..() - -/obj/machinery/door/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) - . = ..() - if(. && obj_integrity > 0) - if(damage_amount >= 10 && prob(30)) - spark_system.start() - -/obj/machinery/door/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - if(glass) - playsound(loc, 'sound/effects/glasshit.ogg', 90, 1) - else if(damage_amount) - playsound(loc, 'sound/weapons/smash.ogg', 50, 1) - else - playsound(src, 'sound/weapons/tap.ogg', 50, 1) - if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, 1) - -/obj/machinery/door/emp_act(severity) - if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) ) - INVOKE_ASYNC(src, .proc/open) - if(prob(40/severity)) - if(secondsElectrified == 0) - secondsElectrified = -1 - shockedby += "\[[time_stamp()]\]EM Pulse" - addtimer(CALLBACK(src, .proc/unelectrify), 300) - ..() - -/obj/machinery/door/proc/unelectrify() - secondsElectrified = 0 - -/obj/machinery/door/update_icon() - if(density) - icon_state = "door1" - else - icon_state = "door0" - -/obj/machinery/door/proc/do_animate(animation) - switch(animation) - if("opening") - if(panel_open) - flick("o_doorc0", src) - else - flick("doorc0", src) - if("closing") - if(panel_open) - flick("o_doorc1", src) - else - flick("doorc1", src) - if("deny") - if(!stat) - flick("door_deny", src) - - -/obj/machinery/door/proc/open() - if(!density) - return 1 - if(operating) - return - operating = TRUE - do_animate("opening") - set_opacity(0) - sleep(5) - density = FALSE - sleep(5) - layer = OPEN_DOOR_LAYER - update_icon() - set_opacity(0) - operating = FALSE - air_update_turf(1) - update_freelook_sight() - if(autoclose) - spawn(autoclose) - close() - return 1 - -/obj/machinery/door/proc/close() - if(density) - return 1 - if(operating) - return - if(safe) - for(var/atom/movable/M in get_turf(src)) - if(M.density && M != src) //something is blocking the door - if(autoclose) - addtimer(CALLBACK(src, .proc/autoclose), 60) - return - operating = TRUE - - do_animate("closing") - layer = closingLayer - sleep(5) - density = TRUE - sleep(5) - update_icon() - if(visible && !glass) - set_opacity(1) - operating = FALSE - air_update_turf(1) - update_freelook_sight() - if(safe) - CheckForMobs() - else - crush() - return 1 - -/obj/machinery/door/proc/CheckForMobs() - if(locate(/mob/living) in get_turf(src)) - sleep(1) - open() - -/obj/machinery/door/proc/crush() - for(var/mob/living/L in get_turf(src)) - L.visible_message("[src] closes on [L], crushing them!", "[src] closes on you and crushes you!") - if(isalien(L)) //For xenos - L.adjustBruteLoss(DOOR_CRUSH_DAMAGE * 1.5) //Xenos go into crit after aproximately the same amount of crushes as humans. - L.emote("roar") - else if(ishuman(L)) //For humans - L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) - L.emote("scream") - L.Knockdown(100) - else if(ismonkey(L)) //For monkeys - L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) - L.Knockdown(100) - else //for simple_animals & borgs - L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) - var/turf/location = get_turf(src) - //add_blood doesn't work for borgs/xenos, but add_blood_floor does. - L.add_splatter_floor(location) - for(var/obj/mecha/M in get_turf(src)) - M.take_damage(DOOR_CRUSH_DAMAGE) - -/obj/machinery/door/proc/autoclose() - if(!QDELETED(src) && !density && !operating && !locked && !welded && autoclose) - close() - -/obj/machinery/door/proc/requiresID() - return 1 - -/obj/machinery/door/proc/hasPower() - return !(stat & NOPOWER) - -/obj/machinery/door/proc/update_freelook_sight() - if(!glass && GLOB.cameranet) - GLOB.cameranet.updateVisibility(src, 0) - -/obj/machinery/door/BlockSuperconductivity() // All non-glass airlocks block heat, this is intended. - if(opacity || heat_proof) - return 1 - return 0 - -/obj/machinery/door/morgue - icon = 'icons/obj/doors/doormorgue.dmi' - -/obj/machinery/door/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - return 0 - -/obj/machinery/door/proc/lock() - return - -/obj/machinery/door/proc/unlock() - return - -/obj/machinery/door/proc/hostile_lockdown(mob/origin) - if(!stat) //So that only powered doors are closed. - close() //Close ALL the doors! - -/obj/machinery/door/proc/disable_lockdown() - if(!stat) //Opens only powered doors. - open() //Open everything! - -/obj/machinery/door/ex_act(severity, target) - //if it blows up a wall it should blow up a door - ..(severity ? max(1, severity - 1) : 0, target) - -/obj/machinery/door/GetExplosionBlock() - return density ? real_explosion_block : 0 +/obj/machinery/door + name = "door" + desc = "It opens and closes." + icon = 'icons/obj/doors/Doorint.dmi' + icon_state = "door1" + anchored = TRUE + opacity = 1 + density = TRUE + layer = OPEN_DOOR_LAYER + power_channel = ENVIRON + max_integrity = 350 + armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 80, acid = 70) + CanAtmosPass = ATMOS_PASS_DENSITY + flags_1 = PREVENT_CLICK_UNDER_1 + + var/secondsElectrified = 0 + var/shockedby = list() + var/visible = TRUE + var/operating = FALSE + var/glass = FALSE + var/welded = FALSE + var/normalspeed = 1 + var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors + var/emergency = FALSE // Emergency access override + var/sub_door = FALSE // true if it's meant to go under another door. + var/closingLayer = CLOSED_DOOR_LAYER + var/autoclose = FALSE //does it automatically close after some time + var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them. + var/locked = FALSE //whether the door is bolted or not. + var/assemblytype //the type of door frame to drop during deconstruction + var/auto_close //TO BE REMOVED, no longer used, it's just preventing a runtime with a map var edit. + var/datum/effect_system/spark_spread/spark_system + var/damage_deflection = 10 + var/real_explosion_block //ignore this, just use explosion_block + +/obj/machinery/door/New() + ..() + if(density) + layer = CLOSED_DOOR_LAYER //Above most items if closed + else + layer = OPEN_DOOR_LAYER //Under all objects if opened. 2.7 due to tables being at 2.6 + update_freelook_sight() + air_update_turf(1) + GLOB.airlocks += src + spark_system = new /datum/effect_system/spark_spread + spark_system.set_up(2, 1, src) + + //doors only block while dense though so we have to use the proc + real_explosion_block = explosion_block + explosion_block = EXPLOSION_BLOCK_PROC + +/obj/machinery/door/Destroy() + density = FALSE + air_update_turf(1) + update_freelook_sight() + GLOB.airlocks -= src + if(spark_system) + qdel(spark_system) + spark_system = null + return ..() + +//process() + //return + +/obj/machinery/door/CollidedWith(atom/movable/AM) + if(operating || emagged) + return + if(ismob(AM)) + var/mob/B = AM + if((isdrone(B) || iscyborg(B)) && B.stat) + return + if(isliving(AM)) + var/mob/living/M = AM + if(world.time - M.last_bumped <= 10) + return //Can bump-open one airlock per second. This is to prevent shock spam. + M.last_bumped = world.time + if(M.restrained() && !check_access(null)) + return + bumpopen(M) + return + + if(istype(AM, /obj/mecha)) + var/obj/mecha/mecha = AM + if(density) + if(mecha.occupant) + if(world.time - mecha.occupant.last_bumped <= 10) + return + mecha.occupant.last_bumped = world.time + if(mecha.occupant && (src.allowed(mecha.occupant) || src.check_access_list(mecha.operation_req_access))) + open() + else + do_animate("deny") + return + return + +/obj/machinery/door/Move() + var/turf/T = loc + ..() + move_update_air(T) + +/obj/machinery/door/CanPass(atom/movable/mover, turf/target) + if(istype(mover) && mover.checkpass(PASSGLASS)) + return !opacity + return !density + +/obj/machinery/door/proc/bumpopen(mob/user) + if(operating) + return + src.add_fingerprint(user) + if(!src.requiresID()) + user = null + + if(density && !emagged) + if(allowed(user)) + open() + else + do_animate("deny") + return + + +/obj/machinery/door/attack_ai(mob/user) + return src.attack_hand(user) + +/obj/machinery/door/attack_hand(mob/user) + return try_to_activate_door(user) + + +/obj/machinery/door/attack_tk(mob/user) + if(requiresID() && !allowed(null)) + return + ..() + +/obj/machinery/door/proc/try_to_activate_door(mob/user) + add_fingerprint(user) + if(operating || emagged) + return + if(!requiresID()) + user = null //so allowed(user) always succeeds + if(allowed(user)) + if(density) + open() + else + close() + return + if(density) + do_animate("deny") + +/obj/machinery/door/allowed(mob/M) + if(emergency) + return TRUE + return ..() + +/obj/machinery/door/proc/try_to_weld(obj/item/weldingtool/W, mob/user) + return + +/obj/machinery/door/proc/try_to_crowbar(obj/item/I, mob/user) + return + +/obj/machinery/door/attackby(obj/item/I, mob/user, params) + if(user.a_intent != INTENT_HARM && (istype(I, /obj/item/crowbar) || istype(I, /obj/item/twohanded/fireaxe))) + try_to_crowbar(I, user) + return 1 + else if(istype(I, /obj/item/weldingtool)) + try_to_weld(I, user) + return 1 + else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM) + try_to_activate_door(user) + return 1 + return ..() + +/obj/machinery/door/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) + if(damage_flag == "melee" && damage_amount < damage_deflection) + return 0 + . = ..() + +/obj/machinery/door/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) + . = ..() + if(. && obj_integrity > 0) + if(damage_amount >= 10 && prob(30)) + spark_system.start() + +/obj/machinery/door/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + switch(damage_type) + if(BRUTE) + if(glass) + playsound(loc, 'sound/effects/glasshit.ogg', 90, 1) + else if(damage_amount) + playsound(loc, 'sound/weapons/smash.ogg', 50, 1) + else + playsound(src, 'sound/weapons/tap.ogg', 50, 1) + if(BURN) + playsound(src.loc, 'sound/items/welder.ogg', 100, 1) + +/obj/machinery/door/emp_act(severity) + if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) ) + INVOKE_ASYNC(src, .proc/open) + if(prob(40/severity)) + if(secondsElectrified == 0) + secondsElectrified = -1 + shockedby += "\[[time_stamp()]\]EM Pulse" + addtimer(CALLBACK(src, .proc/unelectrify), 300) + ..() + +/obj/machinery/door/proc/unelectrify() + secondsElectrified = 0 + +/obj/machinery/door/update_icon() + if(density) + icon_state = "door1" + else + icon_state = "door0" + +/obj/machinery/door/proc/do_animate(animation) + switch(animation) + if("opening") + if(panel_open) + flick("o_doorc0", src) + else + flick("doorc0", src) + if("closing") + if(panel_open) + flick("o_doorc1", src) + else + flick("doorc1", src) + if("deny") + if(!stat) + flick("door_deny", src) + + +/obj/machinery/door/proc/open() + if(!density) + return 1 + if(operating) + return + operating = TRUE + do_animate("opening") + set_opacity(0) + sleep(5) + density = FALSE + sleep(5) + layer = OPEN_DOOR_LAYER + update_icon() + set_opacity(0) + operating = FALSE + air_update_turf(1) + update_freelook_sight() + if(autoclose) + spawn(autoclose) + close() + return 1 + +/obj/machinery/door/proc/close() + if(density) + return 1 + if(operating) + return + if(safe) + for(var/atom/movable/M in get_turf(src)) + if(M.density && M != src) //something is blocking the door + if(autoclose) + addtimer(CALLBACK(src, .proc/autoclose), 60) + return + operating = TRUE + + do_animate("closing") + layer = closingLayer + sleep(5) + density = TRUE + sleep(5) + update_icon() + if(visible && !glass) + set_opacity(1) + operating = FALSE + air_update_turf(1) + update_freelook_sight() + if(safe) + CheckForMobs() + else + crush() + return 1 + +/obj/machinery/door/proc/CheckForMobs() + if(locate(/mob/living) in get_turf(src)) + sleep(1) + open() + +/obj/machinery/door/proc/crush() + for(var/mob/living/L in get_turf(src)) + L.visible_message("[src] closes on [L], crushing them!", "[src] closes on you and crushes you!") + if(isalien(L)) //For xenos + L.adjustBruteLoss(DOOR_CRUSH_DAMAGE * 1.5) //Xenos go into crit after aproximately the same amount of crushes as humans. + L.emote("roar") + else if(ishuman(L)) //For humans + L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) + L.emote("scream") + L.Knockdown(100) + else if(ismonkey(L)) //For monkeys + L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) + L.Knockdown(100) + else //for simple_animals & borgs + L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) + var/turf/location = get_turf(src) + //add_blood doesn't work for borgs/xenos, but add_blood_floor does. + L.add_splatter_floor(location) + for(var/obj/mecha/M in get_turf(src)) + M.take_damage(DOOR_CRUSH_DAMAGE) + +/obj/machinery/door/proc/autoclose() + if(!QDELETED(src) && !density && !operating && !locked && !welded && autoclose) + close() + +/obj/machinery/door/proc/requiresID() + return 1 + +/obj/machinery/door/proc/hasPower() + return !(stat & NOPOWER) + +/obj/machinery/door/proc/update_freelook_sight() + if(!glass && GLOB.cameranet) + GLOB.cameranet.updateVisibility(src, 0) + +/obj/machinery/door/BlockSuperconductivity() // All non-glass airlocks block heat, this is intended. + if(opacity || heat_proof) + return 1 + return 0 + +/obj/machinery/door/morgue + icon = 'icons/obj/doors/doormorgue.dmi' + +/obj/machinery/door/get_dumping_location(obj/item/storage/source,mob/user) + return null + +/obj/machinery/door/proc/lock() + return + +/obj/machinery/door/proc/unlock() + return + +/obj/machinery/door/proc/hostile_lockdown(mob/origin) + if(!stat) //So that only powered doors are closed. + close() //Close ALL the doors! + +/obj/machinery/door/proc/disable_lockdown() + if(!stat) //Opens only powered doors. + open() //Open everything! + +/obj/machinery/door/ex_act(severity, target) + //if it blows up a wall it should blow up a door + ..(severity ? max(1, severity - 1) : 0, target) + +/obj/machinery/door/GetExplosionBlock() + return density ? real_explosion_block : 0 diff --git a/code/game/machinery/doors/door.dm.rej b/code/game/machinery/doors/door.dm.rej deleted file mode 100644 index 7d3066935d..0000000000 --- a/code/game/machinery/doors/door.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm (rejected hunks) -@@ -163,7 +163,7 @@ - else if(istype(I, /obj/item/weldingtool)) - try_to_weld(I, user) - return 1 -- else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM) -+ else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM) - try_to_activate_door(user) - return 1 - return ..() diff --git a/code/game/machinery/doors/windowdoor.dm.rej b/code/game/machinery/doors/windowdoor.dm.rej deleted file mode 100644 index 675a389de8..0000000000 --- a/code/game/machinery/doors/windowdoor.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm (rejected hunks) -@@ -11,7 +11,7 @@ - integrity_failure = 0 - armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100) - visible = FALSE -- flags = ON_BORDER -+ flags_1 = ON_BORDER_1 - opacity = 0 - CanAtmosPass = ATMOS_PASS_PROC - var/obj/item/electronics/airlock/electronics = null -@@ -221,7 +221,7 @@ - return - - add_fingerprint(user) -- if(!(flags&NODECONSTRUCT)) -+ if(!(flags_1&NODECONSTRUCT_1)) - if(istype(I, /obj/item/screwdriver)) - if(density || operating) - to_chat(user, "You need to open the door to access the maintenance panel!") diff --git a/code/game/machinery/firealarm.dm.rej b/code/game/machinery/firealarm.dm.rej deleted file mode 100644 index 3b656ac7fa..0000000000 --- a/code/game/machinery/firealarm.dm.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm (rejected hunks) -@@ -239,12 +239,12 @@ - alarm() - - /obj/machinery/firealarm/obj_break(damage_flag) -- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside. -+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside. - stat |= BROKEN - update_icon() - - /obj/machinery/firealarm/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/metal(loc, 1) - if(!(stat & BROKEN)) - var/obj/item/I = new /obj/item/electronics/firealarm(loc) diff --git a/code/game/machinery/iv_drip.dm.rej b/code/game/machinery/iv_drip.dm.rej deleted file mode 100644 index 490beb519f..0000000000 --- a/code/game/machinery/iv_drip.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm (rejected hunks) -@@ -15,7 +15,7 @@ - /obj/item/reagent_containers/glass) - - /obj/machinery/iv_drip/Initialize() -- ..() -+ . = ..() - update_icon() - drip_containers = typecacheof(drip_containers) - diff --git a/code/game/machinery/limbgrower.dm.rej b/code/game/machinery/limbgrower.dm.rej deleted file mode 100644 index 6605f2e3da..0000000000 --- a/code/game/machinery/limbgrower.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm (rejected hunks) -@@ -10,7 +10,7 @@ - icon = 'icons/obj/machines/limbgrower.dmi' - icon_state = "limbgrower_idleoff" - density = TRUE -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - anchored = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 10 diff --git a/code/game/machinery/newscaster.dm.rej b/code/game/machinery/newscaster.dm.rej deleted file mode 100644 index 72b1edc08c..0000000000 --- a/code/game/machinery/newscaster.dm.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm (rejected hunks) -@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters) - - - /obj/machinery/newscaster/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/metal(loc, 2) - new /obj/item/shard(loc) - new /obj/item/shard(loc) - qdel(src) - - /obj/machinery/newscaster/obj_break() -- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT)) -+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) - stat |= BROKEN - playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) - update_icon() diff --git a/code/game/machinery/porta_turret/portable_turret.dm.rej b/code/game/machinery/porta_turret/portable_turret.dm.rej deleted file mode 100644 index 0f16ca5ef3..0000000000 --- a/code/game/machinery/porta_turret/portable_turret.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm (rejected hunks) -@@ -664,7 +659,7 @@ - return ..() - - /obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets -- ..() -+ . = ..() - if(!mapload) - return - diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index 4292f5b08a..e86f78722b 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -16,6 +16,20 @@ var/power_efficiency = 1 var/obj/machinery/quantumpad/linked_pad + //mapping + var/static/list/mapped_quantum_pads = list() + var/map_pad_id = "" as text //what's my name + var/map_pad_link_id = "" as text //who's my friend + +/obj/machinery/quantumpad/Initialize() + . = ..() + if(map_pad_id) + mapped_quantum_pads[map_pad_id] = src + +/obj/machinery/quantumpad/Destroy() + mapped_quantum_pads -= map_pad_id + return ..() + /obj/machinery/quantumpad/RefreshParts() var/E = 0 for(var/obj/item/stock_parts/capacitor/C in component_parts) @@ -60,8 +74,9 @@ return if(!linked_pad || QDELETED(linked_pad)) - to_chat(user, "There is no linked pad!") - return + if(!map_pad_link_id || !initMappedLink()) + to_chat(user, "There is no linked pad!") + return if(world.time < last_teleport + teleport_cooldown) to_chat(user, "[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds.") @@ -80,7 +95,6 @@ return src.add_fingerprint(user) doteleport(user) - return /obj/machinery/quantumpad/proc/sparks() var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread @@ -88,6 +102,8 @@ s.start() /obj/machinery/quantumpad/attack_ghost(mob/dead/observer/ghost) + if(!linked_pad && map_pad_link_id) + initMappedLink() if(linked_pad) ghost.forceMove(get_turf(linked_pad)) @@ -136,6 +152,12 @@ continue do_teleport(ROI, get_turf(linked_pad)) +/obj/machinery/quantumpad/proc/initMappedLink() + . = FALSE + var/obj/machinery/quantumpad/link = mapped_quantum_pads[map_pad_link_id] + if(link) + linked_pad = link + . = TRUE /obj/item/paper/guides/quantumpad name = "Quantum Pad For Dummies" diff --git a/code/game/machinery/recycler.dm.rej b/code/game/machinery/recycler.dm.rej deleted file mode 100644 index 2903c4ce1d..0000000000 --- a/code/game/machinery/recycler.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm (rejected hunks) -@@ -187,7 +187,7 @@ - name = "dangerous old crusher" - emagged = TRUE - crush_damage = 120 -- flags = NODECONSTRUCT -+ flags_1 = NODECONSTRUCT_1 - - /obj/item/paper/guides/recycler - name = "paper - 'garbage duty instructions'" diff --git a/code/game/machinery/shieldgen.dm.rej b/code/game/machinery/shieldgen.dm.rej deleted file mode 100644 index 12ce2d21dc..0000000000 --- a/code/game/machinery/shieldgen.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm (rejected hunks) -@@ -12,7 +12,7 @@ - - /obj/structure/emergency_shield/Initialize() - . = ..() -- setDir(pick(1,2,3,4)) -+ setDir(pick(GLOB.cardinals)) - air_update_turf(1) - - /obj/structure/emergency_shield/Destroy() diff --git a/code/game/machinery/telecomms/machines/allinone.dm b/code/game/machinery/telecomms/machines/allinone.dm index 8c73b96932..f881e18d35 100644 --- a/code/game/machinery/telecomms/machines/allinone.dm +++ b/code/game/machinery/telecomms/machines/allinone.dm @@ -12,7 +12,7 @@ use_power = NO_POWER_USE idle_power_usage = 0 machinetype = 6 - var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel + var/intercept = FALSE // if TRUE, broadcasts all syndie messages to syndicate channel /obj/machinery/telecomms/allinone/receive_signal(datum/signal/signal) @@ -32,15 +32,27 @@ if(signal.data["slow"] > 0) sleep(signal.data["slow"]) // simulate the network lag if necessary - /* ###### Broadcast a message using signal.data ###### */ - if(signal.frequency == GLOB.SYND_FREQ) // if syndicate broadcast, just + + + + /* ###### Copy all syndie communications to the Syndicate Frequency ###### */ + if(intercept && signal.frequency == GLOB.SYND_FREQ) Broadcast_Message(signal.data["mob"], signal.data["vmask"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], - signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"], + signal.data["realname"],, signal.data["compression"], list(0, z), GLOB.SYND_FREQ, signal.data["spans"], signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], signal.data["language"]) + /* ###### Broadcast a message using signal.data ###### */ + else if(!intercept) + Broadcast_Message(signal.data["mob"], + signal.data["vmask"], + signal.data["radio"], signal.data["message"], + signal.data["name"], signal.data["job"], + signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"], + signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], + signal.data["language"]) /obj/machinery/telecomms/allinone/attackby(obj/item/P, mob/user, params) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 6b3be49653..427bc95253 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1067,9 +1067,9 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C icon_state = "engivend" icon_deny = "engivend-deny" req_access_txt = "11" //Engineering Equipment access - products = list(/obj/item/clothing/glasses/meson/engine = 2, /obj/item/device/multitool = 4, /obj/item/electronics/airlock = 10, /obj/item/electronics/apc = 10, /obj/item/electronics/airalarm = 10, /obj/item/stock_parts/cell/high = 10, /obj/item/construction/rcd/loaded = 3, /obj/item/device/geiger_counter = 5) + products = list(/obj/item/clothing/glasses/meson/engine = 2, /obj/item/device/multitool = 4, /obj/item/electronics/airlock = 10, /obj/item/electronics/apc = 10, /obj/item/electronics/airalarm = 10, /obj/item/stock_parts/cell/high = 10, /obj/item/construction/rcd/loaded = 3, /obj/item/device/geiger_counter = 5, /obj/item/grenade/chem_grenade/smart_metal_foam = 10) contraband = list(/obj/item/stock_parts/cell/potato = 3) - premium = list(/obj/item/storage/belt/utility = 3) + premium = list(/obj/item/storage/belt/utility = 3, /obj/item/storage/box/smart_metal_foam = 1) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) resistance_flags = FIRE_PROOF diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index fe0865ca24..b6b4241402 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -127,6 +127,8 @@ desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles." icon_state = "mecha_plasmacutter" item_state = "plasmacutter" + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' energy_drain = 30 origin_tech = "materials=3;plasmatech=4;engineering=3" projectile = /obj/item/projectile/plasma/adv/mech diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 14efd0a610..79c4971665 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -76,7 +76,7 @@ if(emagged) return emagged = TRUE - req_access = null + req_access = list() say("DB error \[Code 0x00F1\]") sleep(10) say("Attempting auto-repair...") diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 9142549d0a..aa5788192e 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -421,7 +421,7 @@ target = safepick(view(3,target)) if(!target) return - if(!target.Adjacent(src)) + if(!Adjacent(target)) if(selected && selected.is_ranged()) if(selected.action(target,params)) selected.start_cooldown() diff --git a/code/game/objects/effects/mines.dm.rej b/code/game/objects/effects/mines.dm.rej deleted file mode 100644 index d1d152fd06..0000000000 --- a/code/game/objects/effects/mines.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm (rejected hunks) -@@ -130,7 +130,7 @@ - new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0) - - var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc) -- chainsaw.flags |= NODROP -+ chainsaw.flags_1 |= NODROP_1 - victim.drop_all_held_items() - victim.put_in_hands(chainsaw) - chainsaw.attack_self(victim) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f1dde24690..96dcba36cf 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -35,10 +35,10 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) pressure_resistance = 4 var/obj/item/master = null - var/heat_protection = 0 //flags_1 which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags_1. See setup.dm - var/cold_protection = 0 //flags_1 which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags_1. See setup.dm - var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags_1 - var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags_1 + var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm + var/cold_protection = 0 //flags which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm + var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags + var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags var/list/actions //list of /datum/action's that this item has. var/list/actions_types //list of paths of action datums to give to the item on New(). @@ -48,7 +48,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/item_color = null //this needs deprecating, soonish - var/body_parts_covered = 0 //see setup.dm for appropriate bit flags_1 + var/body_parts_covered = 0 //see setup.dm for appropriate bit flags //var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets) var/permeability_coefficient = 1 // for chemicals/diseases @@ -64,6 +64,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/list/materials var/origin_tech = null //Used by R&D to determine what research bonuses it grants. var/needs_permit = 0 //Used by security bots to determine if this item is safe for public use. + var/emagged = FALSE var/list/attack_verb //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/species_exception = null // list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item @@ -86,7 +87,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/embedded_unsafe_removal_pain_multiplier = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER //The coefficient of multiplication for the damage removing this without surgery causes (this*w_class) var/embedded_unsafe_removal_time = EMBEDDED_UNSAFE_REMOVAL_TIME //A time in ticks, multiplied by the w_class. - var/flags_cover = 0 //for flags_1 such as GLASSESCOVERSEYES + var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES var/heat = 0 var/sharpness = IS_BLUNT var/toolspeed = 1 @@ -128,6 +129,12 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) if(force_string) force_string_override = TRUE + if(!hitsound) + if(damtype == "fire") + hitsound = 'sound/items/welder.ogg' + if(damtype == "brute") + hitsound = "swing_hit" + /obj/item/Destroy() flags_1 &= ~DROPDEL_1 //prevent reqdels if(ismob(loc)) diff --git a/code/game/objects/items.dm.rej b/code/game/objects/items.dm.rej deleted file mode 100644 index 546d2c394c..0000000000 --- a/code/game/objects/items.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/items.dm b/code/game/objects/items.dm (rejected hunks) -@@ -135,7 +135,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) - hitsound = "swing_hit" - - /obj/item/Destroy() -- flags &= ~DROPDEL //prevent reqdels -+ flags_1 &= ~DROPDEL_1 //prevent reqdels - if(ismob(loc)) - var/mob/m = loc - m.temporarilyRemoveItemFromInventory(src, TRUE) diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index d1a0d611eb..176b9d19f9 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -19,11 +19,13 @@ var/list/colors = list("red", "yellow", "green", "blue", "pink", "orange", "cyan", "white") var/current_color_index = 1 var/ghetto = FALSE + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' /obj/item/twohanded/rcl/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W - + if(!loaded) if(!user.transferItemToLoc(W, src)) to_chat(user, "[src] is stuck to your hand!") diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 42ba5a8c2f..9b0251e8dc 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -123,7 +123,6 @@ RSF var/toxin = 0 var/cooldown = 0 var/cooldowndelay = 10 - var/emagged = FALSE w_class = WEIGHT_CLASS_NORMAL /obj/item/cookiesynth/examine(mob/user) diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 673c113d31..dcf9100799 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -6,6 +6,8 @@ icon = 'icons/obj/chronos.dmi' icon_state = "chronobackpack" item_state = "backpack" + lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' w_class = WEIGHT_CLASS_BULKY slot_flags = SLOT_BACK slowdown = 1 diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 9045159f24..5595500bb7 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -1,790 +1,789 @@ -//cleansed 9/15/2012 17:48 - -/* -CONTAINS: -MATCHES -CIGARETTES -CIGARS -SMOKING PIPES -CHEAP LIGHTERS -ZIPPO - -CIGARETTE PACKETS ARE IN FANCY.DM -*/ - -/////////// -//MATCHES// -/////////// -/obj/item/match - name = "match" - desc = "A simple match stick, used for lighting fine smokables." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "match_unlit" - var/lit = FALSE - var/burnt = FALSE - var/smoketime = 5 - w_class = WEIGHT_CLASS_TINY - origin_tech = "materials=1" - heat = 1000 - -/obj/item/match/process() - smoketime-- - if(smoketime < 1) - matchburnout() - else - open_flame(heat) - -/obj/item/match/fire_act(exposed_temperature, exposed_volume) - matchignite() - -/obj/item/match/proc/matchignite() - if(!lit && !burnt) - lit = TRUE - icon_state = "match_lit" - damtype = "fire" - force = 3 - hitsound = 'sound/items/welder.ogg' - item_state = "cigon" - name = "lit match" - desc = "A match. This one is lit." - attack_verb = list("burnt","singed") - START_PROCESSING(SSobj, src) - update_icon() - -/obj/item/match/proc/matchburnout() - if(lit) - lit = FALSE - burnt = TRUE - damtype = "brute" - force = initial(force) - icon_state = "match_burnt" - item_state = "cigoff" - name = "burnt match" - desc = "A match. This one has seen better days." - attack_verb = list("flicked") - STOP_PROCESSING(SSobj, src) - -/obj/item/match/dropped(mob/user) - matchburnout() - . = ..() - -/obj/item/match/attack(mob/living/carbon/M, mob/living/carbon/user) - if(!isliving(M)) - return - if(lit && M.IgniteMob()) - message_admins("[key_name_admin(user)] set [key_name_admin(M)] on fire") - log_game("[key_name(user)] set [key_name(M)] on fire") - var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) - if(lit && cig && user.a_intent == INTENT_HELP) - if(cig.lit) - to_chat(user, "The [cig.name] is already lit.") - if(M == user) - cig.attackby(src, user) - else - cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") - else - ..() - -/obj/item/proc/help_light_cig(mob/living/M) - var/mask_item = M.get_item_by_slot(slot_wear_mask) - if(istype(mask_item, /obj/item/clothing/mask/cigarette)) - return mask_item - -/obj/item/match/is_hot() - return lit * heat - -////////////////// -//FINE SMOKABLES// -////////////////// -/obj/item/clothing/mask/cigarette - name = "cigarette" - desc = "A roll of tobacco and nicotine." - icon_state = "cigoff" - throw_speed = 0.5 - item_state = "cigoff" - container_type = INJECTABLE_1 - w_class = WEIGHT_CLASS_TINY - body_parts_covered = null - var/lit = FALSE - var/starts_lit = FALSE - var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi - var/icon_off = "cigoff" - var/type_butt = /obj/item/cigbutt - var/lastHolder = null - var/smoketime = 300 - var/chem_volume = 30 - var/list/list_reagents = list("nicotine" = 15) - heat = 1000 - -/obj/item/clothing/mask/cigarette/suicide_act(mob/user) - user.visible_message("[user] is huffing [src] as quickly as [user.p_they()] can! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer.") - return (TOXLOSS|OXYLOSS) - -/obj/item/clothing/mask/cigarette/Initialize() - ..() - create_reagents(chem_volume) - reagents.set_reacting(FALSE) // so it doesn't react until you light it - if(list_reagents) - reagents.add_reagent_list(list_reagents) - if(starts_lit) - light() - -/obj/item/clothing/mask/cigarette/Destroy() - STOP_PROCESSING(SSobj, src) - . = ..() - -/obj/item/clothing/mask/cigarette/attackby(obj/item/W, mob/user, params) - if(!lit && smoketime > 0) - var/lighting_text = W.ignition_effect(src, user) - if(lighting_text) - light(lighting_text) - else - return ..() - -/obj/item/clothing/mask/cigarette/afterattack(obj/item/reagent_containers/glass/glass, mob/user, proximity) - if(!proximity || lit) //can't dip if cigarette is lit (it will heat the reagents in the glass instead) - return - if(istype(glass)) //you can dip cigarettes into beakers - if(glass.reagents.trans_to(src, chem_volume)) //if reagents were transfered, show the message - to_chat(user, "You dip \the [src] into \the [glass].") - else //if not, either the beaker was empty, or the cigarette was full - if(!glass.reagents.total_volume) - to_chat(user, "[glass] is empty.") - else - to_chat(user, "[src] is full.") - - -/obj/item/clothing/mask/cigarette/proc/light(flavor_text = null) - if(lit) - return - - lit = TRUE - name = "lit [name]" - attack_verb = list("burnt", "singed") - hitsound = 'sound/items/welder.ogg' - damtype = "fire" - force = 4 - if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire - var/datum/effect_system/reagents_explosion/e = new() - e.set_up(round(reagents.get_reagent_amount("plasma") / 2.5, 1), get_turf(src), 0, 0) - e.start() - qdel(src) - return - if(reagents.get_reagent_amount("welding_fuel")) // the fuel explodes, too, but much less violently - var/datum/effect_system/reagents_explosion/e = new() - e.set_up(round(reagents.get_reagent_amount("welding_fuel") / 5, 1), get_turf(src), 0, 0) - e.start() - qdel(src) - return - // allowing reagents to react after being lit - reagents.set_reacting(TRUE) - reagents.handle_reactions() - icon_state = icon_on - item_state = icon_on - if(flavor_text) - var/turf/T = get_turf(src) - T.visible_message(flavor_text) - START_PROCESSING(SSobj, src) - - //can't think of any other way to update the overlays :< - if(ismob(loc)) - var/mob/M = loc - M.update_inv_wear_mask() - M.update_inv_hands() - - -/obj/item/clothing/mask/cigarette/proc/handle_reagents() - if(reagents.total_volume) - if(iscarbon(loc)) - var/mob/living/carbon/C = loc - if (src == C.wear_mask) // if it's in the human/monkey mouth, transfer reagents to the mob - if(prob(15)) // so it's not an instarape in case of acid - var/fraction = min(REAGENTS_METABOLISM/reagents.total_volume, 1) - reagents.reaction(C, INGEST, fraction) - if(!reagents.trans_to(C, REAGENTS_METABOLISM)) - reagents.remove_any(REAGENTS_METABOLISM) - return - reagents.remove_any(REAGENTS_METABOLISM) - - -/obj/item/clothing/mask/cigarette/process() - var/turf/location = get_turf(src) - var/mob/living/M = loc - if(isliving(loc)) - M.IgniteMob() - smoketime-- - if(smoketime < 1) - new type_butt(location) - if(ismob(loc)) - to_chat(M, "Your [name] goes out.") - qdel(src) - return - open_flame() - if(reagents && reagents.total_volume) - handle_reagents() - -/obj/item/clothing/mask/cigarette/attack_self(mob/user) - if(lit) - user.visible_message("[user] calmly drops and treads on \the [src], putting it out instantly.") - new type_butt(user.loc) - new /obj/effect/decal/cleanable/ash(user.loc) - qdel(src) - . = ..() - -/obj/item/clothing/mask/cigarette/attack(mob/living/carbon/M, mob/living/carbon/user) - if(!istype(M)) - return ..() - var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) - if(lit && cig && user.a_intent == INTENT_HELP) - if(cig.lit) - to_chat(user, "The [cig.name] is already lit.") - if(M == user) - cig.attackby(src, user) - else - cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") - else - return ..() - -/obj/item/clothing/mask/cigarette/fire_act(exposed_temperature, exposed_volume) - light() - -/obj/item/clothing/mask/cigarette/is_hot() - return lit * heat - -// Cigarette brands. - -/obj/item/clothing/mask/cigarette/space_cigarette - desc = "A Space Cigarette brand cigarette." - -/obj/item/clothing/mask/cigarette/dromedary - desc = "A DromedaryCo brand cigarette." - -/obj/item/clothing/mask/cigarette/uplift - desc = "An Uplift Smooth brand cigarette." - list_reagents = list("nicotine" = 7.5, "menthol" = 7.5) - -/obj/item/clothing/mask/cigarette/robust - desc = "A Robust brand cigarette." - -/obj/item/clothing/mask/cigarette/robustgold - desc = "A Robust Gold brand cigarette." - list_reagents = list("nicotine" = 15, "gold" = 1) - -/obj/item/clothing/mask/cigarette/carp - desc = "A Carp Classic brand cigarette." - -/obj/item/clothing/mask/cigarette/syndicate - desc = "An unknown brand cigarette." - list_reagents = list("nicotine" = 15, "omnizine" = 15) - -/obj/item/clothing/mask/cigarette/shadyjims - desc = "A Shady Jim's Super Slims cigarette." - list_reagents = list("nicotine" = 15, "lipolicide" = 4, "ammonia" = 2, "plantbgone" = 1, "toxin" = 1.5) - -// Rollies. - -/obj/item/clothing/mask/cigarette/rollie - name = "rollie" - desc = "A roll of dried plant matter wrapped in thin paper." - icon_state = "spliffoff" - icon_on = "spliffon" - icon_off = "spliffoff" - type_butt = /obj/item/cigbutt/roach - throw_speed = 0.5 - item_state = "spliffoff" - smoketime = 180 - chem_volume = 50 - -/obj/item/clothing/mask/cigarette/rollie/New() - ..() - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) - -/obj/item/clothing/mask/cigarette/rollie/trippy - list_reagents = list("nicotine" = 15, "mushroomhallucinogen" = 35) - starts_lit = TRUE - -/obj/item/cigbutt/roach - name = "roach" - desc = "A manky old roach, or for non-stoners, a used rollup." - icon_state = "roach" - -/obj/item/cigbutt/roach/New() - ..() - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) - - -//////////// -// CIGARS // -//////////// -/obj/item/clothing/mask/cigarette/cigar - name = "premium cigar" - desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!" - icon_state = "cigaroff" - icon_on = "cigaron" - icon_off = "cigaroff" - type_butt = /obj/item/cigbutt/cigarbutt - throw_speed = 0.5 - item_state = "cigaroff" - smoketime = 1500 - chem_volume = 40 - -/obj/item/clothing/mask/cigarette/cigar/cohiba - name = "\improper Cohiba Robusto cigar" - desc = "There's little more you could want from a cigar." - icon_state = "cigar2off" - icon_on = "cigar2on" - icon_off = "cigar2off" - smoketime = 2000 - chem_volume = 80 - - -/obj/item/clothing/mask/cigarette/cigar/havana - name = "premium Havanian cigar" - desc = "A cigar fit for only the best of the best." - icon_state = "cigar2off" - icon_on = "cigar2on" - icon_off = "cigar2off" - smoketime = 7200 - chem_volume = 50 - -/obj/item/cigbutt - name = "cigarette butt" - desc = "A manky old cigarette butt." - icon = 'icons/obj/clothing/masks.dmi' - icon_state = "cigbutt" - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - -/obj/item/cigbutt/cigarbutt - name = "cigar butt" - desc = "A manky old cigar butt." - icon_state = "cigarbutt" - -///////////////// -//SMOKING PIPES// -///////////////// -/obj/item/clothing/mask/cigarette/pipe - name = "smoking pipe" - desc = "A pipe, for smoking. Probably made of meershaum or something." - icon_state = "pipeoff" - item_state = "pipeoff" - icon_on = "pipeon" //Note - these are in masks.dmi - icon_off = "pipeoff" - smoketime = 0 - chem_volume = 100 - list_reagents = null - var/packeditem = 0 - -/obj/item/clothing/mask/cigarette/pipe/Initialize() - ..() - name = "empty [initial(name)]" - -/obj/item/clothing/mask/cigarette/pipe/Destroy() - STOP_PROCESSING(SSobj, src) - . = ..() - -/obj/item/clothing/mask/cigarette/pipe/process() - var/turf/location = get_turf(src) - smoketime-- - if(smoketime < 1) - new /obj/effect/decal/cleanable/ash(location) - if(ismob(loc)) - var/mob/living/M = loc - to_chat(M, "Your [name] goes out.") - lit = 0 - icon_state = icon_off - item_state = icon_off - M.update_inv_wear_mask() - packeditem = 0 - name = "empty [initial(name)]" - STOP_PROCESSING(SSobj, src) - return - open_flame() - if(reagents && reagents.total_volume) // check if it has any reagents at all - handle_reagents() - - -/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) - var/obj/item/reagent_containers/food/snacks/grown/G = O - if(!packeditem) - if(G.dry == 1) - to_chat(user, "You stuff [O] into [src].") - smoketime = 400 - packeditem = 1 - name = "[O.name]-packed [initial(name)]" - if(O.reagents) - O.reagents.trans_to(src, O.reagents.total_volume) - qdel(O) - else - to_chat(user, "It has to be dried first!") - else - to_chat(user, "It is already packed!") - else - var/lighting_text = O.ignition_effect(src,user) - if(lighting_text) - if(smoketime > 0) - light(lighting_text) - else - to_chat(user, "There is nothing to smoke!") - else - return ..() - -/obj/item/clothing/mask/cigarette/pipe/attack_self(mob/user) - var/turf/location = get_turf(user) - if(lit) - user.visible_message("[user] puts out [src].", "You put out [src].") - lit = 0 - icon_state = icon_off - item_state = icon_off - STOP_PROCESSING(SSobj, src) - return - if(!lit && smoketime > 0) - to_chat(user, "You empty [src] onto [location].") - new /obj/effect/decal/cleanable/ash(location) - packeditem = 0 - smoketime = 0 - reagents.clear_reagents() - name = "empty [initial(name)]" - return - -/obj/item/clothing/mask/cigarette/pipe/cobpipe - name = "corn cob pipe" - desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters. Can be loaded with objects." - icon_state = "cobpipeoff" - item_state = "cobpipeoff" - icon_on = "cobpipeon" //Note - these are in masks.dmi - icon_off = "cobpipeoff" - smoketime = 0 - - -///////// -//ZIPPO// -///////// -/obj/item/lighter - name = "\improper Zippo lighter" - desc = "The zippo." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "zippo" - item_state = "zippo" - w_class = WEIGHT_CLASS_TINY - flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT - var/lit = 0 - var/fancy = TRUE - heat = 1500 - resistance_flags = FIRE_PROOF - light_color = LIGHT_COLOR_FIRE - -/obj/item/lighter/update_icon() - if(lit) - icon_state = "[initial(icon_state)]_on" - else - icon_state = "[initial(icon_state)]" - -/obj/item/lighter/ignition_effect(atom/A, mob/user) - if(is_hot()) - . = "With a single flick of their wrist, [user] smoothly lights [A] with [src]. Damn [user.p_theyre()] cool." - -/obj/item/lighter/proc/set_lit(new_lit) - lit = new_lit - if(lit) - force = 5 - damtype = "fire" - hitsound = 'sound/items/welder.ogg' - attack_verb = list("burnt", "singed") - set_light(1) - START_PROCESSING(SSobj, src) - else - hitsound = "swing_hit" - force = 0 - attack_verb = null //human_defense.dm takes care of it - set_light(0) - STOP_PROCESSING(SSobj, src) - update_icon() - -/obj/item/lighter/attack_self(mob/living/user) - if(user.is_holding(src)) - if(!lit) - set_lit(TRUE) - if(fancy) - user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.", "Without even breaking stride, you flip open and lights [src] in one smooth movement.") - else - var/prot = FALSE - var/mob/living/carbon/human/H = user - - if(istype(H) && H.gloves) - var/obj/item/clothing/gloves/G = H.gloves - if(G.max_heat_protection_temperature) - prot = (G.max_heat_protection_temperature > 360) - else - prot = TRUE - - if(prot || prob(75)) - user.visible_message("After a few attempts, [user] manages to light [src].", "After a few attempts, you manage to light [src].") - else - var/hitzone = user.held_index_to_dir(user.active_hand_index) == "r" ? "r_hand" : "l_hand" - user.apply_damage(5, BURN, hitzone) - user.visible_message("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn their finger in the process.", "You burn yourself while lighting the lighter!") - - else - set_lit(FALSE) - if(fancy) - user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.", "You quietly shut off [src] without even looking at what you're doing. Wow.") - else - user.visible_message("[user] quietly shuts off [src].", "You quietly shut off [src].") - else - . = ..() - -/obj/item/lighter/attack(mob/living/carbon/M, mob/living/carbon/user) - if(lit && M.IgniteMob()) - message_admins("[key_name_admin(user)] set [key_name_admin(M)] on fire") - log_game("[key_name(user)] set [key_name(M)] on fire") - var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) - if(lit && cig && user.a_intent == INTENT_HELP) - if(cig.lit) - to_chat(user, "The [cig.name] is already lit.") - if(M == user) - cig.attackby(src, user) - else - if(fancy) - cig.light("[user] whips the [name] out and holds it for [M]. [user.p_their(TRUE)] arm is as steady as the unflickering flame they light \the [cig] with.") - else - cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") - else - ..() - -/obj/item/lighter/process() - open_flame() - -/obj/item/lighter/is_hot() - return lit * heat - - -/obj/item/lighter/greyscale - name = "cheap lighter" - desc = "A cheap-as-free lighter." - icon_state = "lighter" - fancy = FALSE - -/obj/item/lighter/greyscale/Initialize() - . = ..() - add_atom_colour(color2hex(randomColor(1)), FIXED_COLOUR_PRIORITY) - update_icon() - -/obj/item/lighter/greyscale/update_icon() - cut_overlays() - var/mutable_appearance/base_overlay = mutable_appearance(icon,"[initial(icon_state)]_base") - base_overlay.appearance_flags = RESET_COLOR //the edging doesn't change color - if(lit) - base_overlay.icon_state = "[initial(icon_state)]_on" - add_overlay(base_overlay) - -/obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user) - if(is_hot()) - . = "After some fiddling, [user] manages to light [A] with [src]." - - -/////////// -//ROLLING// -/////////// -/obj/item/rollingpaper - name = "rolling paper" - desc = "A thin piece of paper used to make fine smokeables." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "cig_paper" - w_class = WEIGHT_CLASS_TINY - -/obj/item/rollingpaper/afterattack(atom/target, mob/user, proximity) - if(!proximity) - return - if(istype(target, /obj/item/reagent_containers/food/snacks/grown)) - var/obj/item/reagent_containers/food/snacks/grown/O = target - if(O.dry) - var/obj/item/clothing/mask/cigarette/rollie/R = new /obj/item/clothing/mask/cigarette/rollie(user.loc) - R.chem_volume = target.reagents.total_volume - target.reagents.trans_to(R, R.chem_volume) - qdel(target) - qdel(src) - user.put_in_active_hand(R) - to_chat(user, "You roll the [target.name] into a rolling paper.") - R.desc = "Dried [target.name] rolled up in a thin piece of paper." - else - to_chat(user, "You need to dry this first!") - else - ..() - -/////////////// -//VAPE NATION// -/////////////// -/obj/item/clothing/mask/vape - name = "E-Cigarette" - desc = "A classy and highly sophisticated electronic cigarette, for classy and dignified gentlemen. A warning label reads \"Warning: Do not fill with flammable materials.\""//<<< i'd vape to that. - icon = 'icons/obj/clothing/masks.dmi' - icon_state = null - item_state = null - w_class = WEIGHT_CLASS_TINY - var/chem_volume = 100 - var/vapetime = 0 //this so it won't puff out clouds every tick - var/screw = 0 // kinky - var/super = 0 //for the fattest vapes dude. - var/emagged = FALSE //LET THE GRIEF BEGIN - -/obj/item/clothing/mask/vape/suicide_act(mob/user) - user.visible_message("[user] is puffin hard on dat vape, [user.p_they()] trying to join the vape life on a whole notha plane!")//it doesn't give you cancer, it is cancer - return (TOXLOSS|OXYLOSS) - - -/obj/item/clothing/mask/vape/Initialize(mapload, param_color) - . = ..() - create_reagents(chem_volume) - reagents.set_reacting(FALSE) // so it doesn't react until you light it - reagents.add_reagent("nicotine", 50) - if(!icon_state) - if(!param_color) - param_color = pick("red","blue","black","white","green","purple","yellow","orange") - icon_state = "[param_color]_vape" - item_state = "[param_color]_vape" - -/obj/item/clothing/mask/vape/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/reagent_containers) && (O.container_type & OPENCONTAINER_1)) - if(reagents.total_volume < chem_volume) - if(O.reagents.total_volume > 0) - O.reagents.trans_to(src,25) - to_chat(user, "You add the contents of [O] to the [src]") - else - to_chat(user, "The [O] is empty!") - else - to_chat(user, "[src] can't hold anymore reagents!") - - if(istype(O, /obj/item/screwdriver)) - if(!screw) - screw = 1 - to_chat(user, "You open the cap on the [src]") - if(super) - add_overlay("vapeopen_med") - else - add_overlay("vapeopen_low") - else - screw = 0 - to_chat(user, "You close the cap on the [src]") - cut_overlays() - - if(istype(O, /obj/item/device/multitool)) - if(screw && !emagged)//also kinky - if(!super) - cut_overlays() - super = 1 - to_chat(user, "You increase the voltage in the [src]") - add_overlay("vapeopen_med") - else - cut_overlays() - super = 0 - to_chat(user, "You decrease the voltage in the [src]") - add_overlay("vapeopen_low") - - if(screw && emagged) - to_chat(user, "The [name] can't be modified!") - - -/obj/item/clothing/mask/vape/emag_act(mob/user)// I WON'T REGRET WRITTING THIS, SURLY. - if(screw) - if(!emagged) - cut_overlays() - emagged = TRUE - super = 0 - to_chat(user, "You maximize the voltage in the [src]") - add_overlay("vapeopen_high") - var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread //for effect - sp.set_up(5, 1, src) - sp.start() - else - to_chat(user, "The [name] is already emagged!") - else - to_chat(user, "You need to open the cap to do that") - -/obj/item/clothing/mask/vape/attack_self(mob/user) - if(reagents.total_volume > 0) - to_chat(user, "you empty [src] of all reagents.") - reagents.clear_reagents() - return - -/obj/item/clothing/mask/vape/equipped(mob/user, slot) - if(slot == slot_wear_mask) - if(!screw) - to_chat(user, "You start puffing on the vape.") - reagents.set_reacting(TRUE) - START_PROCESSING(SSobj, src) - else //it will not start if the vape is opened. - to_chat(user, "You need to close the cap first!") - -/obj/item/clothing/mask/vape/dropped(mob/user) - var/mob/living/carbon/C = user - if(C.get_item_by_slot(slot_wear_mask) == src) - reagents.set_reacting(FALSE) - STOP_PROCESSING(SSobj, src) - -/obj/item/clothing/mask/vape/proc/hand_reagents()//had to rename to avoid duplicate error - if(reagents.total_volume) - if(iscarbon(loc)) - var/mob/living/carbon/C = loc - if (src == C.wear_mask) // if it's in the human/monkey mouth, transfer reagents to the mob - var/fraction = min(REAGENTS_METABOLISM/reagents.total_volume, 1) //this will react instantly, making them a little more dangerous than cigarettes - reagents.reaction(C, INGEST, fraction) - if(!reagents.trans_to(C, REAGENTS_METABOLISM)) - reagents.remove_any(REAGENTS_METABOLISM) - if(reagents.get_reagent_amount("welding_fuel")) - //HOT STUFF - C.fire_stacks = 2 - C.IgniteMob() - - if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire - var/datum/effect_system/reagents_explosion/e = new() - e.set_up(round(reagents.get_reagent_amount("plasma") / 2.5, 1), get_turf(src), 0, 0) - e.start() - qdel(src) - return - reagents.remove_any(REAGENTS_METABOLISM) - -/obj/item/clothing/mask/vape/process() - var/mob/living/M = loc - - if(isliving(loc)) - M.IgniteMob() - - vapetime++ - - if(!reagents.total_volume) - if(ismob(loc)) - to_chat(M, "The [name] is empty!") - STOP_PROCESSING(SSobj, src) - //it's reusable so it won't unequip when empty - return - //open flame removed because vapes are a closed system, they wont light anything on fire - - if(super && vapetime > 3)//Time to start puffing those fat vapes, yo. - var/datum/effect_system/smoke_spread/chem/s = new - s.set_up(reagents, 1, loc, silent=TRUE) - s.start() - vapetime = 0 - - if(emagged && vapetime > 3) - var/datum/effect_system/smoke_spread/chem/s = new - s.set_up(reagents, 4, loc, silent=TRUE) - s.start() - vapetime = 0 - if(prob(5))//small chance for the vape to break and deal damage if it's emagged - playsound(get_turf(src), 'sound/effects/pop_expl.ogg', 50, 0) - M.apply_damage(20, BURN, "head") - M.Knockdown(300, 1, 0) - var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread - sp.set_up(5, 1, src) - sp.start() - to_chat(M, "The [name] suddenly explodes in your mouth!") - qdel(src) - return - - if(reagents && reagents.total_volume) - hand_reagents() +//cleansed 9/15/2012 17:48 + +/* +CONTAINS: +MATCHES +CIGARETTES +CIGARS +SMOKING PIPES +CHEAP LIGHTERS +ZIPPO + +CIGARETTE PACKETS ARE IN FANCY.DM +*/ + +/////////// +//MATCHES// +/////////// +/obj/item/match + name = "match" + desc = "A simple match stick, used for lighting fine smokables." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "match_unlit" + var/lit = FALSE + var/burnt = FALSE + var/smoketime = 5 + w_class = WEIGHT_CLASS_TINY + origin_tech = "materials=1" + heat = 1000 + +/obj/item/match/process() + smoketime-- + if(smoketime < 1) + matchburnout() + else + open_flame(heat) + +/obj/item/match/fire_act(exposed_temperature, exposed_volume) + matchignite() + +/obj/item/match/proc/matchignite() + if(!lit && !burnt) + lit = TRUE + icon_state = "match_lit" + damtype = "fire" + force = 3 + hitsound = 'sound/items/welder.ogg' + item_state = "cigon" + name = "lit match" + desc = "A match. This one is lit." + attack_verb = list("burnt","singed") + START_PROCESSING(SSobj, src) + update_icon() + +/obj/item/match/proc/matchburnout() + if(lit) + lit = FALSE + burnt = TRUE + damtype = "brute" + force = initial(force) + icon_state = "match_burnt" + item_state = "cigoff" + name = "burnt match" + desc = "A match. This one has seen better days." + attack_verb = list("flicked") + STOP_PROCESSING(SSobj, src) + +/obj/item/match/dropped(mob/user) + matchburnout() + . = ..() + +/obj/item/match/attack(mob/living/carbon/M, mob/living/carbon/user) + if(!isliving(M)) + return + if(lit && M.IgniteMob()) + message_admins("[key_name_admin(user)] set [key_name_admin(M)] on fire") + log_game("[key_name(user)] set [key_name(M)] on fire") + var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) + if(lit && cig && user.a_intent == INTENT_HELP) + if(cig.lit) + to_chat(user, "The [cig.name] is already lit.") + if(M == user) + cig.attackby(src, user) + else + cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + else + ..() + +/obj/item/proc/help_light_cig(mob/living/M) + var/mask_item = M.get_item_by_slot(slot_wear_mask) + if(istype(mask_item, /obj/item/clothing/mask/cigarette)) + return mask_item + +/obj/item/match/is_hot() + return lit * heat + +////////////////// +//FINE SMOKABLES// +////////////////// +/obj/item/clothing/mask/cigarette + name = "cigarette" + desc = "A roll of tobacco and nicotine." + icon_state = "cigoff" + throw_speed = 0.5 + item_state = "cigoff" + container_type = INJECTABLE_1 + w_class = WEIGHT_CLASS_TINY + body_parts_covered = null + var/lit = FALSE + var/starts_lit = FALSE + var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi + var/icon_off = "cigoff" + var/type_butt = /obj/item/cigbutt + var/lastHolder = null + var/smoketime = 300 + var/chem_volume = 30 + var/list/list_reagents = list("nicotine" = 15) + heat = 1000 + +/obj/item/clothing/mask/cigarette/suicide_act(mob/user) + user.visible_message("[user] is huffing [src] as quickly as [user.p_they()] can! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer.") + return (TOXLOSS|OXYLOSS) + +/obj/item/clothing/mask/cigarette/Initialize() + ..() + create_reagents(chem_volume) + reagents.set_reacting(FALSE) // so it doesn't react until you light it + if(list_reagents) + reagents.add_reagent_list(list_reagents) + if(starts_lit) + light() + +/obj/item/clothing/mask/cigarette/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/item/clothing/mask/cigarette/attackby(obj/item/W, mob/user, params) + if(!lit && smoketime > 0) + var/lighting_text = W.ignition_effect(src, user) + if(lighting_text) + light(lighting_text) + else + return ..() + +/obj/item/clothing/mask/cigarette/afterattack(obj/item/reagent_containers/glass/glass, mob/user, proximity) + if(!proximity || lit) //can't dip if cigarette is lit (it will heat the reagents in the glass instead) + return + if(istype(glass)) //you can dip cigarettes into beakers + if(glass.reagents.trans_to(src, chem_volume)) //if reagents were transfered, show the message + to_chat(user, "You dip \the [src] into \the [glass].") + else //if not, either the beaker was empty, or the cigarette was full + if(!glass.reagents.total_volume) + to_chat(user, "[glass] is empty.") + else + to_chat(user, "[src] is full.") + + +/obj/item/clothing/mask/cigarette/proc/light(flavor_text = null) + if(lit) + return + + lit = TRUE + name = "lit [name]" + attack_verb = list("burnt", "singed") + hitsound = 'sound/items/welder.ogg' + damtype = "fire" + force = 4 + if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire + var/datum/effect_system/reagents_explosion/e = new() + e.set_up(round(reagents.get_reagent_amount("plasma") / 2.5, 1), get_turf(src), 0, 0) + e.start() + qdel(src) + return + if(reagents.get_reagent_amount("welding_fuel")) // the fuel explodes, too, but much less violently + var/datum/effect_system/reagents_explosion/e = new() + e.set_up(round(reagents.get_reagent_amount("welding_fuel") / 5, 1), get_turf(src), 0, 0) + e.start() + qdel(src) + return + // allowing reagents to react after being lit + reagents.set_reacting(TRUE) + reagents.handle_reactions() + icon_state = icon_on + item_state = icon_on + if(flavor_text) + var/turf/T = get_turf(src) + T.visible_message(flavor_text) + START_PROCESSING(SSobj, src) + + //can't think of any other way to update the overlays :< + if(ismob(loc)) + var/mob/M = loc + M.update_inv_wear_mask() + M.update_inv_hands() + + +/obj/item/clothing/mask/cigarette/proc/handle_reagents() + if(reagents.total_volume) + if(iscarbon(loc)) + var/mob/living/carbon/C = loc + if (src == C.wear_mask) // if it's in the human/monkey mouth, transfer reagents to the mob + if(prob(15)) // so it's not an instarape in case of acid + var/fraction = min(REAGENTS_METABOLISM/reagents.total_volume, 1) + reagents.reaction(C, INGEST, fraction) + if(!reagents.trans_to(C, REAGENTS_METABOLISM)) + reagents.remove_any(REAGENTS_METABOLISM) + return + reagents.remove_any(REAGENTS_METABOLISM) + + +/obj/item/clothing/mask/cigarette/process() + var/turf/location = get_turf(src) + var/mob/living/M = loc + if(isliving(loc)) + M.IgniteMob() + smoketime-- + if(smoketime < 1) + new type_butt(location) + if(ismob(loc)) + to_chat(M, "Your [name] goes out.") + qdel(src) + return + open_flame() + if(reagents && reagents.total_volume) + handle_reagents() + +/obj/item/clothing/mask/cigarette/attack_self(mob/user) + if(lit) + user.visible_message("[user] calmly drops and treads on \the [src], putting it out instantly.") + new type_butt(user.loc) + new /obj/effect/decal/cleanable/ash(user.loc) + qdel(src) + . = ..() + +/obj/item/clothing/mask/cigarette/attack(mob/living/carbon/M, mob/living/carbon/user) + if(!istype(M)) + return ..() + var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) + if(lit && cig && user.a_intent == INTENT_HELP) + if(cig.lit) + to_chat(user, "The [cig.name] is already lit.") + if(M == user) + cig.attackby(src, user) + else + cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + else + return ..() + +/obj/item/clothing/mask/cigarette/fire_act(exposed_temperature, exposed_volume) + light() + +/obj/item/clothing/mask/cigarette/is_hot() + return lit * heat + +// Cigarette brands. + +/obj/item/clothing/mask/cigarette/space_cigarette + desc = "A Space Cigarette brand cigarette." + +/obj/item/clothing/mask/cigarette/dromedary + desc = "A DromedaryCo brand cigarette." + +/obj/item/clothing/mask/cigarette/uplift + desc = "An Uplift Smooth brand cigarette." + list_reagents = list("nicotine" = 7.5, "menthol" = 7.5) + +/obj/item/clothing/mask/cigarette/robust + desc = "A Robust brand cigarette." + +/obj/item/clothing/mask/cigarette/robustgold + desc = "A Robust Gold brand cigarette." + list_reagents = list("nicotine" = 15, "gold" = 1) + +/obj/item/clothing/mask/cigarette/carp + desc = "A Carp Classic brand cigarette." + +/obj/item/clothing/mask/cigarette/syndicate + desc = "An unknown brand cigarette." + list_reagents = list("nicotine" = 15, "omnizine" = 15) + +/obj/item/clothing/mask/cigarette/shadyjims + desc = "A Shady Jim's Super Slims cigarette." + list_reagents = list("nicotine" = 15, "lipolicide" = 4, "ammonia" = 2, "plantbgone" = 1, "toxin" = 1.5) + +// Rollies. + +/obj/item/clothing/mask/cigarette/rollie + name = "rollie" + desc = "A roll of dried plant matter wrapped in thin paper." + icon_state = "spliffoff" + icon_on = "spliffon" + icon_off = "spliffoff" + type_butt = /obj/item/cigbutt/roach + throw_speed = 0.5 + item_state = "spliffoff" + smoketime = 180 + chem_volume = 50 + +/obj/item/clothing/mask/cigarette/rollie/New() + ..() + src.pixel_x = rand(-5, 5) + src.pixel_y = rand(-5, 5) + +/obj/item/clothing/mask/cigarette/rollie/trippy + list_reagents = list("nicotine" = 15, "mushroomhallucinogen" = 35) + starts_lit = TRUE + +/obj/item/cigbutt/roach + name = "roach" + desc = "A manky old roach, or for non-stoners, a used rollup." + icon_state = "roach" + +/obj/item/cigbutt/roach/New() + ..() + src.pixel_x = rand(-5, 5) + src.pixel_y = rand(-5, 5) + + +//////////// +// CIGARS // +//////////// +/obj/item/clothing/mask/cigarette/cigar + name = "premium cigar" + desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!" + icon_state = "cigaroff" + icon_on = "cigaron" + icon_off = "cigaroff" + type_butt = /obj/item/cigbutt/cigarbutt + throw_speed = 0.5 + item_state = "cigaroff" + smoketime = 1500 + chem_volume = 40 + +/obj/item/clothing/mask/cigarette/cigar/cohiba + name = "\improper Cohiba Robusto cigar" + desc = "There's little more you could want from a cigar." + icon_state = "cigar2off" + icon_on = "cigar2on" + icon_off = "cigar2off" + smoketime = 2000 + chem_volume = 80 + + +/obj/item/clothing/mask/cigarette/cigar/havana + name = "premium Havanian cigar" + desc = "A cigar fit for only the best of the best." + icon_state = "cigar2off" + icon_on = "cigar2on" + icon_off = "cigar2off" + smoketime = 7200 + chem_volume = 50 + +/obj/item/cigbutt + name = "cigarette butt" + desc = "A manky old cigarette butt." + icon = 'icons/obj/clothing/masks.dmi' + icon_state = "cigbutt" + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + +/obj/item/cigbutt/cigarbutt + name = "cigar butt" + desc = "A manky old cigar butt." + icon_state = "cigarbutt" + +///////////////// +//SMOKING PIPES// +///////////////// +/obj/item/clothing/mask/cigarette/pipe + name = "smoking pipe" + desc = "A pipe, for smoking. Probably made of meershaum or something." + icon_state = "pipeoff" + item_state = "pipeoff" + icon_on = "pipeon" //Note - these are in masks.dmi + icon_off = "pipeoff" + smoketime = 0 + chem_volume = 100 + list_reagents = null + var/packeditem = 0 + +/obj/item/clothing/mask/cigarette/pipe/Initialize() + ..() + name = "empty [initial(name)]" + +/obj/item/clothing/mask/cigarette/pipe/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/item/clothing/mask/cigarette/pipe/process() + var/turf/location = get_turf(src) + smoketime-- + if(smoketime < 1) + new /obj/effect/decal/cleanable/ash(location) + if(ismob(loc)) + var/mob/living/M = loc + to_chat(M, "Your [name] goes out.") + lit = 0 + icon_state = icon_off + item_state = icon_off + M.update_inv_wear_mask() + packeditem = 0 + name = "empty [initial(name)]" + STOP_PROCESSING(SSobj, src) + return + open_flame() + if(reagents && reagents.total_volume) // check if it has any reagents at all + handle_reagents() + + +/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/O, mob/user, params) + if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) + var/obj/item/reagent_containers/food/snacks/grown/G = O + if(!packeditem) + if(G.dry == 1) + to_chat(user, "You stuff [O] into [src].") + smoketime = 400 + packeditem = 1 + name = "[O.name]-packed [initial(name)]" + if(O.reagents) + O.reagents.trans_to(src, O.reagents.total_volume) + qdel(O) + else + to_chat(user, "It has to be dried first!") + else + to_chat(user, "It is already packed!") + else + var/lighting_text = O.ignition_effect(src,user) + if(lighting_text) + if(smoketime > 0) + light(lighting_text) + else + to_chat(user, "There is nothing to smoke!") + else + return ..() + +/obj/item/clothing/mask/cigarette/pipe/attack_self(mob/user) + var/turf/location = get_turf(user) + if(lit) + user.visible_message("[user] puts out [src].", "You put out [src].") + lit = 0 + icon_state = icon_off + item_state = icon_off + STOP_PROCESSING(SSobj, src) + return + if(!lit && smoketime > 0) + to_chat(user, "You empty [src] onto [location].") + new /obj/effect/decal/cleanable/ash(location) + packeditem = 0 + smoketime = 0 + reagents.clear_reagents() + name = "empty [initial(name)]" + return + +/obj/item/clothing/mask/cigarette/pipe/cobpipe + name = "corn cob pipe" + desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters. Can be loaded with objects." + icon_state = "cobpipeoff" + item_state = "cobpipeoff" + icon_on = "cobpipeon" //Note - these are in masks.dmi + icon_off = "cobpipeoff" + smoketime = 0 + + +///////// +//ZIPPO// +///////// +/obj/item/lighter + name = "\improper Zippo lighter" + desc = "The zippo." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "zippo" + item_state = "zippo" + w_class = WEIGHT_CLASS_TINY + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + var/lit = 0 + var/fancy = TRUE + heat = 1500 + resistance_flags = FIRE_PROOF + light_color = LIGHT_COLOR_FIRE + +/obj/item/lighter/update_icon() + if(lit) + icon_state = "[initial(icon_state)]_on" + else + icon_state = "[initial(icon_state)]" + +/obj/item/lighter/ignition_effect(atom/A, mob/user) + if(is_hot()) + . = "With a single flick of their wrist, [user] smoothly lights [A] with [src]. Damn [user.p_theyre()] cool." + +/obj/item/lighter/proc/set_lit(new_lit) + lit = new_lit + if(lit) + force = 5 + damtype = "fire" + hitsound = 'sound/items/welder.ogg' + attack_verb = list("burnt", "singed") + set_light(1) + START_PROCESSING(SSobj, src) + else + hitsound = "swing_hit" + force = 0 + attack_verb = null //human_defense.dm takes care of it + set_light(0) + STOP_PROCESSING(SSobj, src) + update_icon() + +/obj/item/lighter/attack_self(mob/living/user) + if(user.is_holding(src)) + if(!lit) + set_lit(TRUE) + if(fancy) + user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.", "Without even breaking stride, you flip open and lights [src] in one smooth movement.") + else + var/prot = FALSE + var/mob/living/carbon/human/H = user + + if(istype(H) && H.gloves) + var/obj/item/clothing/gloves/G = H.gloves + if(G.max_heat_protection_temperature) + prot = (G.max_heat_protection_temperature > 360) + else + prot = TRUE + + if(prot || prob(75)) + user.visible_message("After a few attempts, [user] manages to light [src].", "After a few attempts, you manage to light [src].") + else + var/hitzone = user.held_index_to_dir(user.active_hand_index) == "r" ? "r_hand" : "l_hand" + user.apply_damage(5, BURN, hitzone) + user.visible_message("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn their finger in the process.", "You burn yourself while lighting the lighter!") + + else + set_lit(FALSE) + if(fancy) + user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.", "You quietly shut off [src] without even looking at what you're doing. Wow.") + else + user.visible_message("[user] quietly shuts off [src].", "You quietly shut off [src].") + else + . = ..() + +/obj/item/lighter/attack(mob/living/carbon/M, mob/living/carbon/user) + if(lit && M.IgniteMob()) + message_admins("[key_name_admin(user)] set [key_name_admin(M)] on fire") + log_game("[key_name(user)] set [key_name(M)] on fire") + var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) + if(lit && cig && user.a_intent == INTENT_HELP) + if(cig.lit) + to_chat(user, "The [cig.name] is already lit.") + if(M == user) + cig.attackby(src, user) + else + if(fancy) + cig.light("[user] whips the [name] out and holds it for [M]. [user.p_their(TRUE)] arm is as steady as the unflickering flame they light \the [cig] with.") + else + cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + else + ..() + +/obj/item/lighter/process() + open_flame() + +/obj/item/lighter/is_hot() + return lit * heat + + +/obj/item/lighter/greyscale + name = "cheap lighter" + desc = "A cheap-as-free lighter." + icon_state = "lighter" + fancy = FALSE + +/obj/item/lighter/greyscale/Initialize() + . = ..() + add_atom_colour(color2hex(randomColor(1)), FIXED_COLOUR_PRIORITY) + update_icon() + +/obj/item/lighter/greyscale/update_icon() + cut_overlays() + var/mutable_appearance/base_overlay = mutable_appearance(icon,"[initial(icon_state)]_base") + base_overlay.appearance_flags = RESET_COLOR //the edging doesn't change color + if(lit) + base_overlay.icon_state = "[initial(icon_state)]_on" + add_overlay(base_overlay) + +/obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user) + if(is_hot()) + . = "After some fiddling, [user] manages to light [A] with [src]." + + +/////////// +//ROLLING// +/////////// +/obj/item/rollingpaper + name = "rolling paper" + desc = "A thin piece of paper used to make fine smokeables." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "cig_paper" + w_class = WEIGHT_CLASS_TINY + +/obj/item/rollingpaper/afterattack(atom/target, mob/user, proximity) + if(!proximity) + return + if(istype(target, /obj/item/reagent_containers/food/snacks/grown)) + var/obj/item/reagent_containers/food/snacks/grown/O = target + if(O.dry) + var/obj/item/clothing/mask/cigarette/rollie/R = new /obj/item/clothing/mask/cigarette/rollie(user.loc) + R.chem_volume = target.reagents.total_volume + target.reagents.trans_to(R, R.chem_volume) + qdel(target) + qdel(src) + user.put_in_active_hand(R) + to_chat(user, "You roll the [target.name] into a rolling paper.") + R.desc = "Dried [target.name] rolled up in a thin piece of paper." + else + to_chat(user, "You need to dry this first!") + else + ..() + +/////////////// +//VAPE NATION// +/////////////// +/obj/item/clothing/mask/vape + name = "E-Cigarette" + desc = "A classy and highly sophisticated electronic cigarette, for classy and dignified gentlemen. A warning label reads \"Warning: Do not fill with flammable materials.\""//<<< i'd vape to that. + icon = 'icons/obj/clothing/masks.dmi' + icon_state = null + item_state = null + w_class = WEIGHT_CLASS_TINY + var/chem_volume = 100 + var/vapetime = 0 //this so it won't puff out clouds every tick + var/screw = 0 // kinky + var/super = 0 //for the fattest vapes dude. + +/obj/item/clothing/mask/vape/suicide_act(mob/user) + user.visible_message("[user] is puffin hard on dat vape, [user.p_they()] trying to join the vape life on a whole notha plane!")//it doesn't give you cancer, it is cancer + return (TOXLOSS|OXYLOSS) + + +/obj/item/clothing/mask/vape/Initialize(mapload, param_color) + . = ..() + create_reagents(chem_volume) + reagents.set_reacting(FALSE) // so it doesn't react until you light it + reagents.add_reagent("nicotine", 50) + if(!icon_state) + if(!param_color) + param_color = pick("red","blue","black","white","green","purple","yellow","orange") + icon_state = "[param_color]_vape" + item_state = "[param_color]_vape" + +/obj/item/clothing/mask/vape/attackby(obj/item/O, mob/user, params) + if(istype(O, /obj/item/reagent_containers) && (O.container_type & OPENCONTAINER_1)) + if(reagents.total_volume < chem_volume) + if(O.reagents.total_volume > 0) + O.reagents.trans_to(src,25) + to_chat(user, "You add the contents of [O] to the [src]") + else + to_chat(user, "The [O] is empty!") + else + to_chat(user, "[src] can't hold anymore reagents!") + + if(istype(O, /obj/item/screwdriver)) + if(!screw) + screw = 1 + to_chat(user, "You open the cap on the [src]") + if(super) + add_overlay("vapeopen_med") + else + add_overlay("vapeopen_low") + else + screw = 0 + to_chat(user, "You close the cap on the [src]") + cut_overlays() + + if(istype(O, /obj/item/device/multitool)) + if(screw && !emagged)//also kinky + if(!super) + cut_overlays() + super = 1 + to_chat(user, "You increase the voltage in the [src]") + add_overlay("vapeopen_med") + else + cut_overlays() + super = 0 + to_chat(user, "You decrease the voltage in the [src]") + add_overlay("vapeopen_low") + + if(screw && emagged) + to_chat(user, "The [name] can't be modified!") + + +/obj/item/clothing/mask/vape/emag_act(mob/user)// I WON'T REGRET WRITTING THIS, SURLY. + if(screw) + if(!emagged) + cut_overlays() + emagged = TRUE + super = 0 + to_chat(user, "You maximize the voltage in the [src]") + add_overlay("vapeopen_high") + var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread //for effect + sp.set_up(5, 1, src) + sp.start() + else + to_chat(user, "The [name] is already emagged!") + else + to_chat(user, "You need to open the cap to do that") + +/obj/item/clothing/mask/vape/attack_self(mob/user) + if(reagents.total_volume > 0) + to_chat(user, "you empty [src] of all reagents.") + reagents.clear_reagents() + return + +/obj/item/clothing/mask/vape/equipped(mob/user, slot) + if(slot == slot_wear_mask) + if(!screw) + to_chat(user, "You start puffing on the vape.") + reagents.set_reacting(TRUE) + START_PROCESSING(SSobj, src) + else //it will not start if the vape is opened. + to_chat(user, "You need to close the cap first!") + +/obj/item/clothing/mask/vape/dropped(mob/user) + var/mob/living/carbon/C = user + if(C.get_item_by_slot(slot_wear_mask) == src) + reagents.set_reacting(FALSE) + STOP_PROCESSING(SSobj, src) + +/obj/item/clothing/mask/vape/proc/hand_reagents()//had to rename to avoid duplicate error + if(reagents.total_volume) + if(iscarbon(loc)) + var/mob/living/carbon/C = loc + if (src == C.wear_mask) // if it's in the human/monkey mouth, transfer reagents to the mob + var/fraction = min(REAGENTS_METABOLISM/reagents.total_volume, 1) //this will react instantly, making them a little more dangerous than cigarettes + reagents.reaction(C, INGEST, fraction) + if(!reagents.trans_to(C, REAGENTS_METABOLISM)) + reagents.remove_any(REAGENTS_METABOLISM) + if(reagents.get_reagent_amount("welding_fuel")) + //HOT STUFF + C.fire_stacks = 2 + C.IgniteMob() + + if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire + var/datum/effect_system/reagents_explosion/e = new() + e.set_up(round(reagents.get_reagent_amount("plasma") / 2.5, 1), get_turf(src), 0, 0) + e.start() + qdel(src) + return + reagents.remove_any(REAGENTS_METABOLISM) + +/obj/item/clothing/mask/vape/process() + var/mob/living/M = loc + + if(isliving(loc)) + M.IgniteMob() + + vapetime++ + + if(!reagents.total_volume) + if(ismob(loc)) + to_chat(M, "The [name] is empty!") + STOP_PROCESSING(SSobj, src) + //it's reusable so it won't unequip when empty + return + //open flame removed because vapes are a closed system, they wont light anything on fire + + if(super && vapetime > 3)//Time to start puffing those fat vapes, yo. + var/datum/effect_system/smoke_spread/chem/s = new + s.set_up(reagents, 1, loc, silent=TRUE) + s.start() + vapetime = 0 + + if(emagged && vapetime > 3) + var/datum/effect_system/smoke_spread/chem/s = new + s.set_up(reagents, 4, loc, silent=TRUE) + s.start() + vapetime = 0 + if(prob(5))//small chance for the vape to break and deal damage if it's emagged + playsound(get_turf(src), 'sound/effects/pop_expl.ogg', 50, 0) + M.apply_damage(20, BURN, "head") + M.Knockdown(300, 1, 0) + var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread + sp.set_up(5, 1, src) + sp.start() + to_chat(M, "The [name] suddenly explodes in your mouth!") + qdel(src) + return + + if(reagents && reagents.total_volume) + hand_reagents() diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index f9564018f8..c25e188529 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -212,7 +212,6 @@ build_path = /obj/machinery/computer/cargo origin_tech = "programming=3" var/contraband = FALSE - var/emagged = FALSE /obj/item/circuitboard/computer/cargo/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/device/multitool)) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index eae0a4c9a2..b41438451c 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -208,6 +208,8 @@ desc = "A desk lamp with an adjustable mount." icon_state = "lamp" item_state = "lamp" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' brightness_on = 5 w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 069f8375cc..c9755727e7 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -16,7 +16,6 @@ materials = list(MAT_METAL = 150, MAT_GLASS = 150) var/scanning = 0 var/radiation_count = 0 - var/emagged = FALSE /obj/item/device/geiger_counter/New() ..() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 742a58a462..6bfbff9f3a 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -1,269 +1,268 @@ - -// Light Replacer (LR) -// -// ABOUT THE DEVICE -// -// This is a device supposedly to be used by Janitors and Janitor Cyborgs which will -// allow them to easily replace lights. This was mostly designed for Janitor Cyborgs since -// they don't have hands or a way to replace lightbulbs. -// -// HOW IT WORKS -// -// You attack a light fixture with it, if the light fixture is broken it will replace the -// light fixture with a working light; the broken light is then placed on the floor for the -// user to then pickup with a trash bag. If it's empty then it will just place a light in the fixture. -// -// HOW TO REFILL THE DEVICE -// -// It will need to be manually refilled with lights. -// If it's part of a robot module, it will charge when the Robot is inside a Recharge Station. -// -// EMAGGED FEATURES -// -// NOTICE: The Cyborg cannot use the emagged Light Replacer and the light's explosion was nerfed. It cannot create holes in the station anymore. -// -// I'm not sure everyone will react the emag's features so please say what your opinions are of it. -// -// When emagged it will rig every light it replaces, which will explode when the light is on. -// This is VERY noticable, even the device's name changes when you emag it so if anyone -// examines you when you're holding it in your hand, you will be discovered. -// It will also be very obvious who is setting all these lights off, since only Janitor Borgs and Janitors have easy -// access to them, and only one of them can emag their device. -// -// The explosion cannot insta-kill anyone with 30% or more health. - -#define LIGHT_OK 0 -#define LIGHT_EMPTY 1 -#define LIGHT_BROKEN 2 -#define LIGHT_BURNED 3 - - -/obj/item/device/lightreplacer - - name = "light replacer" - desc = "A device to automatically replace lights. Refill with broken or working lightbulbs, or sheets of glass." - - icon = 'icons/obj/janitor.dmi' - icon_state = "lightreplacer0" - item_state = "electronic" + +// Light Replacer (LR) +// +// ABOUT THE DEVICE +// +// This is a device supposedly to be used by Janitors and Janitor Cyborgs which will +// allow them to easily replace lights. This was mostly designed for Janitor Cyborgs since +// they don't have hands or a way to replace lightbulbs. +// +// HOW IT WORKS +// +// You attack a light fixture with it, if the light fixture is broken it will replace the +// light fixture with a working light; the broken light is then placed on the floor for the +// user to then pickup with a trash bag. If it's empty then it will just place a light in the fixture. +// +// HOW TO REFILL THE DEVICE +// +// It will need to be manually refilled with lights. +// If it's part of a robot module, it will charge when the Robot is inside a Recharge Station. +// +// EMAGGED FEATURES +// +// NOTICE: The Cyborg cannot use the emagged Light Replacer and the light's explosion was nerfed. It cannot create holes in the station anymore. +// +// I'm not sure everyone will react the emag's features so please say what your opinions are of it. +// +// When emagged it will rig every light it replaces, which will explode when the light is on. +// This is VERY noticable, even the device's name changes when you emag it so if anyone +// examines you when you're holding it in your hand, you will be discovered. +// It will also be very obvious who is setting all these lights off, since only Janitor Borgs and Janitors have easy +// access to them, and only one of them can emag their device. +// +// The explosion cannot insta-kill anyone with 30% or more health. + +#define LIGHT_OK 0 +#define LIGHT_EMPTY 1 +#define LIGHT_BROKEN 2 +#define LIGHT_BURNED 3 + + +/obj/item/device/lightreplacer + + name = "light replacer" + desc = "A device to automatically replace lights. Refill with broken or working lightbulbs, or sheets of glass." + + icon = 'icons/obj/janitor.dmi' + icon_state = "lightreplacer0" + item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - + flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT - origin_tech = "magnets=3;engineering=4" - - var/max_uses = 20 - var/uses = 0 - var/emagged = FALSE - var/failmsg = "" - // How much to increase per each glass? - var/increment = 5 - // How much to take from the glass? - var/decrement = 1 - var/charge = 1 - - // Eating used bulbs gives us bulb shards - var/bulb_shards = 0 - // when we get this many shards, we get a free bulb. - var/shards_required = 4 - -/obj/item/device/lightreplacer/New() - uses = max_uses / 2 - failmsg = "The [name]'s refill light blinks red." - ..() - -/obj/item/device/lightreplacer/examine(mob/user) - ..() - to_chat(user, status_string()) - -/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params) - - if(istype(W, /obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/glass/G = W - if(uses >= max_uses) - to_chat(user, "[src.name] is full.") - return - else if(G.use(decrement)) - AddUses(increment) - to_chat(user, "You insert a piece of glass into the [src.name]. You have [uses] light\s remaining.") - return - else - to_chat(user, "You need one sheet of glass to replace lights!") - - if(istype(W, /obj/item/shard)) - if(uses >= max_uses) - to_chat(user, "[src.name] is full.") - return - if(!user.temporarilyRemoveItemFromInventory(W)) - return - AddUses(round(increment*0.75)) - to_chat(user, "You insert a shard of glass into the [src.name]. You have [uses] light\s remaining.") - qdel(W) - return - - if(istype(W, /obj/item/light)) - var/obj/item/light/L = W - if(L.status == 0) // LIGHT OKAY - if(uses < max_uses) - if(!user.temporarilyRemoveItemFromInventory(W)) - return - AddUses(1) - qdel(L) - else - if(!user.temporarilyRemoveItemFromInventory(W)) - return - to_chat(user, "You insert the [L.name] into the [src.name]") - AddShards(1, user) - qdel(L) - return - - if(istype(W, /obj/item/storage)) - var/obj/item/storage/S = W - var/found_lightbulbs = FALSE - var/replaced_something = TRUE - - for(var/obj/item/I in S.contents) + slot_flags = SLOT_BELT + origin_tech = "magnets=3;engineering=4" + + var/max_uses = 20 + var/uses = 0 + var/failmsg = "" + // How much to increase per each glass? + var/increment = 5 + // How much to take from the glass? + var/decrement = 1 + var/charge = 1 + + // Eating used bulbs gives us bulb shards + var/bulb_shards = 0 + // when we get this many shards, we get a free bulb. + var/shards_required = 4 + +/obj/item/device/lightreplacer/New() + uses = max_uses / 2 + failmsg = "The [name]'s refill light blinks red." + ..() + +/obj/item/device/lightreplacer/examine(mob/user) + ..() + to_chat(user, status_string()) + +/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params) + + if(istype(W, /obj/item/stack/sheet/glass)) + var/obj/item/stack/sheet/glass/G = W + if(uses >= max_uses) + to_chat(user, "[src.name] is full.") + return + else if(G.use(decrement)) + AddUses(increment) + to_chat(user, "You insert a piece of glass into the [src.name]. You have [uses] light\s remaining.") + return + else + to_chat(user, "You need one sheet of glass to replace lights!") + + if(istype(W, /obj/item/shard)) + if(uses >= max_uses) + to_chat(user, "[src.name] is full.") + return + if(!user.temporarilyRemoveItemFromInventory(W)) + return + AddUses(round(increment*0.75)) + to_chat(user, "You insert a shard of glass into the [src.name]. You have [uses] light\s remaining.") + qdel(W) + return + + if(istype(W, /obj/item/light)) + var/obj/item/light/L = W + if(L.status == 0) // LIGHT OKAY + if(uses < max_uses) + if(!user.temporarilyRemoveItemFromInventory(W)) + return + AddUses(1) + qdel(L) + else + if(!user.temporarilyRemoveItemFromInventory(W)) + return + to_chat(user, "You insert the [L.name] into the [src.name]") + AddShards(1, user) + qdel(L) + return + + if(istype(W, /obj/item/storage)) + var/obj/item/storage/S = W + var/found_lightbulbs = FALSE + var/replaced_something = TRUE + + for(var/obj/item/I in S.contents) if(istype(I, /obj/item/light)) - var/obj/item/light/L = I - found_lightbulbs = TRUE - if(src.uses >= max_uses) - break - if(L.status == LIGHT_OK) - replaced_something = TRUE - AddUses(1) - qdel(L) - - else if(L.status == LIGHT_BROKEN || L.status == LIGHT_BURNED) - replaced_something = TRUE - AddShards(1, user) - qdel(L) - - if(!found_lightbulbs) - to_chat(user, "\The [S] contains no bulbs.") - return - - if(!replaced_something && src.uses == max_uses) - to_chat(user, "\The [src] is full!") - return - - to_chat(user, "You fill \the [src] with lights from \the [S]. " + status_string() + "") - -/obj/item/device/lightreplacer/emag_act() + var/obj/item/light/L = I + found_lightbulbs = TRUE + if(src.uses >= max_uses) + break + if(L.status == LIGHT_OK) + replaced_something = TRUE + AddUses(1) + qdel(L) + + else if(L.status == LIGHT_BROKEN || L.status == LIGHT_BURNED) + replaced_something = TRUE + AddShards(1, user) + qdel(L) + + if(!found_lightbulbs) + to_chat(user, "\The [S] contains no bulbs.") + return + + if(!replaced_something && src.uses == max_uses) + to_chat(user, "\The [src] is full!") + return + + to_chat(user, "You fill \the [src] with lights from \the [S]. " + status_string() + "") + +/obj/item/device/lightreplacer/emag_act() if(emagged) return Emag() - -/obj/item/device/lightreplacer/attack_self(mob/user) - to_chat(user, status_string()) - -/obj/item/device/lightreplacer/update_icon() - icon_state = "lightreplacer[emagged]" - -/obj/item/device/lightreplacer/proc/status_string() - return "It has [uses] light\s remaining (plus [bulb_shards] fragment\s)." - -/obj/item/device/lightreplacer/proc/Use(mob/user) - playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - AddUses(-1) - return 1 - -// Negative numbers will subtract -/obj/item/device/lightreplacer/proc/AddUses(amount = 1) - uses = Clamp(uses + amount, 0, max_uses) - -/obj/item/device/lightreplacer/proc/AddShards(amount = 1, user) - bulb_shards += amount - var/new_bulbs = round(bulb_shards / shards_required) - if(new_bulbs > 0) - AddUses(new_bulbs) - bulb_shards = bulb_shards % shards_required - if(new_bulbs != 0) - to_chat(user, "\The [src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.") - playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) - return new_bulbs - -/obj/item/device/lightreplacer/proc/Charge(var/mob/user) - charge += 1 - if(charge > 3) - AddUses(1) - charge = 1 - -/obj/item/device/lightreplacer/proc/ReplaceLight(obj/machinery/light/target, mob/living/U) - - if(target.status != LIGHT_OK) - if(CanUse(U)) - if(!Use(U)) return - to_chat(U, "You replace the [target.fitting] with \the [src].") - - if(target.status != LIGHT_EMPTY) - AddShards(1, U) - target.status = LIGHT_EMPTY - target.update() - - var/obj/item/light/L2 = new target.light_type() - - target.status = L2.status - target.switchcount = L2.switchcount - target.rigged = emagged - target.brightness = L2.brightness - target.on = target.has_power() - target.update() - qdel(L2) - - if(target.on && target.rigged) - target.explode() - return - - else - to_chat(U, failmsg) - return - else - to_chat(U, "There is a working [target.fitting] already inserted!") - return - -/obj/item/device/lightreplacer/proc/Emag() - emagged = !emagged - playsound(src.loc, "sparks", 100, 1) - if(emagged) - name = "shortcircuited [initial(name)]" - else - name = initial(name) - update_icon() - -/obj/item/device/lightreplacer/proc/CanUse(mob/living/user) - src.add_fingerprint(user) - if(uses > 0) - return 1 - else - return 0 - -/obj/item/device/lightreplacer/afterattack(atom/T, mob/U, proximity) - if(!proximity) - return - if(!isturf(T)) - return - - var/used = FALSE - for(var/atom/A in T) - if(!CanUse(U)) - break - used = TRUE - if(istype(A, /obj/machinery/light)) - ReplaceLight(A, U) - - if(!used) - to_chat(U, failmsg) - -/obj/item/device/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) - J.put_in_cart(src, user) - J.myreplacer = src - J.update_icon() - -/obj/item/device/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) - return - -#undef LIGHT_OK -#undef LIGHT_EMPTY -#undef LIGHT_BROKEN -#undef LIGHT_BURNED + +/obj/item/device/lightreplacer/attack_self(mob/user) + to_chat(user, status_string()) + +/obj/item/device/lightreplacer/update_icon() + icon_state = "lightreplacer[emagged]" + +/obj/item/device/lightreplacer/proc/status_string() + return "It has [uses] light\s remaining (plus [bulb_shards] fragment\s)." + +/obj/item/device/lightreplacer/proc/Use(mob/user) + playsound(src.loc, 'sound/machines/click.ogg', 50, 1) + AddUses(-1) + return 1 + +// Negative numbers will subtract +/obj/item/device/lightreplacer/proc/AddUses(amount = 1) + uses = Clamp(uses + amount, 0, max_uses) + +/obj/item/device/lightreplacer/proc/AddShards(amount = 1, user) + bulb_shards += amount + var/new_bulbs = round(bulb_shards / shards_required) + if(new_bulbs > 0) + AddUses(new_bulbs) + bulb_shards = bulb_shards % shards_required + if(new_bulbs != 0) + to_chat(user, "\The [src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.") + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + return new_bulbs + +/obj/item/device/lightreplacer/proc/Charge(var/mob/user) + charge += 1 + if(charge > 3) + AddUses(1) + charge = 1 + +/obj/item/device/lightreplacer/proc/ReplaceLight(obj/machinery/light/target, mob/living/U) + + if(target.status != LIGHT_OK) + if(CanUse(U)) + if(!Use(U)) return + to_chat(U, "You replace the [target.fitting] with \the [src].") + + if(target.status != LIGHT_EMPTY) + AddShards(1, U) + target.status = LIGHT_EMPTY + target.update() + + var/obj/item/light/L2 = new target.light_type() + + target.status = L2.status + target.switchcount = L2.switchcount + target.rigged = emagged + target.brightness = L2.brightness + target.on = target.has_power() + target.update() + qdel(L2) + + if(target.on && target.rigged) + target.explode() + return + + else + to_chat(U, failmsg) + return + else + to_chat(U, "There is a working [target.fitting] already inserted!") + return + +/obj/item/device/lightreplacer/proc/Emag() + emagged = !emagged + playsound(src.loc, "sparks", 100, 1) + if(emagged) + name = "shortcircuited [initial(name)]" + else + name = initial(name) + update_icon() + +/obj/item/device/lightreplacer/proc/CanUse(mob/living/user) + src.add_fingerprint(user) + if(uses > 0) + return 1 + else + return 0 + +/obj/item/device/lightreplacer/afterattack(atom/T, mob/U, proximity) + if(!proximity) + return + if(!isturf(T)) + return + + var/used = FALSE + for(var/atom/A in T) + if(!CanUse(U)) + break + used = TRUE + if(istype(A, /obj/machinery/light)) + ReplaceLight(A, U) + + if(!used) + to_chat(U, failmsg) + +/obj/item/device/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) + J.put_in_cart(src, user) + J.myreplacer = src + J.update_icon() + +/obj/item/device/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) + return + +#undef LIGHT_OK +#undef LIGHT_EMPTY +#undef LIGHT_BROKEN +#undef LIGHT_BURNED diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 607238e2e9..30cec4c5a1 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -8,7 +8,6 @@ w_class = WEIGHT_CLASS_SMALL siemens_coefficient = 1 var/spamcheck = 0 - var/emagged = FALSE var/list/voicespan = list(SPAN_COMMAND) /obj/item/device/megaphone/get_held_item_speechspans(mob/living/carbon/user) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 14d45e6293..a0616a0075 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -426,7 +426,10 @@ signal.frequency = freqnum // Quick frequency set for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list) R.receive_signal(signal) - + + // Allinone can act as receivers. (Unless of course whoever coded this last time forgot to put it in somewhere!) + for(var/obj/machinery/telecomms/allinone/R in GLOB.telecomms_list) + R.receive_signal(signal) spawn(20) // wait a little... diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 8de8bcd772..a74ea61e06 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -75,14 +75,16 @@ effective or pretty fucking useless. var/intensity = 10 // how much damage the radiation does var/wavelength = 10 // time it takes for the radiation to kick in, in seconds var/used = 0 // is it cooling down? + var/stealth = FALSE /obj/item/device/healthanalyzer/rad_laser/attack(mob/living/M, mob/living/user) - ..() + if(!stealth || !irradiate) + ..() if(!irradiate) return if(!used) add_logs(user, M, "irradiated", src) - var/cooldown = round(max(10, (intensity*5 - wavelength/4))) * 10 + var/cooldown = GetCooldown() used = 1 icon_state = "health1" handle_cooldown(cooldown) // splits off to handle the cooldown while handling wavelength @@ -103,11 +105,15 @@ effective or pretty fucking useless. /obj/item/device/healthanalyzer/rad_laser/attack_self(mob/user) interact(user) +/obj/item/device/healthanalyzer/rad_laser/proc/GetCooldown() + return round(max(10, (stealth*30 + intensity*5 - wavelength/4))) + /obj/item/device/healthanalyzer/rad_laser/interact(mob/user) user.set_machine(src) - var/cooldown = round(max(10, (intensity*5 - wavelength/4))) + var/cooldown = GetCooldown() var/dat = "Irradiation: [irradiate ? "On" : "Off"]
" + dat += "Stealth Mode (NOTE: Deactivates automatically while Irradiation is off): [stealth ? "On" : "Off"]
" dat += "Scan Mode: " if(!scanmode) dat += "Scan Health" @@ -141,6 +147,9 @@ effective or pretty fucking useless. usr.set_machine(src) if(href_list["rad"]) irradiate = !irradiate + + else if(href_list["stealthy"]) + stealth = !stealth else if(href_list["mode"]) scanmode += 1 diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index 32c88e38da..1e3e9ccd73 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -12,7 +12,7 @@ desc = "PRESENTS!!!! eek!" icon = 'icons/obj/storage.dmi' icon_state = "giftdeliverypackage3" - item_state = "gift1" + item_state = "gift" resistance_flags = FLAMMABLE /obj/item/a_gift/New() diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 07da20f615..b352596e2f 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -1,549 +1,567 @@ -#define EMPTY 1 -#define WIRED 2 -#define READY 3 - -/obj/item/grenade/chem_grenade - name = "chemical grenade" - desc = "A custom made grenade." - icon_state = "chemg" - item_state = "flashbang" - w_class = WEIGHT_CLASS_SMALL - force = 2 - var/stage = EMPTY - var/list/beakers = list() - var/list/allowed_containers = list(/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle) - var/affected_area = 3 - var/obj/item/device/assembly_holder/nadeassembly = null - var/assemblyattacher - var/ignition_temp = 10 // The amount of heat added to the reagents when this grenade goes off. - var/threatscale = 1 // Used by advanced grenades to make them slightly more worthy. - var/no_splash = FALSE //If the grenade deletes even if it has no reagents to splash with. Used for slime core reactions. - -/obj/item/grenade/chem_grenade/Initialize() - . = ..() - create_reagents(1000) - stage_change() // If no argument is set, it will change the stage to the current stage, useful for stock grenades that start READY. - -/obj/item/grenade/chem_grenade/examine(mob/user) - display_timer = (stage == READY && !nadeassembly) //show/hide the timer based on assembly state - ..() - - -/obj/item/grenade/chem_grenade/attack_self(mob/user) - if(stage == READY && !active) - if(nadeassembly) - nadeassembly.attack_self(user) - else if(clown_check(user)) - var/turf/bombturf = get_turf(src) - var/area/A = get_area(bombturf) - message_admins("[ADMIN_LOOKUPFLW(usr)] has primed a [name] for detonation at [A.name][ADMIN_JMP(bombturf)].") - log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].") - to_chat(user, "You prime the [name]! [det_time / 10] second\s!") - playsound(user.loc, 'sound/weapons/armbomb.ogg', 60, 1) - active = 1 - icon_state = initial(icon_state) + "_active" - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.throw_mode_on() - - addtimer(CALLBACK(src, .proc/prime), det_time) - - -/obj/item/grenade/chem_grenade/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/screwdriver)) - if(stage == WIRED) - if(beakers.len) - stage_change(READY) - to_chat(user, "You lock the [initial(name)] assembly.") - playsound(loc, I.usesound, 25, -3) - else - to_chat(user, "You need to add at least one beaker before locking the [initial(name)] assembly!") - else if(stage == READY && !nadeassembly) - det_time = det_time == 50 ? 30 : 50 //toggle between 30 and 50 - to_chat(user, "You modify the time delay. It's set for [det_time / 10] second\s.") - else if(stage == EMPTY) - to_chat(user, "You need to add an activation mechanism!") - - else if(stage == WIRED && is_type_in_list(I, allowed_containers)) - . = 1 //no afterattack - if(beakers.len == 2) - to_chat(user, "[src] can not hold more containers!") - return - else - if(I.reagents.total_volume) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You add [I] to the [initial(name)] assembly.") - beakers += I - else - to_chat(user, "[I] is empty!") - - else if(stage == EMPTY && istype(I, /obj/item/device/assembly_holder)) - . = 1 // no afterattack - var/obj/item/device/assembly_holder/A = I - if(isigniter(A.a_left) == isigniter(A.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it - return - if(!user.transferItemToLoc(I, src)) - return - - nadeassembly = A - A.master = src - assemblyattacher = user.ckey - - stage_change(WIRED) - to_chat(user, "You add [A] to the [initial(name)] assembly.") - - else if(stage == EMPTY && istype(I, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = I - if (C.use(1)) - det_time = 50 // In case the cable_coil was removed and readded. - stage_change(WIRED) - to_chat(user, "You rig the [initial(name)] assembly.") - else - to_chat(user, "You need one length of coil to wire the assembly!") - return - - else if(stage == READY && istype(I, /obj/item/wirecutters) && !active) - stage_change(WIRED) - to_chat(user, "You unlock the [initial(name)] assembly.") - - else if(stage == WIRED && istype(I, /obj/item/wrench)) - if(beakers.len) - for(var/obj/O in beakers) - O.loc = get_turf(src) - beakers = list() - to_chat(user, "You open the [initial(name)] assembly and remove the payload.") - return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism. - if(nadeassembly) - nadeassembly.loc = get_turf(src) - nadeassembly.master = null - nadeassembly = null - else // If "nadeassembly = null && stage == WIRED", then it most have been cable_coil that was used. - new /obj/item/stack/cable_coil(get_turf(src),1) - stage_change(EMPTY) - to_chat(user, "You remove the activation mechanism from the [initial(name)] assembly.") - else - return ..() - -/obj/item/grenade/chem_grenade/proc/stage_change(N) - if(N) - stage = N - if(stage == EMPTY) - name = "[initial(name)] casing" - desc = "A do it yourself [initial(name)]!" - icon_state = initial(icon_state) - else if(stage == WIRED) - name = "unsecured [initial(name)]" - desc = "An unsecured [initial(name)] assembly." - icon_state = "[initial(icon_state)]_ass" - else if(stage == READY) - name = initial(name) - desc = initial(desc) - icon_state = "[initial(icon_state)]_locked" - - -//assembly stuff -/obj/item/grenade/chem_grenade/receive_signal() - prime() - - -/obj/item/grenade/chem_grenade/Crossed(atom/movable/AM) - if(nadeassembly) - nadeassembly.Crossed(AM) - -/obj/item/grenade/chem_grenade/on_found(mob/finder) - if(nadeassembly) - nadeassembly.on_found(finder) - -/obj/item/grenade/chem_grenade/prime() - if(stage != READY) - return - - var/list/datum/reagents/reactants = list() - for(var/obj/item/reagent_containers/glass/G in beakers) - reactants += G.reagents - - if(!chem_splash(get_turf(src), affected_area, reactants, ignition_temp, threatscale) && !no_splash) - playsound(loc, 'sound/items/screwdriver2.ogg', 50, 1) - if(beakers.len) - for(var/obj/O in beakers) - O.loc = get_turf(src) - beakers = list() - stage_change(EMPTY) - return - - if(nadeassembly) - var/mob/M = get_mob_by_ckey(assemblyattacher) - var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast) - var/turf/T = get_turf(src) - var/area/A = get_area(T) - message_admins("grenade primed by an assembly, attached by [ADMIN_LOOKUPFLW(M)] and last touched by [ADMIN_LOOKUPFLW(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] [ADMIN_JMP(T)].") - log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] [COORD(T)]") - - var/turf/DT = get_turf(src) - var/area/DA = get_area(DT) - log_game("A grenade detonated at [DA.name] [COORD(DT)]") - - update_mob() - - qdel(src) - -//Large chem grenades accept slime cores and use the appropriately. -/obj/item/grenade/chem_grenade/large - name = "large grenade" - desc = "A custom made large grenade. It affects a larger area." - icon_state = "large_grenade" - allowed_containers = list(/obj/item/reagent_containers/glass, /obj/item/reagent_containers/food/condiment, - /obj/item/reagent_containers/food/drinks) - origin_tech = "combat=3;engineering=3" - affected_area = 5 - ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades. - threatscale = 1.1 // 10% more effective. - -/obj/item/grenade/chem_grenade/large/prime() - if(stage != READY) - return - - for(var/obj/item/slime_extract/S in beakers) - if(S.Uses) - for(var/obj/item/reagent_containers/glass/G in beakers) - G.reagents.trans_to(S, G.reagents.total_volume) - - //If there is still a core (sometimes it's used up) - //and there are reagents left, behave normally, - //otherwise drop it on the ground for timed reactions like gold. - - if(S) - if(S.reagents && S.reagents.total_volume) - for(var/obj/item/reagent_containers/glass/G in beakers) - S.reagents.trans_to(G, S.reagents.total_volume) - else - S.forceMove(get_turf(src)) - no_splash = TRUE - ..() - - //I tried to just put it in the allowed_containers list but - //if you do that it must have reagents. If you're going to - //make a special case you might as well do it explicitly. -Sayu -/obj/item/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/slime_extract) && stage == WIRED) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You add [I] to the [initial(name)] assembly.") - beakers += I - else - return ..() - -/obj/item/grenade/chem_grenade/cryo // Intended for rare cryogenic mixes. Cools the area moderately upon detonation. - name = "cryo grenade" - desc = "A custom made cryogenic grenade. It rapidly cools its contents upon detonation." - icon_state = "cryog" - affected_area = 2 - ignition_temp = -100 - -/obj/item/grenade/chem_grenade/pyro // Intended for pyrotechnical mixes. Produces a small fire upon detonation, igniting potentially flammable mixtures. - name = "pyro grenade" - desc = "A custom made pyrotechnical grenade. It heats up and ignites its contents upon detonation." - icon_state = "pyrog" - origin_tech = "combat=4;engineering=4" - affected_area = 3 - ignition_temp = 500 // This is enough to expose a hotspot. - -/obj/item/grenade/chem_grenade/adv_release // Intended for weaker, but longer lasting effects. Could have some interesting uses. - name = "advanced release grenade" - desc = "A custom made advanced release grenade. It is able to be detonated more than once. Can be configured using a multitool." - icon_state = "timeg" - origin_tech = "combat=3;engineering=4" - var/unit_spread = 10 // Amount of units per repeat. Can be altered with a multitool. - -/obj/item/grenade/chem_grenade/adv_release/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/device/multitool)) - switch(unit_spread) - if(0 to 24) - unit_spread += 5 - if(25 to 99) - unit_spread += 25 - else - unit_spread = 5 - to_chat(user, " You set the time release to [unit_spread] units per detonation.") - return - ..() - -/obj/item/grenade/chem_grenade/adv_release/prime() - if(stage != READY) - return - - var/total_volume = 0 - for(var/obj/item/reagent_containers/RC in beakers) - total_volume += RC.reagents.total_volume - if(!total_volume) - qdel(src) - qdel(nadeassembly) - return - var/fraction = unit_spread/total_volume - var/datum/reagents/reactants = new(unit_spread) - reactants.my_atom = src - for(var/obj/item/reagent_containers/RC in beakers) - RC.reagents.trans_to(reactants, RC.reagents.total_volume*fraction, threatscale, 1, 1) - chem_splash(get_turf(src), affected_area, list(reactants), ignition_temp, threatscale) - - if(nadeassembly) - var/mob/M = get_mob_by_ckey(assemblyattacher) - var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast) - var/turf/T = get_turf(src) - var/area/A = get_area(T) - message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) (FLW) and last touched by [key_name_admin(last)](?) (FLW) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP).") - log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z])") - else - addtimer(CALLBACK(src, .proc/prime), det_time) - var/turf/DT = get_turf(src) - var/area/DA = get_area(DT) - log_game("A grenade detonated at [DA.name] ([DT.x], [DT.y], [DT.z])") - - - - - -////////////////////////////// -////// PREMADE GRENADES ////// -////////////////////////////// - -/obj/item/grenade/chem_grenade/metalfoam - name = "metal foam grenade" - desc = "Used for emergency sealing of air breaches." - stage = READY - -/obj/item/grenade/chem_grenade/metalfoam/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/B2 = new(src) - - B1.reagents.add_reagent("aluminium", 30) - B2.reagents.add_reagent("foaming_agent", 10) - B2.reagents.add_reagent("facid", 10) - - beakers += B1 - beakers += B2 - - -/obj/item/grenade/chem_grenade/incendiary - name = "incendiary grenade" - desc = "Used for clearing rooms of living things." - stage = READY - -/obj/item/grenade/chem_grenade/incendiary/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/B2 = new(src) - - B1.reagents.add_reagent("phosphorus", 25) - B2.reagents.add_reagent("stable_plasma", 25) - B2.reagents.add_reagent("sacid", 25) - - beakers += B1 - beakers += B2 - - -/obj/item/grenade/chem_grenade/antiweed - name = "weedkiller grenade" - desc = "Used for purging large areas of invasive plant species. Contents under pressure. Do not directly inhale contents." - stage = READY - -/obj/item/grenade/chem_grenade/antiweed/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/B2 = new(src) - - B1.reagents.add_reagent("plantbgone", 25) - B1.reagents.add_reagent("potassium", 25) - B2.reagents.add_reagent("phosphorus", 25) - B2.reagents.add_reagent("sugar", 25) - - beakers += B1 - beakers += B2 - - -/obj/item/grenade/chem_grenade/cleaner - name = "cleaner grenade" - desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." - stage = READY - -/obj/item/grenade/chem_grenade/cleaner/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/B2 = new(src) - - B1.reagents.add_reagent("fluorosurfactant", 40) - B2.reagents.add_reagent("water", 40) - B2.reagents.add_reagent("cleaner", 10) - - beakers += B1 - beakers += B2 - - -/obj/item/grenade/chem_grenade/ez_clean - name = "cleaner grenade" - desc = "Waffle Co.-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." - stage = READY - -/obj/item/grenade/chem_grenade/ez_clean/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src) - - B1.reagents.add_reagent("fluorosurfactant", 40) - B2.reagents.add_reagent("water", 40) - B2.reagents.add_reagent("ez_clean", 60) //ensures a t h i c c distribution - - beakers += B1 - beakers += B2 - - - -/obj/item/grenade/chem_grenade/teargas - name = "teargas grenade" - desc = "Used for nonlethal riot control. Contents under pressure. Do not directly inhale contents." - stage = READY - -/obj/item/grenade/chem_grenade/teargas/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src) - - B1.reagents.add_reagent("condensedcapsaicin", 60) - B1.reagents.add_reagent("potassium", 40) - B2.reagents.add_reagent("phosphorus", 40) - B2.reagents.add_reagent("sugar", 40) - - beakers += B1 - beakers += B2 - - -/obj/item/grenade/chem_grenade/facid - name = "acid grenade" - desc = "Used for melting armoured opponents." - stage = READY - -/obj/item/grenade/chem_grenade/facid/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) - - B1.reagents.add_reagent("facid", 290) - B1.reagents.add_reagent("potassium", 10) - B2.reagents.add_reagent("phosphorus", 10) - B2.reagents.add_reagent("sugar", 10) - B2.reagents.add_reagent("facid", 280) - - beakers += B1 - beakers += B2 - - -/obj/item/grenade/chem_grenade/colorful - name = "colorful grenade" - desc = "Used for wide scale painting projects." - stage = READY - -/obj/item/grenade/chem_grenade/colorful/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/B2 = new(src) - - B1.reagents.add_reagent("colorful_reagent", 25) - B1.reagents.add_reagent("potassium", 25) - B2.reagents.add_reagent("phosphorus", 25) - B2.reagents.add_reagent("sugar", 25) - - beakers += B1 - beakers += B2 - -/obj/item/grenade/chem_grenade/glitter - name = "generic glitter grenade" - desc = "You shouldn't see this description." - stage = READY - var/glitter_type = "glitter" - -/obj/item/grenade/chem_grenade/glitter/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/B2 = new(src) - - B1.reagents.add_reagent(glitter_type, 25) - B1.reagents.add_reagent("potassium", 25) - B2.reagents.add_reagent("phosphorus", 25) - B2.reagents.add_reagent("sugar", 25) - - beakers += B1 - beakers += B2 - -/obj/item/grenade/chem_grenade/glitter/pink - name = "pink glitter bomb" - desc = "For that HOT glittery look." - glitter_type = "pink_glitter" - -/obj/item/grenade/chem_grenade/glitter/blue - name = "blue glitter bomb" - desc = "For that COOL glittery look." - glitter_type = "blue_glitter" - -/obj/item/grenade/chem_grenade/glitter/white - name = "white glitter bomb" - desc = "For that somnolent glittery look." - glitter_type = "white_glitter" - -/obj/item/grenade/chem_grenade/clf3 - name = "clf3 grenade" - desc = "BURN!-brand foaming clf3. In a special applicator for rapid purging of wide areas." - stage = READY - -/obj/item/grenade/chem_grenade/clf3/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) - - B1.reagents.add_reagent("fluorosurfactant", 250) - B1.reagents.add_reagent("clf3", 50) - B2.reagents.add_reagent("water", 250) - B2.reagents.add_reagent("clf3", 50) - - beakers += B1 - beakers += B2 - -/obj/item/grenade/chem_grenade/bioterrorfoam - name = "Bio terror foam grenade" - desc = "Tiger Cooperative chemical foam grenade. Causes temporary irration, blindness, confusion, mutism, and mutations to carbon based life forms. Contains additional spore toxin" - stage = READY - -/obj/item/grenade/chem_grenade/bioterrorfoam/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) - - B1.reagents.add_reagent("cryptobiolin", 75) - B1.reagents.add_reagent("water", 50) - B1.reagents.add_reagent("mutetoxin", 50) - B1.reagents.add_reagent("spore", 75) - B1.reagents.add_reagent("itching_powder", 50) - B2.reagents.add_reagent("fluorosurfactant", 150) - B2.reagents.add_reagent("mutagen", 150) - beakers += B1 - beakers += B2 - -/obj/item/grenade/chem_grenade/tuberculosis - name = "Fungal tuberculosis grenade" - desc = "WARNING: GRENADE WILL RELEASE DEADLY SPORES CONTAINING ACTIVE AGENTS. SEAL SUIT AND AIRFLOW BEFORE USE." - stage = READY - -/obj/item/grenade/chem_grenade/tuberculosis/Initialize() - . = ..() - var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) - var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) - - B1.reagents.add_reagent("potassium", 50) - B1.reagents.add_reagent("phosphorus", 50) - B1.reagents.add_reagent("fungalspores", 200) - B2.reagents.add_reagent("blood", 250) - B2.reagents.add_reagent("sugar", 50) - - beakers += B1 - beakers += B2 +#define EMPTY 1 +#define WIRED 2 +#define READY 3 + +/obj/item/grenade/chem_grenade + name = "chemical grenade" + desc = "A custom made grenade." + icon_state = "chemg" + item_state = "flashbang" + w_class = WEIGHT_CLASS_SMALL + force = 2 + var/stage = EMPTY + var/list/beakers = list() + var/list/allowed_containers = list(/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle) + var/affected_area = 3 + var/obj/item/device/assembly_holder/nadeassembly = null + var/assemblyattacher + var/ignition_temp = 10 // The amount of heat added to the reagents when this grenade goes off. + var/threatscale = 1 // Used by advanced grenades to make them slightly more worthy. + var/no_splash = FALSE //If the grenade deletes even if it has no reagents to splash with. Used for slime core reactions. + +/obj/item/grenade/chem_grenade/Initialize() + . = ..() + create_reagents(1000) + stage_change() // If no argument is set, it will change the stage to the current stage, useful for stock grenades that start READY. + +/obj/item/grenade/chem_grenade/examine(mob/user) + display_timer = (stage == READY && !nadeassembly) //show/hide the timer based on assembly state + ..() + + +/obj/item/grenade/chem_grenade/attack_self(mob/user) + if(stage == READY && !active) + if(nadeassembly) + nadeassembly.attack_self(user) + else if(clown_check(user)) + var/turf/bombturf = get_turf(src) + var/area/A = get_area(bombturf) + message_admins("[ADMIN_LOOKUPFLW(usr)] has primed a [name] for detonation at [A.name][ADMIN_JMP(bombturf)].") + log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].") + to_chat(user, "You prime the [name]! [det_time / 10] second\s!") + playsound(user.loc, 'sound/weapons/armbomb.ogg', 60, 1) + active = 1 + icon_state = initial(icon_state) + "_active" + if(iscarbon(user)) + var/mob/living/carbon/C = user + C.throw_mode_on() + + addtimer(CALLBACK(src, .proc/prime), det_time) + + +/obj/item/grenade/chem_grenade/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/screwdriver)) + if(stage == WIRED) + if(beakers.len) + stage_change(READY) + to_chat(user, "You lock the [initial(name)] assembly.") + playsound(loc, I.usesound, 25, -3) + else + to_chat(user, "You need to add at least one beaker before locking the [initial(name)] assembly!") + else if(stage == READY && !nadeassembly) + det_time = det_time == 50 ? 30 : 50 //toggle between 30 and 50 + to_chat(user, "You modify the time delay. It's set for [det_time / 10] second\s.") + else if(stage == EMPTY) + to_chat(user, "You need to add an activation mechanism!") + + else if(stage == WIRED && is_type_in_list(I, allowed_containers)) + . = 1 //no afterattack + if(beakers.len == 2) + to_chat(user, "[src] can not hold more containers!") + return + else + if(I.reagents.total_volume) + if(!user.transferItemToLoc(I, src)) + return + to_chat(user, "You add [I] to the [initial(name)] assembly.") + beakers += I + else + to_chat(user, "[I] is empty!") + + else if(stage == EMPTY && istype(I, /obj/item/device/assembly_holder)) + . = 1 // no afterattack + var/obj/item/device/assembly_holder/A = I + if(isigniter(A.a_left) == isigniter(A.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it + return + if(!user.transferItemToLoc(I, src)) + return + + nadeassembly = A + A.master = src + assemblyattacher = user.ckey + + stage_change(WIRED) + to_chat(user, "You add [A] to the [initial(name)] assembly.") + + else if(stage == EMPTY && istype(I, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = I + if (C.use(1)) + det_time = 50 // In case the cable_coil was removed and readded. + stage_change(WIRED) + to_chat(user, "You rig the [initial(name)] assembly.") + else + to_chat(user, "You need one length of coil to wire the assembly!") + return + + else if(stage == READY && istype(I, /obj/item/wirecutters) && !active) + stage_change(WIRED) + to_chat(user, "You unlock the [initial(name)] assembly.") + + else if(stage == WIRED && istype(I, /obj/item/wrench)) + if(beakers.len) + for(var/obj/O in beakers) + O.loc = get_turf(src) + beakers = list() + to_chat(user, "You open the [initial(name)] assembly and remove the payload.") + return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism. + if(nadeassembly) + nadeassembly.loc = get_turf(src) + nadeassembly.master = null + nadeassembly = null + else // If "nadeassembly = null && stage == WIRED", then it most have been cable_coil that was used. + new /obj/item/stack/cable_coil(get_turf(src),1) + stage_change(EMPTY) + to_chat(user, "You remove the activation mechanism from the [initial(name)] assembly.") + else + return ..() + +/obj/item/grenade/chem_grenade/proc/stage_change(N) + if(N) + stage = N + if(stage == EMPTY) + name = "[initial(name)] casing" + desc = "A do it yourself [initial(name)]!" + icon_state = initial(icon_state) + else if(stage == WIRED) + name = "unsecured [initial(name)]" + desc = "An unsecured [initial(name)] assembly." + icon_state = "[initial(icon_state)]_ass" + else if(stage == READY) + name = initial(name) + desc = initial(desc) + icon_state = "[initial(icon_state)]_locked" + + +//assembly stuff +/obj/item/grenade/chem_grenade/receive_signal() + prime() + + +/obj/item/grenade/chem_grenade/Crossed(atom/movable/AM) + if(nadeassembly) + nadeassembly.Crossed(AM) + +/obj/item/grenade/chem_grenade/on_found(mob/finder) + if(nadeassembly) + nadeassembly.on_found(finder) + +/obj/item/grenade/chem_grenade/prime() + if(stage != READY) + return + + var/list/datum/reagents/reactants = list() + for(var/obj/item/reagent_containers/glass/G in beakers) + reactants += G.reagents + + if(!chem_splash(get_turf(src), affected_area, reactants, ignition_temp, threatscale) && !no_splash) + playsound(loc, 'sound/items/screwdriver2.ogg', 50, 1) + if(beakers.len) + for(var/obj/O in beakers) + O.loc = get_turf(src) + beakers = list() + stage_change(EMPTY) + return + + if(nadeassembly) + var/mob/M = get_mob_by_ckey(assemblyattacher) + var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast) + var/turf/T = get_turf(src) + var/area/A = get_area(T) + message_admins("grenade primed by an assembly, attached by [ADMIN_LOOKUPFLW(M)] and last touched by [ADMIN_LOOKUPFLW(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] [ADMIN_JMP(T)].") + log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] [COORD(T)]") + + var/turf/DT = get_turf(src) + var/area/DA = get_area(DT) + log_game("A grenade detonated at [DA.name] [COORD(DT)]") + + update_mob() + + qdel(src) + +//Large chem grenades accept slime cores and use the appropriately. +/obj/item/grenade/chem_grenade/large + name = "large grenade" + desc = "A custom made large grenade. It affects a larger area." + icon_state = "large_grenade" + allowed_containers = list(/obj/item/reagent_containers/glass, /obj/item/reagent_containers/food/condiment, + /obj/item/reagent_containers/food/drinks) + origin_tech = "combat=3;engineering=3" + affected_area = 5 + ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades. + threatscale = 1.1 // 10% more effective. + +/obj/item/grenade/chem_grenade/large/prime() + if(stage != READY) + return + + for(var/obj/item/slime_extract/S in beakers) + if(S.Uses) + for(var/obj/item/reagent_containers/glass/G in beakers) + G.reagents.trans_to(S, G.reagents.total_volume) + + //If there is still a core (sometimes it's used up) + //and there are reagents left, behave normally, + //otherwise drop it on the ground for timed reactions like gold. + + if(S) + if(S.reagents && S.reagents.total_volume) + for(var/obj/item/reagent_containers/glass/G in beakers) + S.reagents.trans_to(G, S.reagents.total_volume) + else + S.forceMove(get_turf(src)) + no_splash = TRUE + ..() + + //I tried to just put it in the allowed_containers list but + //if you do that it must have reagents. If you're going to + //make a special case you might as well do it explicitly. -Sayu +/obj/item/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/slime_extract) && stage == WIRED) + if(!user.transferItemToLoc(I, src)) + return + to_chat(user, "You add [I] to the [initial(name)] assembly.") + beakers += I + else + return ..() + +/obj/item/grenade/chem_grenade/cryo // Intended for rare cryogenic mixes. Cools the area moderately upon detonation. + name = "cryo grenade" + desc = "A custom made cryogenic grenade. It rapidly cools its contents upon detonation." + icon_state = "cryog" + affected_area = 2 + ignition_temp = -100 + +/obj/item/grenade/chem_grenade/pyro // Intended for pyrotechnical mixes. Produces a small fire upon detonation, igniting potentially flammable mixtures. + name = "pyro grenade" + desc = "A custom made pyrotechnical grenade. It heats up and ignites its contents upon detonation." + icon_state = "pyrog" + origin_tech = "combat=4;engineering=4" + affected_area = 3 + ignition_temp = 500 // This is enough to expose a hotspot. + +/obj/item/grenade/chem_grenade/adv_release // Intended for weaker, but longer lasting effects. Could have some interesting uses. + name = "advanced release grenade" + desc = "A custom made advanced release grenade. It is able to be detonated more than once. Can be configured using a multitool." + icon_state = "timeg" + origin_tech = "combat=3;engineering=4" + var/unit_spread = 10 // Amount of units per repeat. Can be altered with a multitool. + +/obj/item/grenade/chem_grenade/adv_release/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/device/multitool)) + switch(unit_spread) + if(0 to 24) + unit_spread += 5 + if(25 to 99) + unit_spread += 25 + else + unit_spread = 5 + to_chat(user, " You set the time release to [unit_spread] units per detonation.") + return + ..() + +/obj/item/grenade/chem_grenade/adv_release/prime() + if(stage != READY) + return + + var/total_volume = 0 + for(var/obj/item/reagent_containers/RC in beakers) + total_volume += RC.reagents.total_volume + if(!total_volume) + qdel(src) + qdel(nadeassembly) + return + var/fraction = unit_spread/total_volume + var/datum/reagents/reactants = new(unit_spread) + reactants.my_atom = src + for(var/obj/item/reagent_containers/RC in beakers) + RC.reagents.trans_to(reactants, RC.reagents.total_volume*fraction, threatscale, 1, 1) + chem_splash(get_turf(src), affected_area, list(reactants), ignition_temp, threatscale) + + if(nadeassembly) + var/mob/M = get_mob_by_ckey(assemblyattacher) + var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast) + var/turf/T = get_turf(src) + var/area/A = get_area(T) + message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) (FLW) and last touched by [key_name_admin(last)](?) (FLW) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP).") + log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z])") + else + addtimer(CALLBACK(src, .proc/prime), det_time) + var/turf/DT = get_turf(src) + var/area/DA = get_area(DT) + log_game("A grenade detonated at [DA.name] ([DT.x], [DT.y], [DT.z])") + + + + + +////////////////////////////// +////// PREMADE GRENADES ////// +////////////////////////////// + +/obj/item/grenade/chem_grenade/metalfoam + name = "metal foam grenade" + desc = "Used for emergency sealing of air breaches." + stage = READY + +/obj/item/grenade/chem_grenade/metalfoam/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent("aluminium", 30) + B2.reagents.add_reagent("foaming_agent", 10) + B2.reagents.add_reagent("facid", 10) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/smart_metal_foam + name = "smart metal foam grenade" + desc = "Used for sealing and reconstruction of air breaches." + stage = READY + +/obj/item/grenade/chem_grenade/smart_metal_foam/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent("aluminium", 75) + B2.reagents.add_reagent("smart_foaming_agent", 25) + B2.reagents.add_reagent("facid", 25) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/incendiary + name = "incendiary grenade" + desc = "Used for clearing rooms of living things." + stage = READY + +/obj/item/grenade/chem_grenade/incendiary/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent("phosphorus", 25) + B2.reagents.add_reagent("stable_plasma", 25) + B2.reagents.add_reagent("sacid", 25) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/antiweed + name = "weedkiller grenade" + desc = "Used for purging large areas of invasive plant species. Contents under pressure. Do not directly inhale contents." + stage = READY + +/obj/item/grenade/chem_grenade/antiweed/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent("plantbgone", 25) + B1.reagents.add_reagent("potassium", 25) + B2.reagents.add_reagent("phosphorus", 25) + B2.reagents.add_reagent("sugar", 25) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/cleaner + name = "cleaner grenade" + desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." + stage = READY + +/obj/item/grenade/chem_grenade/cleaner/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent("fluorosurfactant", 40) + B2.reagents.add_reagent("water", 40) + B2.reagents.add_reagent("cleaner", 10) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/ez_clean + name = "cleaner grenade" + desc = "Waffle Co.-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." + stage = READY + +/obj/item/grenade/chem_grenade/ez_clean/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src) + + B1.reagents.add_reagent("fluorosurfactant", 40) + B2.reagents.add_reagent("water", 40) + B2.reagents.add_reagent("ez_clean", 60) //ensures a t h i c c distribution + + beakers += B1 + beakers += B2 + + + +/obj/item/grenade/chem_grenade/teargas + name = "teargas grenade" + desc = "Used for nonlethal riot control. Contents under pressure. Do not directly inhale contents." + stage = READY + +/obj/item/grenade/chem_grenade/teargas/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src) + + B1.reagents.add_reagent("condensedcapsaicin", 60) + B1.reagents.add_reagent("potassium", 40) + B2.reagents.add_reagent("phosphorus", 40) + B2.reagents.add_reagent("sugar", 40) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/facid + name = "acid grenade" + desc = "Used for melting armoured opponents." + stage = READY + +/obj/item/grenade/chem_grenade/facid/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) + + B1.reagents.add_reagent("facid", 290) + B1.reagents.add_reagent("potassium", 10) + B2.reagents.add_reagent("phosphorus", 10) + B2.reagents.add_reagent("sugar", 10) + B2.reagents.add_reagent("facid", 280) + + beakers += B1 + beakers += B2 + + +/obj/item/grenade/chem_grenade/colorful + name = "colorful grenade" + desc = "Used for wide scale painting projects." + stage = READY + +/obj/item/grenade/chem_grenade/colorful/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent("colorful_reagent", 25) + B1.reagents.add_reagent("potassium", 25) + B2.reagents.add_reagent("phosphorus", 25) + B2.reagents.add_reagent("sugar", 25) + + beakers += B1 + beakers += B2 + +/obj/item/grenade/chem_grenade/glitter + name = "generic glitter grenade" + desc = "You shouldn't see this description." + stage = READY + var/glitter_type = "glitter" + +/obj/item/grenade/chem_grenade/glitter/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent(glitter_type, 25) + B1.reagents.add_reagent("potassium", 25) + B2.reagents.add_reagent("phosphorus", 25) + B2.reagents.add_reagent("sugar", 25) + + beakers += B1 + beakers += B2 + +/obj/item/grenade/chem_grenade/glitter/pink + name = "pink glitter bomb" + desc = "For that HOT glittery look." + glitter_type = "pink_glitter" + +/obj/item/grenade/chem_grenade/glitter/blue + name = "blue glitter bomb" + desc = "For that COOL glittery look." + glitter_type = "blue_glitter" + +/obj/item/grenade/chem_grenade/glitter/white + name = "white glitter bomb" + desc = "For that somnolent glittery look." + glitter_type = "white_glitter" + +/obj/item/grenade/chem_grenade/clf3 + name = "clf3 grenade" + desc = "BURN!-brand foaming clf3. In a special applicator for rapid purging of wide areas." + stage = READY + +/obj/item/grenade/chem_grenade/clf3/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) + + B1.reagents.add_reagent("fluorosurfactant", 250) + B1.reagents.add_reagent("clf3", 50) + B2.reagents.add_reagent("water", 250) + B2.reagents.add_reagent("clf3", 50) + + beakers += B1 + beakers += B2 + +/obj/item/grenade/chem_grenade/bioterrorfoam + name = "Bio terror foam grenade" + desc = "Tiger Cooperative chemical foam grenade. Causes temporary irration, blindness, confusion, mutism, and mutations to carbon based life forms. Contains additional spore toxin" + stage = READY + +/obj/item/grenade/chem_grenade/bioterrorfoam/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) + + B1.reagents.add_reagent("cryptobiolin", 75) + B1.reagents.add_reagent("water", 50) + B1.reagents.add_reagent("mutetoxin", 50) + B1.reagents.add_reagent("spore", 75) + B1.reagents.add_reagent("itching_powder", 50) + B2.reagents.add_reagent("fluorosurfactant", 150) + B2.reagents.add_reagent("mutagen", 150) + beakers += B1 + beakers += B2 + +/obj/item/grenade/chem_grenade/tuberculosis + name = "Fungal tuberculosis grenade" + desc = "WARNING: GRENADE WILL RELEASE DEADLY SPORES CONTAINING ACTIVE AGENTS. SEAL SUIT AND AIRFLOW BEFORE USE." + stage = READY + +/obj/item/grenade/chem_grenade/tuberculosis/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src) + + B1.reagents.add_reagent("potassium", 50) + B1.reagents.add_reagent("phosphorus", 50) + B1.reagents.add_reagent("fungalspores", 200) + B2.reagents.add_reagent("blood", 250) + B2.reagents.add_reagent("sugar", 50) + + beakers += B1 + beakers += B2 diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 40aba31413..fadf9d34de 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -47,19 +47,8 @@ if(!active) if(clown_check(user)) to_chat(user, "You light the [name]!") - active = TRUE cut_overlay("improvised_grenade_filled") - icon_state = initial(icon_state) + "_active" - add_fingerprint(user) - var/turf/bombturf = get_turf(src) - var/area/A = get_area(bombturf) - - message_admins("[ADMIN_LOOKUPFLW(user)] has primed a [name] for detonation at [ADMIN_COORDJMP(bombturf)].") - log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].") - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.throw_mode_on() - addtimer(CALLBACK(src, .proc/prime), det_time) + preprime(user, null, FALSE) /obj/item/grenade/iedcasing/prime() //Blowing that can up update_mob() diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index fceb859ceb..bf2f6dd4bb 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -26,15 +26,9 @@ /obj/item/grenade/proc/clown_check(mob/living/carbon/human/user) if(user.disabilities & CLUMSY && prob(50)) to_chat(user, "Huh? How does this thing work?") - active = 1 - icon_state = initial(icon_state) + "_active" - playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn(5) - if(user) - user.drop_item() - prime() - return 0 - return 1 + preprime(user, 5, FALSE) + return FALSE + return TRUE /obj/item/grenade/examine(mob/user) @@ -50,26 +44,27 @@ if(!active) if(clown_check(user)) preprime(user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.throw_mode_on() -/obj/item/grenade/proc/preprime(mob/user) - if(user) - to_chat(user, "You prime the [name]! [det_time/10] seconds!") +/obj/item/grenade/proc/log_grenade(mob/user, turf/T) + var/area/A = get_area(T) + var/message = "[ADMIN_LOOKUPFLW(user)]) has primed \a [src] for detonation at [ADMIN_COORDJMP(T)]" + GLOB.bombers += message + message_admins(message) + log_game("[key_name(user)] has primed \a [src] for detonation at [A.name] [COORD(T)].") + +/obj/item/grenade/proc/preprime(mob/user, delayoverride, msg = TRUE) + var/turf/T = get_turf(src) + log_grenade(user, T) + if(iscarbon(user)) + var/mob/living/carbon/C = user + C.throw_mode_on() + if(msg) + to_chat(user, "You prime \the [src]! [det_time/10] seconds!") playsound(loc, 'sound/weapons/armbomb.ogg', 60, 1) active = TRUE icon_state = initial(icon_state) + "_active" add_fingerprint(user) - var/turf/bombturf = get_turf(src) - var/area/A = get_area(bombturf) - if(user) - var/message = "[ADMIN_LOOKUPFLW(user)]) has primed a [name] for detonation at [ADMIN_COORDJMP(bombturf)]" - GLOB.bombers += message - message_admins(message) - log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].") - - addtimer(CALLBACK(src, .proc/prime), det_time) + addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) /obj/item/grenade/proc/prime() @@ -110,4 +105,4 @@ if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") prime() - return 1 //It hit the grenade, not them + return TRUE //It hit the grenade, not them diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 406f98d631..90fd6aa63d 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -2,7 +2,7 @@ name = "plastic explosive" desc = "Used to put holes in specific areas without too much extra hole." icon_state = "plastic-explosive0" - item_state = "plastic-explosive" + item_state = "plasticx" flags_1 = NOBLUDGEON_1 flags_2 = NO_EMP_WIRES_2 det_time = 10 diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index 3621a893e9..0a2e6d6350 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -9,6 +9,8 @@ desc = "A toolbox painted bright green. Looking at it makes you feel uneasy." icon_state = "his_grace" item_state = "artistic_toolbox" + lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' icon = 'icons/obj/items_and_weapons.dmi' w_class = WEIGHT_CLASS_GIGANTIC origin_tech = "combat=4;engineering=4;syndicate=2" diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 6d377cdcc5..e82a40d10a 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -105,6 +105,10 @@ /obj/item/nullrod/claymore/darkblade icon_state = "cultblade" item_state = "cultblade" + lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' + righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 name = "dark blade" desc = "Spread the glory of the dark gods!" slot_flags = SLOT_BELT @@ -332,6 +336,8 @@ icon = 'icons/obj/toy.dmi' icon_state = "carpplushie" item_state = "carp_plushie" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' force = 15 attack_verb = list("bitten", "eaten", "fin slapped") hitsound = 'sound/weapons/bite.ogg' diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index c723ae5478..4d10fd1be5 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -44,7 +44,7 @@ active = TRUE var/turf/boomturf = get_turf(imp_in) var/area/A = get_area(boomturf) - message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)].") + message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)], with cause of [cause].") //If the delay is short, just blow up already jeez if(delay <= 7) explosion(src,heavy,medium,weak,weak, flame_range = weak) diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index ccf3f55e83..508e75d8cb 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -1,168 +1,170 @@ -/* Kitchen tools - * Contains: - * Fork - * Kitchen knives - * Ritual Knife - * Butcher's cleaver - * Combat Knife - * Rolling Pins - */ - -/obj/item/kitchen - icon = 'icons/obj/kitchen.dmi' - origin_tech = "materials=1" - lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' - -/obj/item/kitchen/fork - name = "fork" - desc = "Pointy." - icon_state = "fork" - force = 5 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 5 - materials = list(MAT_METAL=80) - flags_1 = CONDUCT_1 - attack_verb = list("attacked", "stabbed", "poked") - hitsound = 'sound/weapons/bladeslice.ogg' - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 30) - var/datum/reagent/forkload //used to eat omelette - -/obj/item/kitchen/fork/attack(mob/living/carbon/M, mob/living/carbon/user) - if(!istype(M)) - return ..() - - if(forkload) - if(M == user) - M.visible_message("[user] eats a delicious forkful of omelette!") - M.reagents.add_reagent(forkload.id, 1) - else - M.visible_message("[user] feeds [M] a delicious forkful of omelette!") - M.reagents.add_reagent(forkload.id, 1) - icon_state = "fork" - forkload = null - - else if(user.zone_selected == "eyes") - if(user.disabilities & CLUMSY && prob(50)) - M = user - return eyestab(M,user) - else - return ..() - - -/obj/item/kitchen/knife - name = "kitchen knife" - icon_state = "knife" - desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." - flags_1 = CONDUCT_1 - force = 10 - w_class = WEIGHT_CLASS_SMALL - throwforce = 10 - hitsound = 'sound/weapons/bladeslice.ogg' - throw_speed = 3 - throw_range = 6 - materials = list(MAT_METAL=12000) - attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - sharpness = IS_SHARP_ACCURATE - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50) - var/bayonet = FALSE //Can this be attached to a gun? - -/obj/item/kitchen/knife/attack(mob/living/carbon/M, mob/living/carbon/user) - if(user.zone_selected == "eyes") - if(user.disabilities & CLUMSY && prob(50)) - M = user - return eyestab(M,user) - else - return ..() - -/obj/item/kitchen/knife/suicide_act(mob/user) - user.visible_message(pick("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \ - "[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \ - "[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku.")) - return (BRUTELOSS) - -/obj/item/kitchen/knife/ritual - name = "ritual knife" - desc = "The unearthly energies that once powered this blade are now dormant." - icon = 'icons/obj/wizard.dmi' - icon_state = "render" - item_state = "knife" - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/kitchen/knife/butcher - name = "butcher's cleaver" - icon_state = "butch" - desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown by-products." - flags_1 = CONDUCT_1 - force = 15 - throwforce = 10 - materials = list(MAT_METAL=18000) - attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/kitchen/knife/combat - name = "combat knife" - icon_state = "buckknife" - item_state = "knife" - desc = "A military combat utility survival knife." - force = 20 - throwforce = 20 - origin_tech = "materials=3;combat=4" - attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") - bayonet = TRUE - -/obj/item/kitchen/knife/combat/survival - name = "survival knife" - icon_state = "survivalknife" - item_state = "knife" - desc = "A hunting grade survival knife." - force = 15 - throwforce = 15 - bayonet = TRUE - -/obj/item/kitchen/knife/combat/bone - name = "bone dagger" - item_state = "bone_dagger" - icon_state = "bone_dagger" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - desc = "A sharpened bone. The bare mimimum in survival." - force = 15 - throwforce = 15 - materials = list() - -/obj/item/kitchen/knife/combat/cyborg - name = "cyborg knife" - icon = 'icons/obj/items_cyborg.dmi' - icon_state = "knife" - desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." - origin_tech = null - -/obj/item/kitchen/knife/carrotshiv - name = "carrot shiv" - icon_state = "carrotshiv" - item_state = "carrotshiv" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - desc = "Unlike other carrots, you should probably keep this far away from your eyes." - force = 8 - throwforce = 12//fuck git - materials = list() - origin_tech = "biotech=3;combat=2" - attack_verb = list("shanked", "shivved") - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) - -/obj/item/kitchen/rollingpin - name = "rolling pin" - desc = "Used to knock out the Bartender." - icon_state = "rolling_pin" - force = 8 - throwforce = 5 - throw_speed = 3 - throw_range = 7 - w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - -/* Trays moved to /obj/item/storage/bag */ +/* Kitchen tools + * Contains: + * Fork + * Kitchen knives + * Ritual Knife + * Butcher's cleaver + * Combat Knife + * Rolling Pins + */ + +/obj/item/kitchen + icon = 'icons/obj/kitchen.dmi' + origin_tech = "materials=1" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' + +/obj/item/kitchen/fork + name = "fork" + desc = "Pointy." + icon_state = "fork" + force = 5 + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + throw_speed = 3 + throw_range = 5 + materials = list(MAT_METAL=80) + flags_1 = CONDUCT_1 + attack_verb = list("attacked", "stabbed", "poked") + hitsound = 'sound/weapons/bladeslice.ogg' + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 30) + var/datum/reagent/forkload //used to eat omelette + +/obj/item/kitchen/fork/attack(mob/living/carbon/M, mob/living/carbon/user) + if(!istype(M)) + return ..() + + if(forkload) + if(M == user) + M.visible_message("[user] eats a delicious forkful of omelette!") + M.reagents.add_reagent(forkload.id, 1) + else + M.visible_message("[user] feeds [M] a delicious forkful of omelette!") + M.reagents.add_reagent(forkload.id, 1) + icon_state = "fork" + forkload = null + + else if(user.zone_selected == "eyes") + if(user.disabilities & CLUMSY && prob(50)) + M = user + return eyestab(M,user) + else + return ..() + + +/obj/item/kitchen/knife + name = "kitchen knife" + icon_state = "knife" + desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." + flags_1 = CONDUCT_1 + force = 10 + w_class = WEIGHT_CLASS_SMALL + throwforce = 10 + hitsound = 'sound/weapons/bladeslice.ogg' + throw_speed = 3 + throw_range = 6 + materials = list(MAT_METAL=12000) + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_SHARP_ACCURATE + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50) + var/bayonet = FALSE //Can this be attached to a gun? + +/obj/item/kitchen/knife/attack(mob/living/carbon/M, mob/living/carbon/user) + if(user.zone_selected == "eyes") + if(user.disabilities & CLUMSY && prob(50)) + M = user + return eyestab(M,user) + else + return ..() + +/obj/item/kitchen/knife/suicide_act(mob/user) + user.visible_message(pick("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \ + "[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \ + "[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku.")) + return (BRUTELOSS) + +/obj/item/kitchen/knife/ritual + name = "ritual knife" + desc = "The unearthly energies that once powered this blade are now dormant." + icon = 'icons/obj/wizard.dmi' + icon_state = "render" + item_state = "knife" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/kitchen/knife/butcher + name = "butcher's cleaver" + icon_state = "butch" + desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown by-products." + flags_1 = CONDUCT_1 + force = 15 + throwforce = 10 + materials = list(MAT_METAL=18000) + attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/kitchen/knife/combat + name = "combat knife" + icon_state = "buckknife" + item_state = "knife" + desc = "A military combat utility survival knife." + force = 20 + throwforce = 20 + origin_tech = "materials=3;combat=4" + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") + bayonet = TRUE + +/obj/item/kitchen/knife/combat/survival + name = "survival knife" + icon_state = "survivalknife" + item_state = "knife" + desc = "A hunting grade survival knife." + force = 15 + throwforce = 15 + bayonet = TRUE + +/obj/item/kitchen/knife/combat/bone + name = "bone dagger" + item_state = "bone_dagger" + icon_state = "bone_dagger" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + desc = "A sharpened bone. The bare mimimum in survival." + force = 15 + throwforce = 15 + materials = list() + +/obj/item/kitchen/knife/combat/cyborg + name = "cyborg knife" + icon = 'icons/obj/items_cyborg.dmi' + icon_state = "knife" + desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." + origin_tech = null + +/obj/item/kitchen/knife/carrotshiv + name = "carrot shiv" + icon_state = "carrotshiv" + item_state = "carrotshiv" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + desc = "Unlike other carrots, you should probably keep this far away from your eyes." + force = 8 + throwforce = 12//fuck git + materials = list() + origin_tech = "biotech=3;combat=2" + attack_verb = list("shanked", "shivved") + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + +/obj/item/kitchen/rollingpin + name = "rolling pin" + desc = "Used to knock out the Bartender." + icon_state = "rolling_pin" + force = 8 + throwforce = 5 + throw_speed = 3 + throw_range = 7 + w_class = WEIGHT_CLASS_NORMAL + attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + +/* Trays moved to /obj/item/storage/bag */ diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index d2e1491937..d727c517bd 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -36,6 +36,8 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "arm_blade" item_state = "arm_blade" + lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' + righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' origin_tech = "combat=5;biotech=5" w_class = WEIGHT_CLASS_HUGE force = 20 diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index fa509ad65e..64fea6ef19 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -278,7 +278,6 @@ desc = "Releases a harmless blast that confuses most organics. For when the harm is JUST TOO MUCH" icon_state = "megaphone" var/cooldown = 0 - var/emagged = FALSE /obj/item/device/harmalarm/emag_act(mob/user) emagged = !emagged diff --git a/code/game/objects/items/robot/robot_items.dm.rej b/code/game/objects/items/robot/robot_items.dm.rej deleted file mode 100644 index cfcbd37d1c..0000000000 --- a/code/game/objects/items/robot/robot_items.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm (rejected hunks) -@@ -151,7 +151,7 @@ - /obj/item/borg/charger - name = "power connector" - icon_state = "charger_draw" -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - var/mode = "draw" - var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) - var/static/list/charge_items = typecacheof(list(/obj/item/stock_parts/cell, /obj/item/gun/energy)) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 5d87c4b38e..f1bb4c3772 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -21,6 +21,10 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("swivel chair", /obj/structure/chair/office/dark, 5, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("comfy chair", /obj/structure/chair/comfy/beige, 2, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/sofa, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/left, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/right, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corner, one_per_turf = TRUE, on_floor = TRUE), \ null, \ new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ @@ -421,4 +425,4 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra /obj/item/stack/sheet/paperframes/twenty amount = 20 /obj/item/stack/sheet/paperframes/fifty - amount = 50 \ No newline at end of file + amount = 50 diff --git a/code/game/objects/items/stacks/wrap.dm.rej b/code/game/objects/items/stacks/wrap.dm.rej deleted file mode 100644 index c8433b06fe..0000000000 --- a/code/game/objects/items/stacks/wrap.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm (rejected hunks) -@@ -9,7 +9,7 @@ - desc = "Wrap packages with this festive paper to make gifts." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "wrap_paper" -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - amount = 25 - max_amount = 25 - resistance_flags = FLAMMABLE -@@ -30,7 +30,7 @@ - desc = "You can use this to wrap items in." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "deliveryPaper" -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - amount = 25 - max_amount = 25 - resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 2446c73cbd..fe89f42338 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -1,550 +1,551 @@ -/* Backpacks - * Contains: - * Backpack - * Backpack Types - * Satchel Types - */ - -/* - * Backpack - */ - -/obj/item/storage/backpack - name = "backpack" - desc = "You wear this on your back and put items into it." - icon_state = "backpack" - item_state = "backpack" - lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' - w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK //ERROOOOO - max_w_class = WEIGHT_CLASS_NORMAL - max_combined_w_class = 21 - storage_slots = 21 - resistance_flags = 0 - max_integrity = 300 - -/* - * Backpack Types - */ - -/obj/item/storage/backpack/old - max_combined_w_class = 12 - -/obj/item/storage/backpack/holding - name = "bag of holding" - desc = "A backpack that opens into a localized pocket of Blue Space." - origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5" - icon_state = "holdingpack" - item_state = "holdingpack" - max_w_class = WEIGHT_CLASS_GIGANTIC - max_combined_w_class = 35 - resistance_flags = FIRE_PROOF - var/pshoom = 'sound/items/pshoom.ogg' - var/alt_sound = 'sound/items/pshoom_2.ogg' - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 60, acid = 50) - - -/obj/item/storage/backpack/holding/suicide_act(mob/living/user) - user.visible_message("[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.") - user.drop_item() - user.Stun(100, ignore_canstun = TRUE) - sleep(20) - playsound(src, "rustle", 50, 1, -5) - qdel(user) - return - -/obj/item/storage/backpack/holding/content_can_dump(atom/dest_object, mob/user) - if(Adjacent(user)) - if(get_dist(user, dest_object) < 8) - if(dest_object.storage_contents_dump_act(src, user)) - if(alt_sound && prob(1)) - playsound(src, alt_sound, 40, 1) - else - playsound(src, pshoom, 40, 1) - user.Beam(dest_object,icon_state="rped_upgrade",time=5) - return 1 - to_chat(user, "The [src.name] buzzes.") - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) - return 0 - -/obj/item/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) - if((istype(W, /obj/item/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/storage/backpack/holding))) - var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [name]?", "Proceed", "Abort") - if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated()) - return - investigate_log("has become a singularity. Caused by [user.key]", INVESTIGATE_SINGULO) - to_chat(user, "The Bluespace interfaces of the two devices catastrophically malfunction!") - qdel(W) - var/obj/singularity/singulo = new /obj/singularity (get_turf(src)) - singulo.energy = 300 //should make it a bit bigger~ - message_admins("[key_name_admin(user)] detonated a bag of holding") - log_game("[key_name(user)] detonated a bag of holding") - qdel(src) - singulo.process() - return - . = ..() - -/obj/item/storage/backpack/holding/singularity_act(current_size) - var/dist = max((current_size - 2),1) - explosion(src.loc,(dist),(dist*2),(dist*4)) - return - - -/obj/item/storage/backpack/santabag - name = "Santa's Gift Bag" - desc = "Space Santa uses this to deliver toys to all the nice children in space in Christmas! Wow, it's pretty big!" - icon_state = "giftbag0" - item_state = "giftbag" - w_class = WEIGHT_CLASS_BULKY - max_w_class = WEIGHT_CLASS_NORMAL - max_combined_w_class = 60 - -/obj/item/storage/backpack/santabag/suicide_act(mob/user) - user.visible_message("[user] places [src] over their head and pulls it tight! It looks like they aren't in the Christmas spirit...") - return (OXYLOSS) - -/obj/item/storage/backpack/cultpack - name = "trophy rack" - desc = "It's useful for both carrying extra gear and proudly declaring your insanity." - icon_state = "cultpack" - item_state = "backpack" - -/obj/item/storage/backpack/clown - name = "Giggles von Honkerton" - desc = "It's a backpack made by Honk! Co." - icon_state = "clownpack" - item_state = "clownpack" - -/obj/item/storage/backpack/explorer - name = "explorer bag" - desc = "A robust backpack for stashing your loot." - icon_state = "explorerpack" - item_state = "explorerpack" - -/obj/item/storage/backpack/mime - name = "Parcel Parceaux" - desc = "A silent backpack made for those silent workers. Silence Co." - icon_state = "mimepack" - item_state = "mimepack" - -/obj/item/storage/backpack/medic - name = "medical backpack" - desc = "It's a backpack especially designed for use in a sterile environment." - icon_state = "medicalpack" - item_state = "medicalpack" - -/obj/item/storage/backpack/security - name = "security backpack" - desc = "It's a very robust backpack." - icon_state = "securitypack" - item_state = "securitypack" - -/obj/item/storage/backpack/captain - name = "captain's backpack" - desc = "It's a special backpack made exclusively for Nanotrasen officers." - icon_state = "captainpack" - item_state = "captainpack" - resistance_flags = 0 - -/obj/item/storage/backpack/industrial - name = "industrial backpack" - desc = "It's a tough backpack for the daily grind of station life." - icon_state = "engiepack" - item_state = "engiepack" - resistance_flags = FIRE_PROOF - -/obj/item/storage/backpack/botany - name = "botany backpack" - desc = "It's a backpack made of all-natural fibers." - icon_state = "botpack" - item_state = "botpack" - -/obj/item/storage/backpack/chemistry - name = "chemistry backpack" - desc = "A backpack specially designed to repel stains and hazardous liquids." - icon_state = "chempack" - item_state = "chempack" - -/obj/item/storage/backpack/genetics - name = "genetics backpack" - desc = "A bag designed to be super tough, just in case someone hulks out on you." - icon_state = "genepack" - item_state = "genepack" - -/obj/item/storage/backpack/science - name = "science backpack" - desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma." - icon_state = "toxpack" - item_state = "toxpack" - resistance_flags = 0 - -/obj/item/storage/backpack/virology - name = "virology backpack" - desc = "A backpack made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey." - icon_state = "viropack" - item_state = "viropack" - - -/* - * Satchel Types - */ - -/obj/item/storage/backpack/satchel - name = "satchel" - desc = "A trendy looking satchel." - icon_state = "satchel-norm" - species_exception = list(/datum/species/angel) //satchels can be equipped since they are on the side, not back - -/obj/item/storage/backpack/satchel/leather - name = "leather satchel" - desc = "It's a very fancy satchel made with fine leather." - icon_state = "satchel" - resistance_flags = 0 - -/obj/item/storage/backpack/satchel/leather/withwallet/PopulateContents() - new /obj/item/storage/wallet/random(src) - -/obj/item/storage/backpack/satchel/eng - name = "industrial satchel" - desc = "A tough satchel with extra pockets." - icon_state = "satchel-eng" - item_state = "engiepack" - resistance_flags = 0 - -/obj/item/storage/backpack/satchel/med - name = "medical satchel" - desc = "A sterile satchel used in medical departments." - icon_state = "satchel-med" - item_state = "medicalpack" - -/obj/item/storage/backpack/satchel/vir - name = "virologist satchel" - desc = "A sterile satchel with virologist colours." - icon_state = "satchel-vir" - item_state = "satchel-vir" - -/obj/item/storage/backpack/satchel/chem - name = "chemist satchel" - desc = "A sterile satchel with chemist colours." - icon_state = "satchel-chem" - item_state = "satchel-chem" - -/obj/item/storage/backpack/satchel/gen - name = "geneticist satchel" - desc = "A sterile satchel with geneticist colours." - icon_state = "satchel-gen" - item_state = "satchel-gen" - -/obj/item/storage/backpack/satchel/tox - name = "scientist satchel" - desc = "Useful for holding research materials." - icon_state = "satchel-tox" - item_state = "satchel-tox" - resistance_flags = 0 - -/obj/item/storage/backpack/satchel/hyd - name = "botanist satchel" - desc = "A satchel made of all natural fibers." - icon_state = "satchel-hyd" - item_state = "satchel-hyd" - -/obj/item/storage/backpack/satchel/sec - name = "security satchel" - desc = "A robust satchel for security related needs." - icon_state = "satchel-sec" - item_state = "securitypack" - -/obj/item/storage/backpack/satchel/explorer - name = "explorer satchel" - desc = "A robust satchel for stashing your loot." - icon_state = "satchel-explorer" - item_state = "securitypack" - -/obj/item/storage/backpack/satchel/cap - name = "captain's satchel" - desc = "An exclusive satchel for Nanotrasen officers." - icon_state = "satchel-cap" - item_state = "captainpack" - resistance_flags = 0 - -/obj/item/storage/backpack/satchel/flat - name = "smuggler's satchel" - desc = "A very slim satchel that can easily fit into tight spaces." - icon_state = "satchel-flat" - w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself. - max_combined_w_class = 15 - level = 1 - cant_hold = list(/obj/item/storage/backpack/satchel/flat) //muh recursive backpacks - -/obj/item/storage/backpack/satchel/flat/hide(var/intact) - if(intact) - invisibility = INVISIBILITY_MAXIMUM - anchored = TRUE //otherwise you can start pulling, cover it, and drag around an invisible backpack. - icon_state = "[initial(icon_state)]2" - else - invisibility = initial(invisibility) - anchored = FALSE - icon_state = initial(icon_state) - -/obj/item/storage/backpack/satchel/flat/Initialize(mapload) - ..() - SSpersistence.new_secret_satchels += src - -/obj/item/storage/backpack/satchel/flat/PopulateContents() - new /obj/item/stack/tile/plasteel(src) - new /obj/item/crowbar(src) - -/obj/item/storage/backpack/satchel/flat/Destroy() - SSpersistence.new_secret_satchels -= src - return ..() - -/obj/item/storage/backpack/satchel/flat/secret - var/list/reward_one_of_these = list() //Intended for map editing - var/list/reward_all_of_these = list() //use paths! - var/revealed = 0 - -/obj/item/storage/backpack/satchel/flat/secret/Initialize() - ..() - - if(isfloorturf(loc) && !istype(loc, /turf/open/floor/plating/)) - hide(1) - -/obj/item/storage/backpack/satchel/flat/secret/hide(intact) - ..() - if(!intact && !revealed) - if(reward_one_of_these.len > 0) - var/reward = pick(reward_one_of_these) - new reward(src) - for(var/R in reward_all_of_these) - new R(src) - revealed = 1 - -/obj/item/storage/backpack/duffelbag - name = "duffel bag" - desc = "A large duffel bag for holding extra things." - icon_state = "duffel" - item_state = "duffel" - slowdown = 1 - max_combined_w_class = 30 - -/obj/item/storage/backpack/duffelbag/captain - name = "captain's duffel bag" - desc = "A large duffel bag for holding extra captainly goods." - icon_state = "duffel-captain" - item_state = "duffel-captain" - resistance_flags = 0 - -/obj/item/storage/backpack/duffelbag/med - name = "medical duffel bag" - desc = "A large duffel bag for holding extra medical supplies." - icon_state = "duffel-med" - item_state = "duffel-med" - -/obj/item/storage/backpack/duffelbag/med/surgery - name = "surgical duffel bag" - desc = "A large duffel bag for holding extra medical supplies - this one seems to be designed for holding surgical tools." - -/obj/item/storage/backpack/duffelbag/med/surgery/PopulateContents() - new /obj/item/scalpel(src) - new /obj/item/hemostat(src) - new /obj/item/retractor(src) - new /obj/item/circular_saw(src) - new /obj/item/surgicaldrill(src) - new /obj/item/cautery(src) - new /obj/item/surgical_drapes(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/razor(src) - -/obj/item/storage/backpack/duffelbag/sec - name = "security duffel bag" - desc = "A large duffel bag for holding extra security supplies and ammunition." - icon_state = "duffel-sec" - item_state = "duffel-sec" - -/obj/item/storage/backpack/duffelbag/sec/surgery - name = "surgical duffel bag" - desc = "A large duffel bag for holding extra supplies - this one has a material inlay with space for various sharp-looking tools." - -/obj/item/storage/backpack/duffelbag/sec/surgery/PopulateContents() - new /obj/item/scalpel(src) - new /obj/item/hemostat(src) - new /obj/item/retractor(src) - new /obj/item/circular_saw(src) - new /obj/item/surgicaldrill(src) - new /obj/item/cautery(src) - new /obj/item/surgical_drapes(src) - new /obj/item/clothing/mask/surgical(src) - -/obj/item/storage/backpack/duffelbag/engineering - name = "industrial duffel bag" - desc = "A large duffel bag for holding extra tools and supplies." - icon_state = "duffel-eng" - item_state = "duffel-eng" - resistance_flags = 0 - -/obj/item/storage/backpack/duffelbag/drone - name = "drone duffel bag" - desc = "A large duffel bag for holding tools and hats." - icon_state = "duffel-drone" - item_state = "duffel-drone" - resistance_flags = FIRE_PROOF - -/obj/item/storage/backpack/duffelbag/drone/PopulateContents() - new /obj/item/screwdriver(src) - new /obj/item/wrench(src) - new /obj/item/weldingtool(src) - new /obj/item/crowbar(src) - new /obj/item/stack/cable_coil/random(src) - new /obj/item/wirecutters(src) - new /obj/item/device/multitool(src) - -/obj/item/storage/backpack/duffelbag/clown - name = "clown's duffel bag" - desc = "A large duffel bag for holding lots of funny gags!" - icon_state = "duffel-clown" - item_state = "duffel-clown" - -/obj/item/storage/backpack/duffelbag/clown/cream_pie/PopulateContents() - for(var/i in 1 to 10) - new /obj/item/reagent_containers/food/snacks/pie/cream(src) - -/obj/item/storage/backpack/duffelbag/syndie - name = "suspicious looking duffel bag" - desc = "A large duffel bag for holding extra tactical supplies." - icon_state = "duffel-syndie" - item_state = "duffel-syndie" - origin_tech = "syndicate=1" - silent = 1 - slowdown = 0 - -/obj/item/storage/backpack/duffelbag/syndie/hitman - desc = "A large duffel bag for holding extra things. There is a NanoTrasen logo on the back." - icon_state = "duffel-syndieammo" - item_state = "duffel-syndieammo" - -/obj/item/storage/backpack/duffelbag/syndie/hitman/PopulateContents() - new /obj/item/clothing/under/lawyer/blacksuit(src) - new /obj/item/clothing/accessory/waistcoat(src) - new /obj/item/clothing/suit/toggle/lawyer/black(src) - new /obj/item/clothing/shoes/laceup(src) - new /obj/item/clothing/gloves/color/black(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/head/fedora(src) - -/obj/item/storage/backpack/duffelbag/syndie/med - name = "medical duffel bag" - desc = "A large duffel bag for holding extra tactical medical supplies." - icon_state = "duffel-syndiemed" - item_state = "duffel-syndiemed" - -/obj/item/storage/backpack/duffelbag/syndie/surgery - name = "surgery duffel bag" - desc = "A suspicious looking duffel bag for holding surgery tools." - icon_state = "duffel-syndiemed" - item_state = "duffel-syndiemed" - -/obj/item/storage/backpack/duffelbag/syndie/surgery/PopulateContents() - new /obj/item/scalpel(src) - new /obj/item/hemostat(src) - new /obj/item/retractor(src) - new /obj/item/circular_saw(src) - new /obj/item/surgicaldrill(src) - new /obj/item/cautery(src) - new /obj/item/surgical_drapes(src) - new /obj/item/clothing/suit/straight_jacket(src) - new /obj/item/clothing/mask/muzzle(src) - new /obj/item/device/mmi/syndie(src) - -/obj/item/storage/backpack/duffelbag/syndie/ammo - name = "ammunition duffel bag" - desc = "A large duffel bag for holding extra weapons ammunition and supplies." - icon_state = "duffel-syndieammo" - item_state = "duffel-syndieammo" - -/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun - desc = "A large duffel bag, packed to the brim with Bulldog shotgun ammo." - -/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/ammo_box/magazine/m12g(src) - new /obj/item/ammo_box/magazine/m12g/buckshot(src) - new /obj/item/ammo_box/magazine/m12g/slug(src) - new /obj/item/ammo_box/magazine/m12g/dragon(src) - -/obj/item/storage/backpack/duffelbag/syndie/ammo/smg - desc = "A large duffel bag, packed to the brim with C20r magazines." - -/obj/item/storage/backpack/duffelbag/syndie/ammo/smg/PopulateContents() - for(var/i in 1 to 9) - new /obj/item/ammo_box/magazine/smgm45(src) - -/obj/item/storage/backpack/duffelbag/syndie/c20rbundle - desc = "A large duffel bag containing a C20r, some magazines, and a cheap looking suppressor." - -/obj/item/storage/backpack/duffelbag/syndie/c20rbundle/PopulateContents() - new /obj/item/ammo_box/magazine/smgm45(src) - new /obj/item/ammo_box/magazine/smgm45(src) - new /obj/item/gun/ballistic/automatic/c20r(src) - new /obj/item/suppressor/specialoffer(src) - -/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle - desc = "A large duffel bag containing a Bulldog, several drums, and a collapsed hardsuit." - -/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents() - new /obj/item/ammo_box/magazine/m12g(src) - new /obj/item/gun/ballistic/automatic/shotgun/bulldog(src) - new /obj/item/ammo_box/magazine/m12g/buckshot(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - -/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle - desc = "A large duffel bag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots." - -/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents() - new /obj/item/clothing/shoes/magboots/syndie(src) - new /obj/item/storage/firstaid/tactical(src) - new /obj/item/gun/ballistic/automatic/l6_saw/toy(src) - new /obj/item/ammo_box/foambox/riot(src) - -/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle - desc = "A large duffel bag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots." - -/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents() - new /obj/item/clothing/shoes/magboots/syndie(src) - new /obj/item/storage/firstaid/tactical(src) - new /obj/item/gun/ballistic/automatic/l6_saw/toy(src) - new /obj/item/ammo_box/foambox/riot(src) - -/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle - desc = "A large duffel bag containing a deadly chemicals, a chemical spray, chemical grenade, a Donksoft assault rifle, riot grade darts, a minature syringe gun, and a box of syringes" - -/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle/PopulateContents() - new /obj/item/reagent_containers/spray/chemsprayer/bioterror(src) - new /obj/item/storage/box/syndie_kit/chemical(src) - new /obj/item/gun/syringe/syndicate(src) - new /obj/item/gun/ballistic/automatic/c20r/toy(src) - new /obj/item/storage/box/syringes(src) - new /obj/item/ammo_box/foambox/riot(src) - new /obj/item/grenade/chem_grenade/bioterrorfoam(src) - -/obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents() - for(var/i in 1 to 10) - new /obj/item/grenade/plastic/c4(src) - -/obj/item/storage/backpack/duffelbag/syndie/x4/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/grenade/plastic/x4(src) - -/obj/item/storage/backpack/duffelbag/syndie/firestarter - desc = "A large duffel bag containing New Russian pyro backpack sprayer, a pistol, a pipebomb, fireproof hardsuit, ammo, and other equipment." - -/obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents() - new /obj/item/clothing/under/syndicate/soviet(src) - new /obj/item/watertank/operator(src) - new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) - new /obj/item/gun/ballistic/automatic/pistol/APS(src) - new /obj/item/ammo_box/magazine/pistolm9mm(src) - new /obj/item/ammo_box/magazine/pistolm9mm(src) - new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src) - new /obj/item/reagent_containers/syringe/stimulants(src) - new /obj/item/grenade/syndieminibomb(src) +/* Backpacks + * Contains: + * Backpack + * Backpack Types + * Satchel Types + */ + +/* + * Backpack + */ + +/obj/item/storage/backpack + name = "backpack" + desc = "You wear this on your back and put items into it." + icon_state = "backpack" + item_state = "backpack" + lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' + w_class = WEIGHT_CLASS_BULKY + slot_flags = SLOT_BACK //ERROOOOO + max_w_class = WEIGHT_CLASS_NORMAL + max_combined_w_class = 21 + storage_slots = 21 + resistance_flags = 0 + max_integrity = 300 + +/* + * Backpack Types + */ + +/obj/item/storage/backpack/old + max_combined_w_class = 12 + +/obj/item/storage/backpack/holding + name = "bag of holding" + desc = "A backpack that opens into a localized pocket of Blue Space." + origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5" + icon_state = "holdingpack" + item_state = "holdingpack" + max_w_class = WEIGHT_CLASS_GIGANTIC + max_combined_w_class = 35 + resistance_flags = FIRE_PROOF + var/pshoom = 'sound/items/pshoom.ogg' + var/alt_sound = 'sound/items/pshoom_2.ogg' + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 60, acid = 50) + + +/obj/item/storage/backpack/holding/suicide_act(mob/living/user) + user.visible_message("[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.") + user.drop_item() + user.Stun(100, ignore_canstun = TRUE) + sleep(20) + playsound(src, "rustle", 50, 1, -5) + qdel(user) + return + +/obj/item/storage/backpack/holding/dump_content_at(atom/dest_object, mob/user) + if(Adjacent(user)) + var/atom/dumping_location = dest_object.get_dumping_location() + if(get_dist(user, dumping_location) < 8) + if(dumping_location.storage_contents_dump_act(src, user)) + if(alt_sound && prob(1)) + playsound(src, alt_sound, 40, 1) + else + playsound(src, pshoom, 40, 1) + user.Beam(dumping_location,icon_state="rped_upgrade",time=5) + return 1 + to_chat(user, "The [src.name] buzzes.") + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) + return 0 + +/obj/item/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) + if((istype(W, /obj/item/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/storage/backpack/holding))) + var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [name]?", "Proceed", "Abort") + if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated()) + return + investigate_log("has become a singularity. Caused by [user.key]", INVESTIGATE_SINGULO) + to_chat(user, "The Bluespace interfaces of the two devices catastrophically malfunction!") + qdel(W) + var/obj/singularity/singulo = new /obj/singularity (get_turf(src)) + singulo.energy = 300 //should make it a bit bigger~ + message_admins("[key_name_admin(user)] detonated a bag of holding") + log_game("[key_name(user)] detonated a bag of holding") + qdel(src) + singulo.process() + return + . = ..() + +/obj/item/storage/backpack/holding/singularity_act(current_size) + var/dist = max((current_size - 2),1) + explosion(src.loc,(dist),(dist*2),(dist*4)) + return + + +/obj/item/storage/backpack/santabag + name = "Santa's Gift Bag" + desc = "Space Santa uses this to deliver toys to all the nice children in space in Christmas! Wow, it's pretty big!" + icon_state = "giftbag0" + item_state = "giftbag" + w_class = WEIGHT_CLASS_BULKY + max_w_class = WEIGHT_CLASS_NORMAL + max_combined_w_class = 60 + +/obj/item/storage/backpack/santabag/suicide_act(mob/user) + user.visible_message("[user] places [src] over their head and pulls it tight! It looks like they aren't in the Christmas spirit...") + return (OXYLOSS) + +/obj/item/storage/backpack/cultpack + name = "trophy rack" + desc = "It's useful for both carrying extra gear and proudly declaring your insanity." + icon_state = "cultpack" + item_state = "backpack" + +/obj/item/storage/backpack/clown + name = "Giggles von Honkerton" + desc = "It's a backpack made by Honk! Co." + icon_state = "clownpack" + item_state = "clownpack" + +/obj/item/storage/backpack/explorer + name = "explorer bag" + desc = "A robust backpack for stashing your loot." + icon_state = "explorerpack" + item_state = "explorerpack" + +/obj/item/storage/backpack/mime + name = "Parcel Parceaux" + desc = "A silent backpack made for those silent workers. Silence Co." + icon_state = "mimepack" + item_state = "mimepack" + +/obj/item/storage/backpack/medic + name = "medical backpack" + desc = "It's a backpack especially designed for use in a sterile environment." + icon_state = "medicalpack" + item_state = "medicalpack" + +/obj/item/storage/backpack/security + name = "security backpack" + desc = "It's a very robust backpack." + icon_state = "securitypack" + item_state = "securitypack" + +/obj/item/storage/backpack/captain + name = "captain's backpack" + desc = "It's a special backpack made exclusively for Nanotrasen officers." + icon_state = "captainpack" + item_state = "captainpack" + resistance_flags = 0 + +/obj/item/storage/backpack/industrial + name = "industrial backpack" + desc = "It's a tough backpack for the daily grind of station life." + icon_state = "engiepack" + item_state = "engiepack" + resistance_flags = FIRE_PROOF + +/obj/item/storage/backpack/botany + name = "botany backpack" + desc = "It's a backpack made of all-natural fibers." + icon_state = "botpack" + item_state = "botpack" + +/obj/item/storage/backpack/chemistry + name = "chemistry backpack" + desc = "A backpack specially designed to repel stains and hazardous liquids." + icon_state = "chempack" + item_state = "chempack" + +/obj/item/storage/backpack/genetics + name = "genetics backpack" + desc = "A bag designed to be super tough, just in case someone hulks out on you." + icon_state = "genepack" + item_state = "genepack" + +/obj/item/storage/backpack/science + name = "science backpack" + desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma." + icon_state = "toxpack" + item_state = "toxpack" + resistance_flags = 0 + +/obj/item/storage/backpack/virology + name = "virology backpack" + desc = "A backpack made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey." + icon_state = "viropack" + item_state = "viropack" + + +/* + * Satchel Types + */ + +/obj/item/storage/backpack/satchel + name = "satchel" + desc = "A trendy looking satchel." + icon_state = "satchel-norm" + species_exception = list(/datum/species/angel) //satchels can be equipped since they are on the side, not back + +/obj/item/storage/backpack/satchel/leather + name = "leather satchel" + desc = "It's a very fancy satchel made with fine leather." + icon_state = "satchel" + resistance_flags = 0 + +/obj/item/storage/backpack/satchel/leather/withwallet/PopulateContents() + new /obj/item/storage/wallet/random(src) + +/obj/item/storage/backpack/satchel/eng + name = "industrial satchel" + desc = "A tough satchel with extra pockets." + icon_state = "satchel-eng" + item_state = "engiepack" + resistance_flags = 0 + +/obj/item/storage/backpack/satchel/med + name = "medical satchel" + desc = "A sterile satchel used in medical departments." + icon_state = "satchel-med" + item_state = "medicalpack" + +/obj/item/storage/backpack/satchel/vir + name = "virologist satchel" + desc = "A sterile satchel with virologist colours." + icon_state = "satchel-vir" + item_state = "satchel-vir" + +/obj/item/storage/backpack/satchel/chem + name = "chemist satchel" + desc = "A sterile satchel with chemist colours." + icon_state = "satchel-chem" + item_state = "satchel-chem" + +/obj/item/storage/backpack/satchel/gen + name = "geneticist satchel" + desc = "A sterile satchel with geneticist colours." + icon_state = "satchel-gen" + item_state = "satchel-gen" + +/obj/item/storage/backpack/satchel/tox + name = "scientist satchel" + desc = "Useful for holding research materials." + icon_state = "satchel-tox" + item_state = "satchel-tox" + resistance_flags = 0 + +/obj/item/storage/backpack/satchel/hyd + name = "botanist satchel" + desc = "A satchel made of all natural fibers." + icon_state = "satchel-hyd" + item_state = "satchel-hyd" + +/obj/item/storage/backpack/satchel/sec + name = "security satchel" + desc = "A robust satchel for security related needs." + icon_state = "satchel-sec" + item_state = "securitypack" + +/obj/item/storage/backpack/satchel/explorer + name = "explorer satchel" + desc = "A robust satchel for stashing your loot." + icon_state = "satchel-explorer" + item_state = "securitypack" + +/obj/item/storage/backpack/satchel/cap + name = "captain's satchel" + desc = "An exclusive satchel for Nanotrasen officers." + icon_state = "satchel-cap" + item_state = "captainpack" + resistance_flags = 0 + +/obj/item/storage/backpack/satchel/flat + name = "smuggler's satchel" + desc = "A very slim satchel that can easily fit into tight spaces." + icon_state = "satchel-flat" + w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself. + max_combined_w_class = 15 + level = 1 + cant_hold = list(/obj/item/storage/backpack/satchel/flat) //muh recursive backpacks + +/obj/item/storage/backpack/satchel/flat/hide(var/intact) + if(intact) + invisibility = INVISIBILITY_MAXIMUM + anchored = TRUE //otherwise you can start pulling, cover it, and drag around an invisible backpack. + icon_state = "[initial(icon_state)]2" + else + invisibility = initial(invisibility) + anchored = FALSE + icon_state = initial(icon_state) + +/obj/item/storage/backpack/satchel/flat/Initialize(mapload) + ..() + SSpersistence.new_secret_satchels += src + +/obj/item/storage/backpack/satchel/flat/PopulateContents() + new /obj/item/stack/tile/plasteel(src) + new /obj/item/crowbar(src) + +/obj/item/storage/backpack/satchel/flat/Destroy() + SSpersistence.new_secret_satchels -= src + return ..() + +/obj/item/storage/backpack/satchel/flat/secret + var/list/reward_one_of_these = list() //Intended for map editing + var/list/reward_all_of_these = list() //use paths! + var/revealed = 0 + +/obj/item/storage/backpack/satchel/flat/secret/Initialize() + ..() + + if(isfloorturf(loc) && !istype(loc, /turf/open/floor/plating/)) + hide(1) + +/obj/item/storage/backpack/satchel/flat/secret/hide(intact) + ..() + if(!intact && !revealed) + if(reward_one_of_these.len > 0) + var/reward = pick(reward_one_of_these) + new reward(src) + for(var/R in reward_all_of_these) + new R(src) + revealed = 1 + +/obj/item/storage/backpack/duffelbag + name = "duffel bag" + desc = "A large duffel bag for holding extra things." + icon_state = "duffel" + item_state = "duffel" + slowdown = 1 + max_combined_w_class = 30 + +/obj/item/storage/backpack/duffelbag/captain + name = "captain's duffel bag" + desc = "A large duffel bag for holding extra captainly goods." + icon_state = "duffel-captain" + item_state = "duffel-captain" + resistance_flags = 0 + +/obj/item/storage/backpack/duffelbag/med + name = "medical duffel bag" + desc = "A large duffel bag for holding extra medical supplies." + icon_state = "duffel-med" + item_state = "duffel-med" + +/obj/item/storage/backpack/duffelbag/med/surgery + name = "surgical duffel bag" + desc = "A large duffel bag for holding extra medical supplies - this one seems to be designed for holding surgical tools." + +/obj/item/storage/backpack/duffelbag/med/surgery/PopulateContents() + new /obj/item/scalpel(src) + new /obj/item/hemostat(src) + new /obj/item/retractor(src) + new /obj/item/circular_saw(src) + new /obj/item/surgicaldrill(src) + new /obj/item/cautery(src) + new /obj/item/surgical_drapes(src) + new /obj/item/clothing/mask/surgical(src) + new /obj/item/razor(src) + +/obj/item/storage/backpack/duffelbag/sec + name = "security duffel bag" + desc = "A large duffel bag for holding extra security supplies and ammunition." + icon_state = "duffel-sec" + item_state = "duffel-sec" + +/obj/item/storage/backpack/duffelbag/sec/surgery + name = "surgical duffel bag" + desc = "A large duffel bag for holding extra supplies - this one has a material inlay with space for various sharp-looking tools." + +/obj/item/storage/backpack/duffelbag/sec/surgery/PopulateContents() + new /obj/item/scalpel(src) + new /obj/item/hemostat(src) + new /obj/item/retractor(src) + new /obj/item/circular_saw(src) + new /obj/item/surgicaldrill(src) + new /obj/item/cautery(src) + new /obj/item/surgical_drapes(src) + new /obj/item/clothing/mask/surgical(src) + +/obj/item/storage/backpack/duffelbag/engineering + name = "industrial duffel bag" + desc = "A large duffel bag for holding extra tools and supplies." + icon_state = "duffel-eng" + item_state = "duffel-eng" + resistance_flags = 0 + +/obj/item/storage/backpack/duffelbag/drone + name = "drone duffel bag" + desc = "A large duffel bag for holding tools and hats." + icon_state = "duffel-drone" + item_state = "duffel-drone" + resistance_flags = FIRE_PROOF + +/obj/item/storage/backpack/duffelbag/drone/PopulateContents() + new /obj/item/screwdriver(src) + new /obj/item/wrench(src) + new /obj/item/weldingtool(src) + new /obj/item/crowbar(src) + new /obj/item/stack/cable_coil/random(src) + new /obj/item/wirecutters(src) + new /obj/item/device/multitool(src) + +/obj/item/storage/backpack/duffelbag/clown + name = "clown's duffel bag" + desc = "A large duffel bag for holding lots of funny gags!" + icon_state = "duffel-clown" + item_state = "duffel-clown" + +/obj/item/storage/backpack/duffelbag/clown/cream_pie/PopulateContents() + for(var/i in 1 to 10) + new /obj/item/reagent_containers/food/snacks/pie/cream(src) + +/obj/item/storage/backpack/duffelbag/syndie + name = "suspicious looking duffel bag" + desc = "A large duffel bag for holding extra tactical supplies." + icon_state = "duffel-syndie" + item_state = "duffel-syndie" + origin_tech = "syndicate=1" + silent = 1 + slowdown = 0 + +/obj/item/storage/backpack/duffelbag/syndie/hitman + desc = "A large duffel bag for holding extra things. There is a Nanotrasen logo on the back." + icon_state = "duffel-syndieammo" + item_state = "duffel-syndieammo" + +/obj/item/storage/backpack/duffelbag/syndie/hitman/PopulateContents() + new /obj/item/clothing/under/lawyer/blacksuit(src) + new /obj/item/clothing/accessory/waistcoat(src) + new /obj/item/clothing/suit/toggle/lawyer/black(src) + new /obj/item/clothing/shoes/laceup(src) + new /obj/item/clothing/gloves/color/black(src) + new /obj/item/clothing/glasses/sunglasses(src) + new /obj/item/clothing/head/fedora(src) + +/obj/item/storage/backpack/duffelbag/syndie/med + name = "medical duffel bag" + desc = "A large duffel bag for holding extra tactical medical supplies." + icon_state = "duffel-syndiemed" + item_state = "duffel-syndiemed" + +/obj/item/storage/backpack/duffelbag/syndie/surgery + name = "surgery duffel bag" + desc = "A suspicious looking duffel bag for holding surgery tools." + icon_state = "duffel-syndiemed" + item_state = "duffel-syndiemed" + +/obj/item/storage/backpack/duffelbag/syndie/surgery/PopulateContents() + new /obj/item/scalpel(src) + new /obj/item/hemostat(src) + new /obj/item/retractor(src) + new /obj/item/circular_saw(src) + new /obj/item/surgicaldrill(src) + new /obj/item/cautery(src) + new /obj/item/surgical_drapes(src) + new /obj/item/clothing/suit/straight_jacket(src) + new /obj/item/clothing/mask/muzzle(src) + new /obj/item/device/mmi/syndie(src) + +/obj/item/storage/backpack/duffelbag/syndie/ammo + name = "ammunition duffel bag" + desc = "A large duffel bag for holding extra weapons ammunition and supplies." + icon_state = "duffel-syndieammo" + item_state = "duffel-syndieammo" + +/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun + desc = "A large duffel bag, packed to the brim with Bulldog shotgun ammo." + +/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/ammo_box/magazine/m12g(src) + new /obj/item/ammo_box/magazine/m12g/buckshot(src) + new /obj/item/ammo_box/magazine/m12g/slug(src) + new /obj/item/ammo_box/magazine/m12g/dragon(src) + +/obj/item/storage/backpack/duffelbag/syndie/ammo/smg + desc = "A large duffel bag, packed to the brim with C20r magazines." + +/obj/item/storage/backpack/duffelbag/syndie/ammo/smg/PopulateContents() + for(var/i in 1 to 9) + new /obj/item/ammo_box/magazine/smgm45(src) + +/obj/item/storage/backpack/duffelbag/syndie/c20rbundle + desc = "A large duffel bag containing a C20r, some magazines, and a cheap looking suppressor." + +/obj/item/storage/backpack/duffelbag/syndie/c20rbundle/PopulateContents() + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/gun/ballistic/automatic/c20r(src) + new /obj/item/suppressor/specialoffer(src) + +/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle + desc = "A large duffel bag containing a Bulldog, several drums, and a collapsed hardsuit." + +/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents() + new /obj/item/ammo_box/magazine/m12g(src) + new /obj/item/gun/ballistic/automatic/shotgun/bulldog(src) + new /obj/item/ammo_box/magazine/m12g/buckshot(src) + new /obj/item/clothing/glasses/thermal/syndi(src) + +/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle + desc = "A large duffel bag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots." + +/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents() + new /obj/item/clothing/shoes/magboots/syndie(src) + new /obj/item/storage/firstaid/tactical(src) + new /obj/item/gun/ballistic/automatic/l6_saw/toy(src) + new /obj/item/ammo_box/foambox/riot(src) + +/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle + desc = "A large duffel bag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots." + +/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents() + new /obj/item/clothing/shoes/magboots/syndie(src) + new /obj/item/storage/firstaid/tactical(src) + new /obj/item/gun/ballistic/automatic/l6_saw/toy(src) + new /obj/item/ammo_box/foambox/riot(src) + +/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle + desc = "A large duffel bag containing a deadly chemicals, a chemical spray, chemical grenade, a Donksoft assault rifle, riot grade darts, a minature syringe gun, and a box of syringes" + +/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle/PopulateContents() + new /obj/item/reagent_containers/spray/chemsprayer/bioterror(src) + new /obj/item/storage/box/syndie_kit/chemical(src) + new /obj/item/gun/syringe/syndicate(src) + new /obj/item/gun/ballistic/automatic/c20r/toy(src) + new /obj/item/storage/box/syringes(src) + new /obj/item/ammo_box/foambox/riot(src) + new /obj/item/grenade/chem_grenade/bioterrorfoam(src) + +/obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents() + for(var/i in 1 to 10) + new /obj/item/grenade/plastic/c4(src) + +/obj/item/storage/backpack/duffelbag/syndie/x4/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/grenade/plastic/x4(src) + +/obj/item/storage/backpack/duffelbag/syndie/firestarter + desc = "A large duffel bag containing New Russian pyro backpack sprayer, a pistol, a pipebomb, fireproof hardsuit, ammo, and other equipment." + +/obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents() + new /obj/item/clothing/under/syndicate/soviet(src) + new /obj/item/watertank/operator(src) + new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) + new /obj/item/gun/ballistic/automatic/pistol/APS(src) + new /obj/item/ammo_box/magazine/pistolm9mm(src) + new /obj/item/ammo_box/magazine/pistolm9mm(src) + new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src) + new /obj/item/reagent_containers/syringe/stimulants(src) + new /obj/item/grenade/syndieminibomb(src) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index ae45b724b4..cc60c9ba9c 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1,893 +1,902 @@ -/* - * Everything derived from the common cardboard box. - * Basically everything except the original is a kit (starts full). - * - * Contains: - * Empty box, starter boxes (survival/engineer), - * Latex glove and sterile mask boxes, - * Syringe, beaker, dna injector boxes, - * Blanks, flashbangs, and EMP grenade boxes, - * Tracking and chemical implant boxes, - * Prescription glasses and drinking glass boxes, - * Condiment bottle and silly cup boxes, - * Donkpocket and monkeycube boxes, - * ID and security PDA cart boxes, - * Handcuff, mousetrap, and pillbottle boxes, - * Snap-pops and matchboxes, - * Replacement light boxes. - * Action Figure Boxes - * Various paper bags. - * - * For syndicate call-ins see uplink_kits.dm - */ - -/obj/item/storage/box - name = "box" - desc = "It's just an ordinary box." - icon_state = "box" - item_state = "syringe_kit" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - resistance_flags = FLAMMABLE - var/foldable = /obj/item/stack/sheet/cardboard - var/illustration = "writing" - -/obj/item/storage/box/Initialize(mapload) - . = ..() - update_icon() - -/obj/item/storage/box/update_icon() - . = ..() - if(illustration) - cut_overlays() - add_overlay(illustration) - -/obj/item/storage/box/attack_self(mob/user) - ..() - - if(!foldable) - return - if(contents.len) - to_chat(user, "You can't fold this box with items still inside!") - return - if(!ispath(foldable)) - return - - //Close any open UI windows first - close_all() - - to_chat(user, "You fold [src] flat.") - var/obj/item/I = new foldable(get_turf(src)) - user.drop_item() - user.put_in_hands(I) - user.update_inv_hands() - qdel(src) - -/obj/item/storage/box/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/stack/packageWrap)) - return 0 - return ..() - - -//Disk boxes -/obj/item/storage/box/disks - name = "diskette box" - illustration = "disk_kit" - -/obj/item/storage/box/disks/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/disk/data(src) - - -/obj/item/storage/box/disks_plantgene - name = "plant data disks box" - illustration = "disk_kit" - -/obj/item/storage/box/disks_plantgene/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/disk/plantgene(src) - -// Ordinary survival box -/obj/item/storage/box/survival/PopulateContents() - new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/survival/radio/PopulateContents() - ..() // we want the survival stuff too. - new /obj/item/device/radio/off(src) - -/obj/item/storage/box/survival_mining/PopulateContents() - new /obj/item/clothing/mask/gas/explorer(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) - new /obj/item/crowbar/red(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - - -// Engineer survival box -/obj/item/storage/box/engineer/PopulateContents() - new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/engineer/radio/PopulateContents() - ..() // we want the regular items too. - new /obj/item/device/radio/off(src) - -// Syndie survival box -/obj/item/storage/box/syndie/PopulateContents() - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) - -// Security survival box -/obj/item/storage/box/security/PopulateContents() - new /obj/item/clothing/mask/gas/sechailer(src) - new /obj/item/tank/internals/emergency_oxygen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/security/radio/PopulateContents() - ..() // we want the regular stuff too - new /obj/item/device/radio/off(src) - -/obj/item/storage/box/gloves - name = "box of latex gloves" - desc = "Contains sterile latex gloves." - illustration = "latex" - -/obj/item/storage/box/gloves/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/gloves/color/latex(src) - -/obj/item/storage/box/masks - name = "box of sterile masks" - desc = "This box contains sterile medical masks." - illustration = "sterile" - -/obj/item/storage/box/masks/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/mask/surgical(src) - -/obj/item/storage/box/syringes - name = "box of syringes" - desc = "A box full of syringes." - illustration = "syringe" - -/obj/item/storage/box/syringes/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/syringe(src) - -/obj/item/storage/box/medipens - name = "box of medipens" - desc = "A box full of epinephrine MediPens." - illustration = "syringe" - -/obj/item/storage/box/medipens/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/medipens/utility - name = "stimpack value kit" - desc = "A box with several stimpack medipens for the economical miner." - illustration = "syringe" - -/obj/item/storage/box/medipens/utility/PopulateContents() - ..() // includes regular medipens. - for(var/i in 1 to 5) - new /obj/item/reagent_containers/hypospray/medipen/stimpack(src) - -/obj/item/storage/box/beakers - name = "box of beakers" - illustration = "beaker" - -/obj/item/storage/box/beakers/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/glass/beaker( src ) - -/obj/item/storage/box/injectors - name = "box of DNA injectors" - desc = "This box contains injectors, it seems." - -/obj/item/storage/box/injectors/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/dnainjector/h2m(src) - for(var/i in 1 to 3) - new /obj/item/dnainjector/m2h(src) - -/obj/item/storage/box/flashbangs - name = "box of flashbangs (WARNING)" - desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." - icon_state = "secbox" - illustration = "flashbang" - -/obj/item/storage/box/flashbangs/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/grenade/flashbang(src) - -/obj/item/storage/box/flashes - name = "box of flashbulbs" - desc = "WARNING: Flashes can cause serious eye damage, protective eyewear is required." - icon_state = "secbox" - illustration = "flashbang" - -/obj/item/storage/box/flashes/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/device/assembly/flash/handheld(src) - -/obj/item/storage/box/wall_flash - name = "wall-mounted flash kit" - desc = "This box contains everything necessary to build a wall-mounted flash. WARNING: Flashes can cause serious eye damage, protective eyewear is required." - illustration = "flashbang" - -/obj/item/storage/box/wall_flash/PopulateContents() - var/id = rand(1000, 9999) - // FIXME what if this conflicts with an existing one? - - new /obj/item/wallframe/button(src) - new /obj/item/electronics/airlock(src) - var/obj/item/device/assembly/control/flasher/remote = new(src) - remote.id = id - var/obj/item/wallframe/flasher/frame = new(src) - frame.id = id - new /obj/item/device/assembly/flash/handheld(src) - new /obj/item/screwdriver(src) - - -/obj/item/storage/box/teargas - name = "box of tear gas grenades (WARNING)" - desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation." - illustration = "flashbang" - -/obj/item/storage/box/teargas/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/grenade/chem_grenade/teargas(src) - -/obj/item/storage/box/emps - name = "box of emp grenades" - desc = "A box with 5 emp grenades." - illustration = "flashbang" - -/obj/item/storage/box/emps/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/grenade/empgrenade(src) - -/obj/item/storage/box/trackimp - name = "boxed tracking implant kit" - desc = "Box full of scum-bag tracking utensils." - illustration = "implant" - -/obj/item/storage/box/trackimp/PopulateContents() - for(var/i in 1 to 4) - new /obj/item/implantcase/tracking(src) - new /obj/item/implanter(src) - new /obj/item/implantpad(src) - new /obj/item/locator(src) - -/obj/item/storage/box/minertracker - name = "boxed tracking implant kit" - desc = "For finding those who have died on the accursed lavaworld." - illustration = "implant" - -/obj/item/storage/box/minertracker/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/implantcase/tracking(src) - new /obj/item/implanter(src) - new /obj/item/implantpad(src) - new /obj/item/locator(src) - -/obj/item/storage/box/chemimp - name = "boxed chemical implant kit" - desc = "Box of stuff used to implant chemicals." - illustration = "implant" - -/obj/item/storage/box/chemimp/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/implantcase/chem(src) - new /obj/item/implanter(src) - new /obj/item/implantpad(src) - -/obj/item/storage/box/exileimp - name = "boxed exile implant kit" - desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway." - illustration = "implant" - -/obj/item/storage/box/exileimp/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/implantcase/exile(src) - new /obj/item/implanter(src) - -/obj/item/storage/box/bodybags - name = "body bags" - desc = "The label indicates that it contains body bags." - illustration = "bodybags" - -/obj/item/storage/box/bodybags/PopulateContents() - ..() - for(var/i in 1 to 7) - new /obj/item/bodybag(src) - -/obj/item/storage/box/rxglasses - name = "box of prescription glasses" - desc = "This box contains nerd glasses." - illustration = "glasses" - -/obj/item/storage/box/rxglasses/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/glasses/regular(src) - -/obj/item/storage/box/drinkingglasses - name = "box of drinking glasses" - desc = "It has a picture of drinking glasses on it." - -/obj/item/storage/box/drinkingglasses/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/drinks/drinkingglass(src) - -/obj/item/storage/box/condimentbottles - name = "box of condiment bottles" - desc = "It has a large ketchup smear on it." - -/obj/item/storage/box/condimentbottles/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/condiment(src) - -/obj/item/storage/box/cups - name = "box of paper cups" - desc = "It has pictures of paper cups on the front." - -/obj/item/storage/box/cups/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/food/drinks/sillycup( src ) - -/obj/item/storage/box/donkpockets - name = "box of donk-pockets" - desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." - illustration = "donk_kit" - -/obj/item/storage/box/donkpockets/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/snacks/donkpocket(src) - -/obj/item/storage/box/monkeycubes - name = "monkey cube box" - desc = "Drymate brand monkey cubes. Just add water!" - icon_state = "monkeycubebox" - storage_slots = 7 - can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube) - illustration = null - -/obj/item/storage/box/monkeycubes/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/reagent_containers/food/snacks/monkeycube(src) - -/obj/item/storage/box/ids - name = "box of spare IDs" - desc = "Has so many empty IDs." - illustration = "id" - -/obj/item/storage/box/ids/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/card/id(src) - -//Some spare PDAs in a box -/obj/item/storage/box/PDAs - name = "spare PDAs" - desc = "A box of spare PDA microcomputers." - illustration = "pda" - -/obj/item/storage/box/PDAs/PopulateContents() - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/cartridge/head(src) - - var/newcart = pick( /obj/item/cartridge/engineering, - /obj/item/cartridge/security, - /obj/item/cartridge/medical, - /obj/item/cartridge/signal/toxins, - /obj/item/cartridge/quartermaster) - new newcart(src) - -/obj/item/storage/box/silver_ids - name = "box of spare silver IDs" - desc = "Shiny IDs for important people." - illustration = "id" - -/obj/item/storage/box/silver_ids/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/card/id/silver(src) - -/obj/item/storage/box/prisoner - name = "box of prisoner IDs" - desc = "Take away their last shred of dignity, their name." - illustration = "id" - -/obj/item/storage/box/prisoner/PopulateContents() - ..() - new /obj/item/card/id/prisoner/one(src) - new /obj/item/card/id/prisoner/two(src) - new /obj/item/card/id/prisoner/three(src) - new /obj/item/card/id/prisoner/four(src) - new /obj/item/card/id/prisoner/five(src) - new /obj/item/card/id/prisoner/six(src) - new /obj/item/card/id/prisoner/seven(src) - -/obj/item/storage/box/seccarts - name = "box of PDA security cartridges" - desc = "A box full of PDA cartridges used by Security." - illustration = "pda" - -/obj/item/storage/box/seccarts/PopulateContents() - new /obj/item/cartridge/detective(src) - for(var/i in 1 to 6) - new /obj/item/cartridge/security(src) - -/obj/item/storage/box/firingpins - name = "box of standard firing pins" - desc = "A box full of standard firing pins, to allow newly-developed firearms to operate." - illustration = "id" - -/obj/item/storage/box/firingpins/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/device/firing_pin(src) - -/obj/item/storage/box/lasertagpins - name = "box of laser tag firing pins" - desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used." - illustration = "id" - -/obj/item/storage/box/lasertagpins/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/device/firing_pin/tag/red(src) - new /obj/item/device/firing_pin/tag/blue(src) - -/obj/item/storage/box/handcuffs - name = "box of spare handcuffs" - desc = "A box full of handcuffs." - icon_state = "secbox" - illustration = "handcuff" - -/obj/item/storage/box/handcuffs/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/restraints/handcuffs(src) - -/obj/item/storage/box/zipties - name = "box of spare zipties" - desc = "A box full of zipties." - icon_state = "secbox" - illustration = "handcuff" - -/obj/item/storage/box/zipties/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/restraints/handcuffs/cable/zipties(src) - -/obj/item/storage/box/alienhandcuffs - name = "box of spare handcuffs" - desc = "A box full of handcuffs." - icon_state = "alienbox" - illustration = "handcuff" - -/obj/item/storage/box/alienhandcuffs/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/restraints/handcuffs/alien(src) - -/obj/item/storage/box/fakesyndiesuit - name = "boxed space suit and helmet" - desc = "A sleek, sturdy box used to hold replica spacesuits." - icon_state = "syndiebox" - -/obj/item/storage/box/fakesyndiesuit/PopulateContents() - new /obj/item/clothing/head/syndicatefake(src) - new /obj/item/clothing/suit/syndicatefake(src) - -/obj/item/storage/box/mousetraps - name = "box of Pest-B-Gon mousetraps" - desc = "Keep out of reach of children." - illustration = "mousetraps" - -/obj/item/storage/box/mousetraps/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/device/assembly/mousetrap(src) - -/obj/item/storage/box/pillbottles - name = "box of pill bottles" - desc = "It has pictures of pill bottles on its front." - illustration = "pillbox" - -/obj/item/storage/box/pillbottles/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/storage/pill_bottle(src) - -/obj/item/storage/box/snappops - name = "snap pop box" - desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children." - icon = 'icons/obj/toy.dmi' - icon_state = "spbox" - storage_slots = 8 - can_hold = list(/obj/item/toy/snappop) - -/obj/item/storage/box/snappops/PopulateContents() - for(var/i in 1 to storage_slots) - new /obj/item/toy/snappop(src) - -/obj/item/storage/box/matches - name = "matchbox" - desc = "A small box of Almost But Not Quite Plasma Premium Matches." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "matchbox" - item_state = "zippo" - storage_slots = 10 - w_class = WEIGHT_CLASS_TINY - slot_flags = SLOT_BELT - can_hold = list(/obj/item/match) - -/obj/item/storage/box/matches/PopulateContents() - for(var/i in 1 to storage_slots) - new /obj/item/match(src) - -/obj/item/storage/box/matches/attackby(obj/item/match/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/match)) - W.matchignite() - -/obj/item/storage/box/lights - name = "box of replacement bulbs" - icon = 'icons/obj/storage.dmi' - illustration = "light" - desc = "This box is shaped on the inside so that only light tubes and bulbs fit." - item_state = "syringe_kit" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - storage_slots=21 - can_hold = list(/obj/item/light/tube, /obj/item/light/bulb) - max_combined_w_class = 21 - use_to_pickup = 1 // for picking up broken bulbs, not that most people will try - -/obj/item/storage/box/lights/bulbs/PopulateContents() - for(var/i in 1 to 21) - new /obj/item/light/bulb(src) - -/obj/item/storage/box/lights/tubes - name = "box of replacement tubes" - illustration = "lighttube" - -/obj/item/storage/box/lights/tubes/PopulateContents() - for(var/i in 1 to 21) - new /obj/item/light/tube(src) - -/obj/item/storage/box/lights/mixed - name = "box of replacement lights" - illustration = "lightmixed" - -/obj/item/storage/box/lights/mixed/PopulateContents() - for(var/i in 1 to 14) - new /obj/item/light/tube(src) - for(var/i in 1 to 7) - new /obj/item/light/bulb(src) - - -/obj/item/storage/box/deputy - name = "box of deputy armbands" - desc = "To be issued to those authorized to act as deputy of security." - -/obj/item/storage/box/deputy/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/accessory/armband/deputy(src) - -/obj/item/storage/box/metalfoam - name = "box of metal foam grenades" - desc = "To be used to rapidly seal hull breaches." - illustration = "flashbang" - -/obj/item/storage/box/metalfoam/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/grenade/chem_grenade/metalfoam(src) - -/obj/item/storage/box/hug - name = "box of hugs" - desc = "A special box for sensitive people." - icon_state = "hugbox" - illustration = "heart" - foldable = null - -/obj/item/storage/box/hug/suicide_act(mob/user) - user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..") - return (BRUTELOSS) - -/obj/item/storage/box/hug/attack_self(mob/user) - ..() - user.changeNext_move(CLICK_CD_MELEE) - playsound(loc, "rustle", 50, 1, -5) - user.visible_message("[user] hugs \the [src].","You hug \the [src].") - -/obj/item/storage/box/hug/medical/PopulateContents() - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/hug/survival/PopulateContents() - new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/rubbershot - name = "box of rubber shots" - desc = "A box full of rubber shots, designed for riot shotguns." - icon_state = "rubbershot_box" - illustration = null - -/obj/item/storage/box/rubbershot/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/ammo_casing/shotgun/rubbershot(src) - -/obj/item/storage/box/lethalshot - name = "box of lethal shotgun shots" - desc = "A box full of lethal shots, designed for riot shotguns." - icon_state = "lethalshot_box" - illustration = null - -/obj/item/storage/box/lethalshot/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/ammo_casing/shotgun/buckshot(src) - -/obj/item/storage/box/beanbag - name = "box of beanbags" - desc = "A box full of beanbag shells." - icon_state = "rubbershot_box" - illustration = null - -/obj/item/storage/box/beanbag/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/ammo_casing/shotgun/beanbag(src) - -/obj/item/storage/box/actionfigure - name = "box of action figures" - desc = "The latest set of collectable action figures." - icon_state = "box" - -/obj/item/storage/box/actionfigure/PopulateContents() - for(var/i in 1 to 4) - var/randomFigure = pick(subtypesof(/obj/item/toy/figure)) - new randomFigure(src) - -#define NODESIGN "None" -#define NANOTRASEN "NanotrasenStandard" -#define SYNDI "SyndiSnacks" -#define HEART "Heart" -#define SMILE "SmileyFace" - -/obj/item/storage/box/papersack - name = "paper sack" - desc = "A sack neatly crafted out of paper." - icon_state = "paperbag_None" - item_state = "paperbag_None" - resistance_flags = FLAMMABLE - foldable = null - var/design = NODESIGN - -/obj/item/storage/box/papersack/update_icon() - if(contents.len == 0) - icon_state = "[item_state]" - else icon_state = "[item_state]_closed" - -/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/pen)) - //if a pen is used on the sack, dialogue to change its design appears - if(contents.len) - to_chat(user, "You can't modify this [src] with items still inside!") - return - var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel") - var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs - if(get_dist(usr, src) > 1) - to_chat(usr, "You have moved too far away!") - return - var/choice = designs.Find(switchDesign) - if(design == designs[choice] || designs[choice] == "Cancel") - return 0 - to_chat(usr, "You make some modifications to the [src] using your pen.") - design = designs[choice] - icon_state = "paperbag_[design]" - item_state = "paperbag_[design]" - switch(designs[choice]) - if(NODESIGN) - desc = "A sack neatly crafted out of paper." - if(NANOTRASEN) - desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." - if(SYNDI) - desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program." - if(HEART) - desc = "A paper sack with a heart etched onto the side." - if(SMILE) - desc = "A paper sack with a crude smile etched onto the side." - return 0 - else if(W.is_sharp()) - if(!contents.len) - if(item_state == "paperbag_None") - user.show_message("You cut eyeholes into the [src].", 1) - new /obj/item/clothing/head/papersack(user.loc) - qdel(src) - return 0 - else if(item_state == "paperbag_SmileyFace") - user.show_message("You cut eyeholes into the [src] and modify the design.", 1) - new /obj/item/clothing/head/papersack/smiley(user.loc) - qdel(src) - return 0 - return ..() - -#undef NODESIGN -#undef NANOTRASEN -#undef SYNDI -#undef HEART -#undef SMILE - -/obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist. - name = "ingredients box" - illustration = "donk_kit" - item_state = null - -/obj/item/storage/box/ingredients/Initialize() - ..() - if(item_state) - name = "[name] ([item_state])" - desc = "A box containing supplementary ingredients for the aspiring chef. This box's theme is '[item_state]'." - -/obj/item/storage/box/ingredients/wildcard - item_state = "wildcard" - -/obj/item/storage/box/ingredients/wildcard/PopulateContents() - for(var/i in 1 to 7) - var/randomFood = pick(/obj/item/reagent_containers/food/snacks/grown/chili, - /obj/item/reagent_containers/food/snacks/grown/tomato, - /obj/item/reagent_containers/food/snacks/grown/carrot, - /obj/item/reagent_containers/food/snacks/grown/potato, - /obj/item/reagent_containers/food/snacks/grown/potato/sweet, - /obj/item/reagent_containers/food/snacks/grown/apple, - /obj/item/reagent_containers/food/snacks/chocolatebar, - /obj/item/reagent_containers/food/snacks/grown/cherries, - /obj/item/reagent_containers/food/snacks/grown/banana, - /obj/item/reagent_containers/food/snacks/grown/cabbage, - /obj/item/reagent_containers/food/snacks/grown/soybeans, - /obj/item/reagent_containers/food/snacks/grown/corn, - /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle) - new randomFood(src) - -/obj/item/storage/box/ingredients/fiesta - item_state = "fiesta" - -/obj/item/storage/box/ingredients/fiesta/PopulateContents() - new /obj/item/reagent_containers/food/snacks/tortilla(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/corn(src) - new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) - new /obj/item/reagent_containers/food/snacks/grown/chili(src) - -/obj/item/storage/box/ingredients/italian - item_state = "italian" - -/obj/item/storage/box/ingredients/italian/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/grown/tomato(src) - new /obj/item/reagent_containers/food/snacks/faggot(src) - new /obj/item/reagent_containers/food/drinks/bottle/wine(src) - -/obj/item/storage/box/ingredients/vegetarian - item_state = "vegetarian" - -/obj/item/storage/box/ingredients/vegetarian/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/carrot(src) - new /obj/item/reagent_containers/food/snacks/grown/eggplant(src) - new /obj/item/reagent_containers/food/snacks/grown/potato(src) - new /obj/item/reagent_containers/food/snacks/grown/apple(src) - new /obj/item/reagent_containers/food/snacks/grown/corn(src) - new /obj/item/reagent_containers/food/snacks/grown/tomato(src) - -/obj/item/storage/box/ingredients/american - item_state = "american" - -/obj/item/storage/box/ingredients/american/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/potato(src) - new /obj/item/reagent_containers/food/snacks/grown/tomato(src) - new /obj/item/reagent_containers/food/snacks/grown/corn(src) - new /obj/item/reagent_containers/food/snacks/faggot(src) - -/obj/item/storage/box/ingredients/fruity - item_state = "fruity" - -/obj/item/storage/box/ingredients/fruity/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/apple(src) - new /obj/item/reagent_containers/food/snacks/grown/citrus/orange(src) - new /obj/item/reagent_containers/food/snacks/grown/citrus/lemon(src) - new /obj/item/reagent_containers/food/snacks/grown/citrus/lime(src) - new /obj/item/reagent_containers/food/snacks/grown/watermelon(src) - -/obj/item/storage/box/ingredients/sweets - item_state = "sweets" - -/obj/item/storage/box/ingredients/sweets/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/cherries(src) - new /obj/item/reagent_containers/food/snacks/grown/banana(src) - new /obj/item/reagent_containers/food/snacks/chocolatebar(src) - new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) - new /obj/item/reagent_containers/food/snacks/grown/apple(src) - -/obj/item/storage/box/ingredients/delights - item_state = "delights" - -/obj/item/storage/box/ingredients/delights/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/potato/sweet(src) - new /obj/item/reagent_containers/food/snacks/grown/bluecherries(src) - new /obj/item/reagent_containers/food/snacks/grown/vanillapod(src) - new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) - new /obj/item/reagent_containers/food/snacks/grown/berries(src) - -/obj/item/storage/box/ingredients/grains - item_state = "grains" - -/obj/item/storage/box/ingredients/grains/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/grown/oat(src) - new /obj/item/reagent_containers/food/snacks/grown/wheat(src) - new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) - new /obj/item/reagent_containers/honeycomb(src) - new /obj/item/seeds/poppy(src) - -/obj/item/storage/box/ingredients/carnivore - item_state = "carnivore" - -/obj/item/storage/box/ingredients/carnivore/PopulateContents() - new /obj/item/reagent_containers/food/snacks/meat/slab/bear(src) - new /obj/item/reagent_containers/food/snacks/meat/slab/spider(src) - new /obj/item/reagent_containers/food/snacks/spidereggs(src) - new /obj/item/reagent_containers/food/snacks/carpmeat(src) - new /obj/item/reagent_containers/food/snacks/meat/slab/xeno(src) - new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(src) - new /obj/item/reagent_containers/food/snacks/faggot(src) - -/obj/item/storage/box/ingredients/exotic - item_state = "exotic" - -/obj/item/storage/box/ingredients/exotic/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/carpmeat(src) - new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) - new /obj/item/reagent_containers/food/snacks/grown/cabbage(src) - new /obj/item/reagent_containers/food/snacks/grown/chili(src) - -/obj/item/storage/box/emptysandbags - name = "box of empty sandbags" - -/obj/item/storage/box/emptysandbags/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/emptysandbag(src) - -/obj/item/storage/box/rndboards - name = "\proper the liberator's legacy" - desc = "A box containing a gift for worthy golems." - -/obj/item/storage/box/rndboards/PopulateContents() - new /obj/item/circuitboard/machine/protolathe(src) - new /obj/item/circuitboard/machine/destructive_analyzer(src) - new /obj/item/circuitboard/machine/circuit_imprinter(src) - new /obj/item/circuitboard/computer/rdconsole(src) - -/obj/item/storage/box/silver_sulf - name = "box of silver sulfadiazine patches" - desc = "Contains patches used to treat burns." - -/obj/item/storage/box/silver_sulf/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/pill/patch/silver_sulf(src) - - -/obj/item/storage/box/fountainpens - name = "box of fountain pens" - -/obj/item/storage/box/fountainpens/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/pen/fountain(src) \ No newline at end of file +/* + * Everything derived from the common cardboard box. + * Basically everything except the original is a kit (starts full). + * + * Contains: + * Empty box, starter boxes (survival/engineer), + * Latex glove and sterile mask boxes, + * Syringe, beaker, dna injector boxes, + * Blanks, flashbangs, and EMP grenade boxes, + * Tracking and chemical implant boxes, + * Prescription glasses and drinking glass boxes, + * Condiment bottle and silly cup boxes, + * Donkpocket and monkeycube boxes, + * ID and security PDA cart boxes, + * Handcuff, mousetrap, and pillbottle boxes, + * Snap-pops and matchboxes, + * Replacement light boxes. + * Action Figure Boxes + * Various paper bags. + * + * For syndicate call-ins see uplink_kits.dm + */ + +/obj/item/storage/box + name = "box" + desc = "It's just an ordinary box." + icon_state = "box" + item_state = "syringe_kit" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + resistance_flags = FLAMMABLE + var/foldable = /obj/item/stack/sheet/cardboard + var/illustration = "writing" + +/obj/item/storage/box/Initialize(mapload) + . = ..() + update_icon() + +/obj/item/storage/box/update_icon() + . = ..() + if(illustration) + cut_overlays() + add_overlay(illustration) + +/obj/item/storage/box/attack_self(mob/user) + ..() + + if(!foldable) + return + if(contents.len) + to_chat(user, "You can't fold this box with items still inside!") + return + if(!ispath(foldable)) + return + + //Close any open UI windows first + close_all() + + to_chat(user, "You fold [src] flat.") + var/obj/item/I = new foldable(get_turf(src)) + user.drop_item() + user.put_in_hands(I) + user.update_inv_hands() + qdel(src) + +/obj/item/storage/box/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/stack/packageWrap)) + return 0 + return ..() + + +//Disk boxes +/obj/item/storage/box/disks + name = "diskette box" + illustration = "disk_kit" + +/obj/item/storage/box/disks/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/disk/data(src) + + +/obj/item/storage/box/disks_plantgene + name = "plant data disks box" + illustration = "disk_kit" + +/obj/item/storage/box/disks_plantgene/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/disk/plantgene(src) + +// Ordinary survival box +/obj/item/storage/box/survival/PopulateContents() + new /obj/item/clothing/mask/breath(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/survival/radio/PopulateContents() + ..() // we want the survival stuff too. + new /obj/item/device/radio/off(src) + +/obj/item/storage/box/survival_mining/PopulateContents() + new /obj/item/clothing/mask/gas/explorer(src) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + new /obj/item/crowbar/red(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + + +// Engineer survival box +/obj/item/storage/box/engineer/PopulateContents() + new /obj/item/clothing/mask/breath(src) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/engineer/radio/PopulateContents() + ..() // we want the regular items too. + new /obj/item/device/radio/off(src) + +// Syndie survival box +/obj/item/storage/box/syndie/PopulateContents() + new /obj/item/clothing/mask/gas/syndicate(src) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + +// Security survival box +/obj/item/storage/box/security/PopulateContents() + new /obj/item/clothing/mask/gas/sechailer(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/security/radio/PopulateContents() + ..() // we want the regular stuff too + new /obj/item/device/radio/off(src) + +/obj/item/storage/box/gloves + name = "box of latex gloves" + desc = "Contains sterile latex gloves." + illustration = "latex" + +/obj/item/storage/box/gloves/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/gloves/color/latex(src) + +/obj/item/storage/box/masks + name = "box of sterile masks" + desc = "This box contains sterile medical masks." + illustration = "sterile" + +/obj/item/storage/box/masks/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/mask/surgical(src) + +/obj/item/storage/box/syringes + name = "box of syringes" + desc = "A box full of syringes." + illustration = "syringe" + +/obj/item/storage/box/syringes/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/syringe(src) + +/obj/item/storage/box/medipens + name = "box of medipens" + desc = "A box full of epinephrine MediPens." + illustration = "syringe" + +/obj/item/storage/box/medipens/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/medipens/utility + name = "stimpack value kit" + desc = "A box with several stimpack medipens for the economical miner." + illustration = "syringe" + +/obj/item/storage/box/medipens/utility/PopulateContents() + ..() // includes regular medipens. + for(var/i in 1 to 5) + new /obj/item/reagent_containers/hypospray/medipen/stimpack(src) + +/obj/item/storage/box/beakers + name = "box of beakers" + illustration = "beaker" + +/obj/item/storage/box/beakers/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/glass/beaker( src ) + +/obj/item/storage/box/injectors + name = "box of DNA injectors" + desc = "This box contains injectors, it seems." + +/obj/item/storage/box/injectors/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/dnainjector/h2m(src) + for(var/i in 1 to 3) + new /obj/item/dnainjector/m2h(src) + +/obj/item/storage/box/flashbangs + name = "box of flashbangs (WARNING)" + desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." + icon_state = "secbox" + illustration = "flashbang" + +/obj/item/storage/box/flashbangs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/flashbang(src) + +/obj/item/storage/box/flashes + name = "box of flashbulbs" + desc = "WARNING: Flashes can cause serious eye damage, protective eyewear is required." + icon_state = "secbox" + illustration = "flashbang" + +/obj/item/storage/box/flashes/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/device/assembly/flash/handheld(src) + +/obj/item/storage/box/wall_flash + name = "wall-mounted flash kit" + desc = "This box contains everything necessary to build a wall-mounted flash. WARNING: Flashes can cause serious eye damage, protective eyewear is required." + illustration = "flashbang" + +/obj/item/storage/box/wall_flash/PopulateContents() + var/id = rand(1000, 9999) + // FIXME what if this conflicts with an existing one? + + new /obj/item/wallframe/button(src) + new /obj/item/electronics/airlock(src) + var/obj/item/device/assembly/control/flasher/remote = new(src) + remote.id = id + var/obj/item/wallframe/flasher/frame = new(src) + frame.id = id + new /obj/item/device/assembly/flash/handheld(src) + new /obj/item/screwdriver(src) + + +/obj/item/storage/box/teargas + name = "box of tear gas grenades (WARNING)" + desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation." + illustration = "flashbang" + +/obj/item/storage/box/teargas/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/chem_grenade/teargas(src) + +/obj/item/storage/box/emps + name = "box of emp grenades" + desc = "A box with 5 emp grenades." + illustration = "flashbang" + +/obj/item/storage/box/emps/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/grenade/empgrenade(src) + +/obj/item/storage/box/trackimp + name = "boxed tracking implant kit" + desc = "Box full of scum-bag tracking utensils." + illustration = "implant" + +/obj/item/storage/box/trackimp/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/implantcase/tracking(src) + new /obj/item/implanter(src) + new /obj/item/implantpad(src) + new /obj/item/locator(src) + +/obj/item/storage/box/minertracker + name = "boxed tracking implant kit" + desc = "For finding those who have died on the accursed lavaworld." + illustration = "implant" + +/obj/item/storage/box/minertracker/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/implantcase/tracking(src) + new /obj/item/implanter(src) + new /obj/item/implantpad(src) + new /obj/item/locator(src) + +/obj/item/storage/box/chemimp + name = "boxed chemical implant kit" + desc = "Box of stuff used to implant chemicals." + illustration = "implant" + +/obj/item/storage/box/chemimp/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/implantcase/chem(src) + new /obj/item/implanter(src) + new /obj/item/implantpad(src) + +/obj/item/storage/box/exileimp + name = "boxed exile implant kit" + desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway." + illustration = "implant" + +/obj/item/storage/box/exileimp/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/implantcase/exile(src) + new /obj/item/implanter(src) + +/obj/item/storage/box/bodybags + name = "body bags" + desc = "The label indicates that it contains body bags." + illustration = "bodybags" + +/obj/item/storage/box/bodybags/PopulateContents() + ..() + for(var/i in 1 to 7) + new /obj/item/bodybag(src) + +/obj/item/storage/box/rxglasses + name = "box of prescription glasses" + desc = "This box contains nerd glasses." + illustration = "glasses" + +/obj/item/storage/box/rxglasses/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/glasses/regular(src) + +/obj/item/storage/box/drinkingglasses + name = "box of drinking glasses" + desc = "It has a picture of drinking glasses on it." + +/obj/item/storage/box/drinkingglasses/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/reagent_containers/food/drinks/drinkingglass(src) + +/obj/item/storage/box/condimentbottles + name = "box of condiment bottles" + desc = "It has a large ketchup smear on it." + +/obj/item/storage/box/condimentbottles/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/reagent_containers/food/condiment(src) + +/obj/item/storage/box/cups + name = "box of paper cups" + desc = "It has pictures of paper cups on the front." + +/obj/item/storage/box/cups/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/food/drinks/sillycup( src ) + +/obj/item/storage/box/donkpockets + name = "box of donk-pockets" + desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." + illustration = "donk_kit" + +/obj/item/storage/box/donkpockets/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/reagent_containers/food/snacks/donkpocket(src) + +/obj/item/storage/box/monkeycubes + name = "monkey cube box" + desc = "Drymate brand monkey cubes. Just add water!" + icon_state = "monkeycubebox" + storage_slots = 7 + can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube) + illustration = null + +/obj/item/storage/box/monkeycubes/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/reagent_containers/food/snacks/monkeycube(src) + +/obj/item/storage/box/ids + name = "box of spare IDs" + desc = "Has so many empty IDs." + illustration = "id" + +/obj/item/storage/box/ids/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/card/id(src) + +//Some spare PDAs in a box +/obj/item/storage/box/PDAs + name = "spare PDAs" + desc = "A box of spare PDA microcomputers." + illustration = "pda" + +/obj/item/storage/box/PDAs/PopulateContents() + new /obj/item/device/pda(src) + new /obj/item/device/pda(src) + new /obj/item/device/pda(src) + new /obj/item/device/pda(src) + new /obj/item/cartridge/head(src) + + var/newcart = pick( /obj/item/cartridge/engineering, + /obj/item/cartridge/security, + /obj/item/cartridge/medical, + /obj/item/cartridge/signal/toxins, + /obj/item/cartridge/quartermaster) + new newcart(src) + +/obj/item/storage/box/silver_ids + name = "box of spare silver IDs" + desc = "Shiny IDs for important people." + illustration = "id" + +/obj/item/storage/box/silver_ids/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/card/id/silver(src) + +/obj/item/storage/box/prisoner + name = "box of prisoner IDs" + desc = "Take away their last shred of dignity, their name." + illustration = "id" + +/obj/item/storage/box/prisoner/PopulateContents() + ..() + new /obj/item/card/id/prisoner/one(src) + new /obj/item/card/id/prisoner/two(src) + new /obj/item/card/id/prisoner/three(src) + new /obj/item/card/id/prisoner/four(src) + new /obj/item/card/id/prisoner/five(src) + new /obj/item/card/id/prisoner/six(src) + new /obj/item/card/id/prisoner/seven(src) + +/obj/item/storage/box/seccarts + name = "box of PDA security cartridges" + desc = "A box full of PDA cartridges used by Security." + illustration = "pda" + +/obj/item/storage/box/seccarts/PopulateContents() + new /obj/item/cartridge/detective(src) + for(var/i in 1 to 6) + new /obj/item/cartridge/security(src) + +/obj/item/storage/box/firingpins + name = "box of standard firing pins" + desc = "A box full of standard firing pins, to allow newly-developed firearms to operate." + illustration = "id" + +/obj/item/storage/box/firingpins/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/device/firing_pin(src) + +/obj/item/storage/box/lasertagpins + name = "box of laser tag firing pins" + desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used." + illustration = "id" + +/obj/item/storage/box/lasertagpins/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/device/firing_pin/tag/red(src) + new /obj/item/device/firing_pin/tag/blue(src) + +/obj/item/storage/box/handcuffs + name = "box of spare handcuffs" + desc = "A box full of handcuffs." + icon_state = "secbox" + illustration = "handcuff" + +/obj/item/storage/box/handcuffs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/restraints/handcuffs(src) + +/obj/item/storage/box/zipties + name = "box of spare zipties" + desc = "A box full of zipties." + icon_state = "secbox" + illustration = "handcuff" + +/obj/item/storage/box/zipties/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/restraints/handcuffs/cable/zipties(src) + +/obj/item/storage/box/alienhandcuffs + name = "box of spare handcuffs" + desc = "A box full of handcuffs." + icon_state = "alienbox" + illustration = "handcuff" + +/obj/item/storage/box/alienhandcuffs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/restraints/handcuffs/alien(src) + +/obj/item/storage/box/fakesyndiesuit + name = "boxed space suit and helmet" + desc = "A sleek, sturdy box used to hold replica spacesuits." + icon_state = "syndiebox" + +/obj/item/storage/box/fakesyndiesuit/PopulateContents() + new /obj/item/clothing/head/syndicatefake(src) + new /obj/item/clothing/suit/syndicatefake(src) + +/obj/item/storage/box/mousetraps + name = "box of Pest-B-Gon mousetraps" + desc = "Keep out of reach of children." + illustration = "mousetraps" + +/obj/item/storage/box/mousetraps/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/device/assembly/mousetrap(src) + +/obj/item/storage/box/pillbottles + name = "box of pill bottles" + desc = "It has pictures of pill bottles on its front." + illustration = "pillbox" + +/obj/item/storage/box/pillbottles/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/storage/pill_bottle(src) + +/obj/item/storage/box/snappops + name = "snap pop box" + desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children." + icon = 'icons/obj/toy.dmi' + icon_state = "spbox" + storage_slots = 8 + can_hold = list(/obj/item/toy/snappop) + +/obj/item/storage/box/snappops/PopulateContents() + for(var/i in 1 to storage_slots) + new /obj/item/toy/snappop(src) + +/obj/item/storage/box/matches + name = "matchbox" + desc = "A small box of Almost But Not Quite Plasma Premium Matches." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "matchbox" + item_state = "zippo" + storage_slots = 10 + w_class = WEIGHT_CLASS_TINY + slot_flags = SLOT_BELT + can_hold = list(/obj/item/match) + +/obj/item/storage/box/matches/PopulateContents() + for(var/i in 1 to storage_slots) + new /obj/item/match(src) + +/obj/item/storage/box/matches/attackby(obj/item/match/W as obj, mob/user as mob, params) + if(istype(W, /obj/item/match)) + W.matchignite() + +/obj/item/storage/box/lights + name = "box of replacement bulbs" + icon = 'icons/obj/storage.dmi' + illustration = "light" + desc = "This box is shaped on the inside so that only light tubes and bulbs fit." + item_state = "syringe_kit" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + storage_slots=21 + can_hold = list(/obj/item/light/tube, /obj/item/light/bulb) + max_combined_w_class = 21 + use_to_pickup = 1 // for picking up broken bulbs, not that most people will try + +/obj/item/storage/box/lights/bulbs/PopulateContents() + for(var/i in 1 to 21) + new /obj/item/light/bulb(src) + +/obj/item/storage/box/lights/tubes + name = "box of replacement tubes" + illustration = "lighttube" + +/obj/item/storage/box/lights/tubes/PopulateContents() + for(var/i in 1 to 21) + new /obj/item/light/tube(src) + +/obj/item/storage/box/lights/mixed + name = "box of replacement lights" + illustration = "lightmixed" + +/obj/item/storage/box/lights/mixed/PopulateContents() + for(var/i in 1 to 14) + new /obj/item/light/tube(src) + for(var/i in 1 to 7) + new /obj/item/light/bulb(src) + + +/obj/item/storage/box/deputy + name = "box of deputy armbands" + desc = "To be issued to those authorized to act as deputy of security." + +/obj/item/storage/box/deputy/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/accessory/armband/deputy(src) + +/obj/item/storage/box/metalfoam + name = "box of metal foam grenades" + desc = "To be used to rapidly seal hull breaches." + illustration = "flashbang" + +/obj/item/storage/box/metalfoam/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/chem_grenade/metalfoam(src) + +/obj/item/storage/box/smart_metal_foam + name = "box of smart metal foam grenades" + desc = "Used to rapidly seal hull breaches. This variety conforms to the walls of its area." + illustration = "flashbang" + +/obj/item/storage/box/smart_metal_foam/PopulateContents() + for(var/i in 1 to 7) + new/obj/item/grenade/chem_grenade/smart_metal_foam(src) + +/obj/item/storage/box/hug + name = "box of hugs" + desc = "A special box for sensitive people." + icon_state = "hugbox" + illustration = "heart" + foldable = null + +/obj/item/storage/box/hug/suicide_act(mob/user) + user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..") + return (BRUTELOSS) + +/obj/item/storage/box/hug/attack_self(mob/user) + ..() + user.changeNext_move(CLICK_CD_MELEE) + playsound(loc, "rustle", 50, 1, -5) + user.visible_message("[user] hugs \the [src].","You hug \the [src].") + +/obj/item/storage/box/hug/medical/PopulateContents() + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/hug/survival/PopulateContents() + new /obj/item/clothing/mask/breath(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/rubbershot + name = "box of rubber shots" + desc = "A box full of rubber shots, designed for riot shotguns." + icon_state = "rubbershot_box" + illustration = null + +/obj/item/storage/box/rubbershot/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/rubbershot(src) + +/obj/item/storage/box/lethalshot + name = "box of lethal shotgun shots" + desc = "A box full of lethal shots, designed for riot shotguns." + icon_state = "lethalshot_box" + illustration = null + +/obj/item/storage/box/lethalshot/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/buckshot(src) + +/obj/item/storage/box/beanbag + name = "box of beanbags" + desc = "A box full of beanbag shells." + icon_state = "rubbershot_box" + illustration = null + +/obj/item/storage/box/beanbag/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/ammo_casing/shotgun/beanbag(src) + +/obj/item/storage/box/actionfigure + name = "box of action figures" + desc = "The latest set of collectable action figures." + icon_state = "box" + +/obj/item/storage/box/actionfigure/PopulateContents() + for(var/i in 1 to 4) + var/randomFigure = pick(subtypesof(/obj/item/toy/figure)) + new randomFigure(src) + +#define NODESIGN "None" +#define NANOTRASEN "NanotrasenStandard" +#define SYNDI "SyndiSnacks" +#define HEART "Heart" +#define SMILE "SmileyFace" + +/obj/item/storage/box/papersack + name = "paper sack" + desc = "A sack neatly crafted out of paper." + icon_state = "paperbag_None" + item_state = "paperbag_None" + resistance_flags = FLAMMABLE + foldable = null + var/design = NODESIGN + +/obj/item/storage/box/papersack/update_icon() + if(contents.len == 0) + icon_state = "[item_state]" + else icon_state = "[item_state]_closed" + +/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/pen)) + //if a pen is used on the sack, dialogue to change its design appears + if(contents.len) + to_chat(user, "You can't modify this [src] with items still inside!") + return + var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel") + var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs + if(get_dist(usr, src) > 1) + to_chat(usr, "You have moved too far away!") + return + var/choice = designs.Find(switchDesign) + if(design == designs[choice] || designs[choice] == "Cancel") + return 0 + to_chat(usr, "You make some modifications to the [src] using your pen.") + design = designs[choice] + icon_state = "paperbag_[design]" + item_state = "paperbag_[design]" + switch(designs[choice]) + if(NODESIGN) + desc = "A sack neatly crafted out of paper." + if(NANOTRASEN) + desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." + if(SYNDI) + desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program." + if(HEART) + desc = "A paper sack with a heart etched onto the side." + if(SMILE) + desc = "A paper sack with a crude smile etched onto the side." + return 0 + else if(W.is_sharp()) + if(!contents.len) + if(item_state == "paperbag_None") + user.show_message("You cut eyeholes into the [src].", 1) + new /obj/item/clothing/head/papersack(user.loc) + qdel(src) + return 0 + else if(item_state == "paperbag_SmileyFace") + user.show_message("You cut eyeholes into the [src] and modify the design.", 1) + new /obj/item/clothing/head/papersack/smiley(user.loc) + qdel(src) + return 0 + return ..() + +#undef NODESIGN +#undef NANOTRASEN +#undef SYNDI +#undef HEART +#undef SMILE + +/obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist. + name = "ingredients box" + illustration = "donk_kit" + +/obj/item/storage/box/ingredients/Initialize() + ..() + if(icon_state) + name = "[name] ([icon_state])" + desc = "A box containing supplementary ingredients for the aspiring chef. This box's theme is '[icon_state]'." + item_state = "syringe_kit" + +/obj/item/storage/box/ingredients/wildcard + icon_state = "wildcard" + +/obj/item/storage/box/ingredients/wildcard/PopulateContents() + for(var/i in 1 to 7) + var/randomFood = pick(/obj/item/reagent_containers/food/snacks/grown/chili, + /obj/item/reagent_containers/food/snacks/grown/tomato, + /obj/item/reagent_containers/food/snacks/grown/carrot, + /obj/item/reagent_containers/food/snacks/grown/potato, + /obj/item/reagent_containers/food/snacks/grown/potato/sweet, + /obj/item/reagent_containers/food/snacks/grown/apple, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/grown/cherries, + /obj/item/reagent_containers/food/snacks/grown/banana, + /obj/item/reagent_containers/food/snacks/grown/cabbage, + /obj/item/reagent_containers/food/snacks/grown/soybeans, + /obj/item/reagent_containers/food/snacks/grown/corn, + /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle) + new randomFood(src) + +/obj/item/storage/box/ingredients/fiesta + icon_state = "fiesta" + +/obj/item/storage/box/ingredients/fiesta/PopulateContents() + new /obj/item/reagent_containers/food/snacks/tortilla(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/corn(src) + new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) + new /obj/item/reagent_containers/food/snacks/grown/chili(src) + +/obj/item/storage/box/ingredients/italian + icon_state = "italian" + +/obj/item/storage/box/ingredients/italian/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/reagent_containers/food/snacks/grown/tomato(src) + new /obj/item/reagent_containers/food/snacks/faggot(src) + new /obj/item/reagent_containers/food/drinks/bottle/wine(src) + +/obj/item/storage/box/ingredients/vegetarian + icon_state = "vegetarian" + +/obj/item/storage/box/ingredients/vegetarian/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/carrot(src) + new /obj/item/reagent_containers/food/snacks/grown/eggplant(src) + new /obj/item/reagent_containers/food/snacks/grown/potato(src) + new /obj/item/reagent_containers/food/snacks/grown/apple(src) + new /obj/item/reagent_containers/food/snacks/grown/corn(src) + new /obj/item/reagent_containers/food/snacks/grown/tomato(src) + +/obj/item/storage/box/ingredients/american + icon_state = "american" + +/obj/item/storage/box/ingredients/american/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/potato(src) + new /obj/item/reagent_containers/food/snacks/grown/tomato(src) + new /obj/item/reagent_containers/food/snacks/grown/corn(src) + new /obj/item/reagent_containers/food/snacks/faggot(src) + +/obj/item/storage/box/ingredients/fruity + icon_state = "fruity" + +/obj/item/storage/box/ingredients/fruity/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/apple(src) + new /obj/item/reagent_containers/food/snacks/grown/citrus/orange(src) + new /obj/item/reagent_containers/food/snacks/grown/citrus/lemon(src) + new /obj/item/reagent_containers/food/snacks/grown/citrus/lime(src) + new /obj/item/reagent_containers/food/snacks/grown/watermelon(src) + +/obj/item/storage/box/ingredients/sweets + icon_state = "sweets" + +/obj/item/storage/box/ingredients/sweets/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/cherries(src) + new /obj/item/reagent_containers/food/snacks/grown/banana(src) + new /obj/item/reagent_containers/food/snacks/chocolatebar(src) + new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) + new /obj/item/reagent_containers/food/snacks/grown/apple(src) + +/obj/item/storage/box/ingredients/delights + icon_state = "delights" + +/obj/item/storage/box/ingredients/delights/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/potato/sweet(src) + new /obj/item/reagent_containers/food/snacks/grown/bluecherries(src) + new /obj/item/reagent_containers/food/snacks/grown/vanillapod(src) + new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) + new /obj/item/reagent_containers/food/snacks/grown/berries(src) + +/obj/item/storage/box/ingredients/grains + icon_state = "grains" + +/obj/item/storage/box/ingredients/grains/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/reagent_containers/food/snacks/grown/oat(src) + new /obj/item/reagent_containers/food/snacks/grown/wheat(src) + new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) + new /obj/item/reagent_containers/honeycomb(src) + new /obj/item/seeds/poppy(src) + +/obj/item/storage/box/ingredients/carnivore + icon_state = "carnivore" + +/obj/item/storage/box/ingredients/carnivore/PopulateContents() + new /obj/item/reagent_containers/food/snacks/meat/slab/bear(src) + new /obj/item/reagent_containers/food/snacks/meat/slab/spider(src) + new /obj/item/reagent_containers/food/snacks/spidereggs(src) + new /obj/item/reagent_containers/food/snacks/carpmeat(src) + new /obj/item/reagent_containers/food/snacks/meat/slab/xeno(src) + new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(src) + new /obj/item/reagent_containers/food/snacks/faggot(src) + +/obj/item/storage/box/ingredients/exotic + icon_state = "exotic" + +/obj/item/storage/box/ingredients/exotic/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/carpmeat(src) + new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) + new /obj/item/reagent_containers/food/snacks/grown/cabbage(src) + new /obj/item/reagent_containers/food/snacks/grown/chili(src) + +/obj/item/storage/box/emptysandbags + name = "box of empty sandbags" + +/obj/item/storage/box/emptysandbags/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/emptysandbag(src) + +/obj/item/storage/box/rndboards + name = "\proper the liberator's legacy" + desc = "A box containing a gift for worthy golems." + +/obj/item/storage/box/rndboards/PopulateContents() + new /obj/item/circuitboard/machine/protolathe(src) + new /obj/item/circuitboard/machine/destructive_analyzer(src) + new /obj/item/circuitboard/machine/circuit_imprinter(src) + new /obj/item/circuitboard/computer/rdconsole(src) + +/obj/item/storage/box/silver_sulf + name = "box of silver sulfadiazine patches" + desc = "Contains patches used to treat burns." + +/obj/item/storage/box/silver_sulf/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/patch/silver_sulf(src) + + +/obj/item/storage/box/fountainpens + name = "box of fountain pens" + +/obj/item/storage/box/fountainpens/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/pen/fountain(src) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 0cae6f9320..883641d43b 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -1,273 +1,273 @@ -/* - * The 'fancy' path is for objects like donut boxes that show how many items are in the storage item on the sprite itself - * .. Sorry for the shitty path name, I couldnt think of a better one. - * - * WARNING: var/icon_type is used for both examine text and sprite name. Please look at the procs below and adjust your sprite names accordingly - * TODO: Cigarette boxes should be ported to this standard - * - * Contains: - * Donut Box - * Egg Box - * Candle Box - * Cigarette Box - * Cigar Case - */ - -/obj/item/storage/fancy - icon = 'icons/obj/food/containers.dmi' - icon_state = "donutbox6" - name = "donut box" - resistance_flags = FLAMMABLE - var/icon_type = "donut" - var/spawn_type = null - var/fancy_open = FALSE - -/obj/item/storage/fancy/PopulateContents() - for(var/i = 1 to storage_slots) - new spawn_type(src) - -/obj/item/storage/fancy/update_icon(itemremoved = 0) - if(fancy_open) - var/total_contents = src.contents.len - itemremoved - icon_state = "[icon_type]box[total_contents]" - else - icon_state = "[icon_type]box" - -/obj/item/storage/fancy/examine(mob/user) - ..() - if(fancy_open) - if(contents.len == 1) - to_chat(user, "There is one [src.icon_type] left.") - else - to_chat(user, "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left.") - -/obj/item/storage/fancy/attack_self(mob/user) - fancy_open = !fancy_open - update_icon() - -/obj/item/storage/fancy/content_can_dump(atom/dest_object, mob/user) - . = ..() - if(.) - fancy_open = TRUE - update_icon() - -/obj/item/storage/fancy/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) - fancy_open = TRUE - return ..() - -/obj/item/storage/fancy/remove_from_storage(obj/item/W, atom/new_location, burn = 0) - fancy_open = TRUE - return ..() - -/* - * Donut Box - */ - -/obj/item/storage/fancy/donut_box - icon = 'icons/obj/food/containers.dmi' - icon_state = "donutbox6" - icon_type = "donut" - name = "donut box" - storage_slots = 6 - can_hold = list(/obj/item/reagent_containers/food/snacks/donut) - spawn_type = /obj/item/reagent_containers/food/snacks/donut - fancy_open = TRUE - -/* - * Egg Box - */ - -/obj/item/storage/fancy/egg_box - icon = 'icons/obj/food/containers.dmi' - icon_state = "eggbox" - icon_type = "egg" - lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' - name = "egg box" - storage_slots = 12 - can_hold = list(/obj/item/reagent_containers/food/snacks/egg) - spawn_type = /obj/item/reagent_containers/food/snacks/egg - -/* - * Candle Box - */ - -/obj/item/storage/fancy/candle_box - name = "candle pack" - desc = "A pack of red candles." - icon = 'icons/obj/candle.dmi' - icon_state = "candlebox5" - icon_type = "candle" - item_state = "candlebox5" - storage_slots = 5 - throwforce = 2 - slot_flags = SLOT_BELT - spawn_type = /obj/item/candle - fancy_open = TRUE - -/obj/item/storage/fancy/candle_box/attack_self(mob_user) - return - -//////////// -//CIG PACK// -//////////// -/obj/item/storage/fancy/cigarettes - name = "\improper Space Cigarettes packet" - desc = "The most popular brand of cigarettes, sponsors of the Space Olympics." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "cig" - item_state = "cigpacket" - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - slot_flags = SLOT_BELT - storage_slots = 6 - can_hold = list(/obj/item/clothing/mask/cigarette, /obj/item/lighter) - icon_type = "cigarette" - spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette - -/obj/item/storage/fancy/cigarettes/AltClick(mob/user) - if(user.get_active_held_item()) - return - for(var/obj/item/lighter/lighter in src) - remove_from_storage(lighter, user.loc) - user.put_in_active_hand(lighter) - break - -/obj/item/storage/fancy/cigarettes/update_icon() - if(fancy_open || !contents.len) - cut_overlays() - if(!contents.len) - icon_state = "[initial(icon_state)]_empty" - else - icon_state = initial(icon_state) - add_overlay("[icon_state]_open") - var/i = contents.len - for(var/C in contents) - var/mutable_appearance/inserted_overlay = mutable_appearance(icon) - inserted_overlay.pixel_x = 1 * (i - 1) - if(istype(C, /obj/item/lighter/greyscale)) - inserted_overlay.icon_state = "lighter_in" - else if(istype(C, /obj/item/lighter)) - inserted_overlay.icon_state = "zippo_in" - else - inserted_overlay.icon_state = "cigarette" - add_overlay(inserted_overlay) - i-- - else - cut_overlays() - -/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - if(!ismob(M)) - return - var/obj/item/clothing/mask/cigarette/cig = locate(/obj/item/clothing/mask/cigarette) in contents - if(cig) - if(M == user && contents.len > 0 && !user.wear_mask) - var/obj/item/clothing/mask/cigarette/W = cig - remove_from_storage(W, M) - M.equip_to_slot_if_possible(W, slot_wear_mask) - contents -= W - to_chat(user, "You take a [icon_type] out of the pack.") - else - ..() - else - to_chat(user, "There are no [icon_type]s left in the pack.") - -/obj/item/storage/fancy/cigarettes/dromedaryco - name = "\improper DromedaryCo packet" - desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" - icon_state = "dromedary" - spawn_type = /obj/item/clothing/mask/cigarette/dromedary - -/obj/item/storage/fancy/cigarettes/cigpack_uplift - name = "\improper Uplift Smooth packet" - desc = "Your favorite brand, now menthol flavored." - icon_state = "uplift" - spawn_type = /obj/item/clothing/mask/cigarette/uplift - -/obj/item/storage/fancy/cigarettes/cigpack_robust - name = "\improper Robust packet" - desc = "Smoked by the robust." - icon_state = "robust" - spawn_type = /obj/item/clothing/mask/cigarette/robust - -/obj/item/storage/fancy/cigarettes/cigpack_robustgold - name = "\improper Robust Gold packet" - desc = "Smoked by the truly robust." - icon_state = "robustg" - spawn_type = /obj/item/clothing/mask/cigarette/robustgold - -/obj/item/storage/fancy/cigarettes/cigpack_carp - name = "\improper Carp Classic packet" - desc = "Since 2313." - icon_state = "carp" - spawn_type = /obj/item/clothing/mask/cigarette/carp - -/obj/item/storage/fancy/cigarettes/cigpack_syndicate - name = "cigarette packet" - desc = "An obscure brand of cigarettes." - icon_state = "syndie" - spawn_type = /obj/item/clothing/mask/cigarette/syndicate - -/obj/item/storage/fancy/cigarettes/cigpack_midori - name = "\improper Midori Tabako packet" - desc = "You can't understand the runes, but the packet smells funny." - icon_state = "midori" - spawn_type = /obj/item/clothing/mask/cigarette/rollie - -/obj/item/storage/fancy/cigarettes/cigpack_shadyjims - name = "\improper Shady Jim's Super Slims packet" - desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" - icon_state = "shadyjim" - spawn_type = /obj/item/clothing/mask/cigarette/shadyjims - -/obj/item/storage/fancy/rollingpapers - name = "rolling paper pack" - desc = "A pack of NanoTrasen brand rolling papers." - w_class = WEIGHT_CLASS_TINY - icon = 'icons/obj/cigarettes.dmi' - icon_state = "cig_paper_pack" - storage_slots = 10 - icon_type = "rolling paper" - can_hold = list(/obj/item/rollingpaper) - spawn_type = /obj/item/rollingpaper - -/obj/item/storage/fancy/rollingpapers/update_icon() - cut_overlays() - if(!contents.len) - add_overlay("[icon_state]_empty") - -///////////// -//CIGAR BOX// -///////////// - -/obj/item/storage/fancy/cigarettes/cigars - name = "\improper premium cigar case" - desc = "A case of premium cigars. Very expensive." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "cigarcase" - w_class = WEIGHT_CLASS_NORMAL - storage_slots = 5 - can_hold = list(/obj/item/clothing/mask/cigarette/cigar) - icon_type = "premium cigar" - spawn_type = /obj/item/clothing/mask/cigarette/cigar - -/obj/item/storage/fancy/cigarettes/cigars/update_icon() - cut_overlays() - if(fancy_open) - add_overlay("[icon_state]_open") - var/mutable_appearance/cigar_overlay = mutable_appearance(icon, icon_type) - for(var/c = contents.len, c >= 1, c--) - cigar_overlay.pixel_x = 4 * (c - 1) - add_overlay(cigar_overlay) - else - icon_state = "cigarcase" - -/obj/item/storage/fancy/cigarettes/cigars/cohiba - name = "\improper cohiba robusto cigar case" - desc = "A case of imported Cohiba cigars, renowned for their strong flavor." - spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba - -/obj/item/storage/fancy/cigarettes/cigars/havana - name = "\improper premium havanian cigar case" - desc = "A case of classy Havanian cigars." - spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana +/* + * The 'fancy' path is for objects like donut boxes that show how many items are in the storage item on the sprite itself + * .. Sorry for the shitty path name, I couldnt think of a better one. + * + * WARNING: var/icon_type is used for both examine text and sprite name. Please look at the procs below and adjust your sprite names accordingly + * TODO: Cigarette boxes should be ported to this standard + * + * Contains: + * Donut Box + * Egg Box + * Candle Box + * Cigarette Box + * Cigar Case + */ + +/obj/item/storage/fancy + icon = 'icons/obj/food/containers.dmi' + icon_state = "donutbox6" + name = "donut box" + resistance_flags = FLAMMABLE + var/icon_type = "donut" + var/spawn_type = null + var/fancy_open = FALSE + +/obj/item/storage/fancy/PopulateContents() + for(var/i = 1 to storage_slots) + new spawn_type(src) + +/obj/item/storage/fancy/update_icon(itemremoved = 0) + if(fancy_open) + var/total_contents = src.contents.len - itemremoved + icon_state = "[icon_type]box[total_contents]" + else + icon_state = "[icon_type]box" + +/obj/item/storage/fancy/examine(mob/user) + ..() + if(fancy_open) + if(contents.len == 1) + to_chat(user, "There is one [src.icon_type] left.") + else + to_chat(user, "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left.") + +/obj/item/storage/fancy/attack_self(mob/user) + fancy_open = !fancy_open + update_icon() + +/obj/item/storage/fancy/dump_content_at(atom/dest_object, mob/user) + . = ..() + if(.) + fancy_open = TRUE + update_icon() + +/obj/item/storage/fancy/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) + fancy_open = TRUE + return ..() + +/obj/item/storage/fancy/remove_from_storage(obj/item/W, atom/new_location, burn = 0) + fancy_open = TRUE + return ..() + +/* + * Donut Box + */ + +/obj/item/storage/fancy/donut_box + icon = 'icons/obj/food/containers.dmi' + icon_state = "donutbox6" + icon_type = "donut" + name = "donut box" + storage_slots = 6 + can_hold = list(/obj/item/reagent_containers/food/snacks/donut) + spawn_type = /obj/item/reagent_containers/food/snacks/donut + fancy_open = TRUE + +/* + * Egg Box + */ + +/obj/item/storage/fancy/egg_box + icon = 'icons/obj/food/containers.dmi' + icon_state = "eggbox" + icon_type = "egg" + lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' + name = "egg box" + storage_slots = 12 + can_hold = list(/obj/item/reagent_containers/food/snacks/egg) + spawn_type = /obj/item/reagent_containers/food/snacks/egg + +/* + * Candle Box + */ + +/obj/item/storage/fancy/candle_box + name = "candle pack" + desc = "A pack of red candles." + icon = 'icons/obj/candle.dmi' + icon_state = "candlebox5" + icon_type = "candle" + item_state = "candlebox5" + storage_slots = 5 + throwforce = 2 + slot_flags = SLOT_BELT + spawn_type = /obj/item/candle + fancy_open = TRUE + +/obj/item/storage/fancy/candle_box/attack_self(mob_user) + return + +//////////// +//CIG PACK// +//////////// +/obj/item/storage/fancy/cigarettes + name = "\improper Space Cigarettes packet" + desc = "The most popular brand of cigarettes, sponsors of the Space Olympics." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "cig" + item_state = "cigpacket" + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + slot_flags = SLOT_BELT + storage_slots = 6 + can_hold = list(/obj/item/clothing/mask/cigarette, /obj/item/lighter) + icon_type = "cigarette" + spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette + +/obj/item/storage/fancy/cigarettes/AltClick(mob/user) + if(user.get_active_held_item()) + return + for(var/obj/item/lighter/lighter in src) + remove_from_storage(lighter, user.loc) + user.put_in_active_hand(lighter) + break + +/obj/item/storage/fancy/cigarettes/update_icon() + if(fancy_open || !contents.len) + cut_overlays() + if(!contents.len) + icon_state = "[initial(icon_state)]_empty" + else + icon_state = initial(icon_state) + add_overlay("[icon_state]_open") + var/i = contents.len + for(var/C in contents) + var/mutable_appearance/inserted_overlay = mutable_appearance(icon) + inserted_overlay.pixel_x = 1 * (i - 1) + if(istype(C, /obj/item/lighter/greyscale)) + inserted_overlay.icon_state = "lighter_in" + else if(istype(C, /obj/item/lighter)) + inserted_overlay.icon_state = "zippo_in" + else + inserted_overlay.icon_state = "cigarette" + add_overlay(inserted_overlay) + i-- + else + cut_overlays() + +/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + if(!ismob(M)) + return + var/obj/item/clothing/mask/cigarette/cig = locate(/obj/item/clothing/mask/cigarette) in contents + if(cig) + if(M == user && contents.len > 0 && !user.wear_mask) + var/obj/item/clothing/mask/cigarette/W = cig + remove_from_storage(W, M) + M.equip_to_slot_if_possible(W, slot_wear_mask) + contents -= W + to_chat(user, "You take a [icon_type] out of the pack.") + else + ..() + else + to_chat(user, "There are no [icon_type]s left in the pack.") + +/obj/item/storage/fancy/cigarettes/dromedaryco + name = "\improper DromedaryCo packet" + desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" + icon_state = "dromedary" + spawn_type = /obj/item/clothing/mask/cigarette/dromedary + +/obj/item/storage/fancy/cigarettes/cigpack_uplift + name = "\improper Uplift Smooth packet" + desc = "Your favorite brand, now menthol flavored." + icon_state = "uplift" + spawn_type = /obj/item/clothing/mask/cigarette/uplift + +/obj/item/storage/fancy/cigarettes/cigpack_robust + name = "\improper Robust packet" + desc = "Smoked by the robust." + icon_state = "robust" + spawn_type = /obj/item/clothing/mask/cigarette/robust + +/obj/item/storage/fancy/cigarettes/cigpack_robustgold + name = "\improper Robust Gold packet" + desc = "Smoked by the truly robust." + icon_state = "robustg" + spawn_type = /obj/item/clothing/mask/cigarette/robustgold + +/obj/item/storage/fancy/cigarettes/cigpack_carp + name = "\improper Carp Classic packet" + desc = "Since 2313." + icon_state = "carp" + spawn_type = /obj/item/clothing/mask/cigarette/carp + +/obj/item/storage/fancy/cigarettes/cigpack_syndicate + name = "cigarette packet" + desc = "An obscure brand of cigarettes." + icon_state = "syndie" + spawn_type = /obj/item/clothing/mask/cigarette/syndicate + +/obj/item/storage/fancy/cigarettes/cigpack_midori + name = "\improper Midori Tabako packet" + desc = "You can't understand the runes, but the packet smells funny." + icon_state = "midori" + spawn_type = /obj/item/clothing/mask/cigarette/rollie + +/obj/item/storage/fancy/cigarettes/cigpack_shadyjims + name = "\improper Shady Jim's Super Slims packet" + desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" + icon_state = "shadyjim" + spawn_type = /obj/item/clothing/mask/cigarette/shadyjims + +/obj/item/storage/fancy/rollingpapers + name = "rolling paper pack" + desc = "A pack of Nanotrasen brand rolling papers." + w_class = WEIGHT_CLASS_TINY + icon = 'icons/obj/cigarettes.dmi' + icon_state = "cig_paper_pack" + storage_slots = 10 + icon_type = "rolling paper" + can_hold = list(/obj/item/rollingpaper) + spawn_type = /obj/item/rollingpaper + +/obj/item/storage/fancy/rollingpapers/update_icon() + cut_overlays() + if(!contents.len) + add_overlay("[icon_state]_empty") + +///////////// +//CIGAR BOX// +///////////// + +/obj/item/storage/fancy/cigarettes/cigars + name = "\improper premium cigar case" + desc = "A case of premium cigars. Very expensive." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "cigarcase" + w_class = WEIGHT_CLASS_NORMAL + storage_slots = 5 + can_hold = list(/obj/item/clothing/mask/cigarette/cigar) + icon_type = "premium cigar" + spawn_type = /obj/item/clothing/mask/cigarette/cigar + +/obj/item/storage/fancy/cigarettes/cigars/update_icon() + cut_overlays() + if(fancy_open) + add_overlay("[icon_state]_open") + var/mutable_appearance/cigar_overlay = mutable_appearance(icon, icon_type) + for(var/c = contents.len, c >= 1, c--) + cigar_overlay.pixel_x = 4 * (c - 1) + add_overlay(cigar_overlay) + else + icon_state = "cigarcase" + +/obj/item/storage/fancy/cigarettes/cigars/cohiba + name = "\improper cohiba robusto cigar case" + desc = "A case of imported Cohiba cigars, renowned for their strong flavor." + spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba + +/obj/item/storage/fancy/cigarettes/cigars/havana + name = "\improper premium havanian cigar case" + desc = "A case of classy Havanian cigars." + spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 8c7d0659bf..4b93fde13f 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -1,215 +1,217 @@ -/* First aid storage - * Contains: - * First Aid Kits - * Pill Bottles - * Dice Pack (in a pill bottle) - */ - -/* - * First Aid Kits - */ -/obj/item/storage/firstaid - name = "first-aid kit" - desc = "It's an emergency medical kit for those serious boo-boos." - icon_state = "firstaid" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - throw_speed = 3 - throw_range = 7 - var/empty = 0 - -/obj/item/storage/firstaid/regular - icon_state = "firstaid" - desc = "A first aid kit with the ability to heal common types of injuries." - -/obj/item/storage/firstaid/regular/PopulateContents() - if(empty) - return - new /obj/item/stack/medical/gauze(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/storage/firstaid/ancient - icon_state = "firstaid" - desc = "A first aid kit with the ability to heal common types of injuries." - - -/obj/item/storage/firstaid/ancient/PopulateContents() - if(empty) - return - new /obj/item/stack/medical/gauze(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/stack/medical/ointment(src) - -/obj/item/storage/firstaid/fire - name = "burn treatment kit" - desc = "A specialized medical kit for when the toxins lab -spontaneously- burns down." - icon_state = "ointment" - item_state = "firstaid-ointment" - -/obj/item/storage/firstaid/fire/Initialize(mapload) - ..() - icon_state = pick("ointment","firefirstaid") - -/obj/item/storage/firstaid/fire/PopulateContents() - if(empty) - return - for(var/i in 1 to 3) - new /obj/item/reagent_containers/pill/patch/silver_sulf(src) - new /obj/item/reagent_containers/pill/oxandrolone(src) - new /obj/item/reagent_containers/pill/oxandrolone(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/storage/firstaid/toxin - name = "toxin treatment kit" - desc = "Used to treat toxic blood content and radiation poisoning." - icon_state = "antitoxin" - item_state = "firstaid-toxin" - -/obj/item/storage/firstaid/toxin/Initialize(mapload) - . = ..() - icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") - -/obj/item/storage/firstaid/toxin/PopulateContents() - if(empty) - return - for(var/i in 1 to 4) - new /obj/item/reagent_containers/syringe/charcoal(src) - for(var/i in 1 to 2) - new /obj/item/storage/pill_bottle/charcoal(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/storage/firstaid/o2 - name = "oxygen deprivation treatment kit" - desc = "A box full of oxygen goodies." - icon_state = "o2" - item_state = "firstaid-o2" - -/obj/item/storage/firstaid/o2/PopulateContents() - if(empty) - return - for(var/i in 1 to 4) - new /obj/item/reagent_containers/pill/salbutamol(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/storage/firstaid/brute - name = "brute trauma treatment kit" - desc = "A first aid kit for when you get toolboxed." - icon_state = "brute" - item_state = "firstaid-brute" - -/obj/item/storage/firstaid/brute/PopulateContents() - if(empty) - return - for(var/i in 1 to 4) - new /obj/item/reagent_containers/pill/patch/styptic(src) - new /obj/item/stack/medical/gauze(src) - new /obj/item/stack/medical/gauze(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/storage/firstaid/tactical - name = "combat medical kit" - desc = "I hope you've got insurance." - icon_state = "bezerk" - max_w_class = WEIGHT_CLASS_NORMAL - -/obj/item/storage/firstaid/tactical/PopulateContents() - if(empty) - return - new /obj/item/stack/medical/gauze(src) - new /obj/item/defibrillator/compact/combat/loaded(src) - new /obj/item/reagent_containers/hypospray/combat(src) - new /obj/item/reagent_containers/pill/patch/styptic(src) - new /obj/item/reagent_containers/pill/patch/silver_sulf(src) - new /obj/item/reagent_containers/syringe/lethal/choral(src) - new /obj/item/clothing/glasses/hud/health/night(src) - - -/* - * Pill Bottles - */ -/obj/item/storage/pill_bottle - name = "pill bottle" - desc = "It's an airtight container for storing medication." - icon_state = "pill_canister" - icon = 'icons/obj/chemical.dmi' - item_state = "contsolid" - w_class = WEIGHT_CLASS_SMALL - can_hold = list(/obj/item/reagent_containers/pill, /obj/item/dice) - allow_quick_gather = 1 - use_to_pickup = 1 - -/obj/item/storage/pill_bottle/MouseDrop(obj/over_object) //Quick pillbottle fix. -Agouri - - if(ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ - var/mob/M = usr - if(!istype(over_object, /obj/screen) || !Adjacent(M)) - return ..() - if(!M.incapacitated() && istype(over_object, /obj/screen/inventory/hand)) - var/obj/screen/inventory/hand/H = over_object - if(M.putItemFromInventoryInHandIfPossible(src, H.held_index)) - add_fingerprint(usr) - if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) - if(usr.s_active) - usr.s_active.close(usr) - src.show_to(usr) - -/obj/item/storage/pill_bottle/charcoal - name = "bottle of charcoal pills" - desc = "Contains pills used to counter toxins." - -/obj/item/storage/pill_bottle/charcoal/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/pill/charcoal(src) - -/obj/item/storage/pill_bottle/epinephrine - name = "bottle of epinephrine pills" - desc = "Contains pills used to stabilize patients." - -/obj/item/storage/pill_bottle/epinephrine/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/pill/epinephrine(src) - -/obj/item/storage/pill_bottle/mutadone - name = "bottle of mutadone pills" - desc = "Contains pills used to treat genetic abnormalities." - -/obj/item/storage/pill_bottle/mutadone/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/pill/mutadone(src) - -/obj/item/storage/pill_bottle/mannitol - name = "bottle of mannitol pills" - desc = "Contains pills used to treat brain damage." - -/obj/item/storage/pill_bottle/mannitol/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/pill/mannitol(src) - -/obj/item/storage/pill_bottle/stimulant - name = "bottle of stimulant pills" - desc = "Guaranteed to give you that extra burst of energy during a long shift!" - -/obj/item/storage/pill_bottle/stimulant/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/reagent_containers/pill/stimulant(src) - -/obj/item/storage/pill_bottle/mining - name = "bottle of patches" - desc = "Contains patches used to treat brute and burn damage." - -/obj/item/storage/pill_bottle/mining/PopulateContents() - new /obj/item/reagent_containers/pill/patch/silver_sulf(src) - for(var/i in 1 to 3) - new /obj/item/reagent_containers/pill/patch/styptic(src) +/* First aid storage + * Contains: + * First Aid Kits + * Pill Bottles + * Dice Pack (in a pill bottle) + */ + +/* + * First Aid Kits + */ +/obj/item/storage/firstaid + name = "first-aid kit" + desc = "It's an emergency medical kit for those serious boo-boos." + icon_state = "firstaid" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + throw_speed = 3 + throw_range = 7 + var/empty = 0 + +/obj/item/storage/firstaid/regular + icon_state = "firstaid" + desc = "A first aid kit with the ability to heal common types of injuries." + +/obj/item/storage/firstaid/regular/PopulateContents() + if(empty) + return + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + new /obj/item/device/healthanalyzer(src) + +/obj/item/storage/firstaid/ancient + icon_state = "firstaid" + desc = "A first aid kit with the ability to heal common types of injuries." + + +/obj/item/storage/firstaid/ancient/PopulateContents() + if(empty) + return + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/ointment(src) + +/obj/item/storage/firstaid/fire + name = "burn treatment kit" + desc = "A specialized medical kit for when the toxins lab -spontaneously- burns down." + icon_state = "ointment" + item_state = "firstaid-ointment" + +/obj/item/storage/firstaid/fire/Initialize(mapload) + ..() + icon_state = pick("ointment","firefirstaid") + +/obj/item/storage/firstaid/fire/PopulateContents() + if(empty) + return + for(var/i in 1 to 3) + new /obj/item/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/reagent_containers/pill/oxandrolone(src) + new /obj/item/reagent_containers/pill/oxandrolone(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + new /obj/item/device/healthanalyzer(src) + +/obj/item/storage/firstaid/toxin + name = "toxin treatment kit" + desc = "Used to treat toxic blood content and radiation poisoning." + icon_state = "antitoxin" + item_state = "firstaid-toxin" + +/obj/item/storage/firstaid/toxin/Initialize(mapload) + . = ..() + icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") + +/obj/item/storage/firstaid/toxin/PopulateContents() + if(empty) + return + for(var/i in 1 to 4) + new /obj/item/reagent_containers/syringe/charcoal(src) + for(var/i in 1 to 2) + new /obj/item/storage/pill_bottle/charcoal(src) + new /obj/item/device/healthanalyzer(src) + +/obj/item/storage/firstaid/o2 + name = "oxygen deprivation treatment kit" + desc = "A box full of oxygen goodies." + icon_state = "o2" + item_state = "firstaid-o2" + +/obj/item/storage/firstaid/o2/PopulateContents() + if(empty) + return + for(var/i in 1 to 4) + new /obj/item/reagent_containers/pill/salbutamol(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + new /obj/item/device/healthanalyzer(src) + +/obj/item/storage/firstaid/brute + name = "brute trauma treatment kit" + desc = "A first aid kit for when you get toolboxed." + icon_state = "brute" + item_state = "firstaid-brute" + +/obj/item/storage/firstaid/brute/PopulateContents() + if(empty) + return + for(var/i in 1 to 4) + new /obj/item/reagent_containers/pill/patch/styptic(src) + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/gauze(src) + new /obj/item/device/healthanalyzer(src) + +/obj/item/storage/firstaid/tactical + name = "combat medical kit" + desc = "I hope you've got insurance." + icon_state = "bezerk" + max_w_class = WEIGHT_CLASS_NORMAL + +/obj/item/storage/firstaid/tactical/PopulateContents() + if(empty) + return + new /obj/item/stack/medical/gauze(src) + new /obj/item/defibrillator/compact/combat/loaded(src) + new /obj/item/reagent_containers/hypospray/combat(src) + new /obj/item/reagent_containers/pill/patch/styptic(src) + new /obj/item/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/reagent_containers/syringe/lethal/choral(src) + new /obj/item/clothing/glasses/hud/health/night(src) + + +/* + * Pill Bottles + */ +/obj/item/storage/pill_bottle + name = "pill bottle" + desc = "It's an airtight container for storing medication." + icon_state = "pill_canister" + icon = 'icons/obj/chemical.dmi' + item_state = "contsolid" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + w_class = WEIGHT_CLASS_SMALL + can_hold = list(/obj/item/reagent_containers/pill, /obj/item/dice) + allow_quick_gather = 1 + use_to_pickup = 1 + +/obj/item/storage/pill_bottle/MouseDrop(obj/over_object) //Quick pillbottle fix. -Agouri + + if(ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ + var/mob/M = usr + if(!istype(over_object, /obj/screen) || !Adjacent(M)) + return ..() + if(!M.incapacitated() && istype(over_object, /obj/screen/inventory/hand)) + var/obj/screen/inventory/hand/H = over_object + if(M.putItemFromInventoryInHandIfPossible(src, H.held_index)) + add_fingerprint(usr) + if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) + if(usr.s_active) + usr.s_active.close(usr) + src.show_to(usr) + +/obj/item/storage/pill_bottle/charcoal + name = "bottle of charcoal pills" + desc = "Contains pills used to counter toxins." + +/obj/item/storage/pill_bottle/charcoal/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/charcoal(src) + +/obj/item/storage/pill_bottle/epinephrine + name = "bottle of epinephrine pills" + desc = "Contains pills used to stabilize patients." + +/obj/item/storage/pill_bottle/epinephrine/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/epinephrine(src) + +/obj/item/storage/pill_bottle/mutadone + name = "bottle of mutadone pills" + desc = "Contains pills used to treat genetic abnormalities." + +/obj/item/storage/pill_bottle/mutadone/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/mutadone(src) + +/obj/item/storage/pill_bottle/mannitol + name = "bottle of mannitol pills" + desc = "Contains pills used to treat brain damage." + +/obj/item/storage/pill_bottle/mannitol/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/mannitol(src) + +/obj/item/storage/pill_bottle/stimulant + name = "bottle of stimulant pills" + desc = "Guaranteed to give you that extra burst of energy during a long shift!" + +/obj/item/storage/pill_bottle/stimulant/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/reagent_containers/pill/stimulant(src) + +/obj/item/storage/pill_bottle/mining + name = "bottle of patches" + desc = "Contains patches used to treat brute and burn damage." + +/obj/item/storage/pill_bottle/mining/PopulateContents() + new /obj/item/reagent_containers/pill/patch/silver_sulf(src) + for(var/i in 1 to 3) + new /obj/item/reagent_containers/pill/patch/styptic(src) diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index c2d73ebc13..346e9ba409 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -1,182 +1,182 @@ -/obj/item/storage/lockbox - name = "lockbox" - desc = "A locked box." - icon_state = "lockbox+l" - item_state = "syringe_kit" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - w_class = WEIGHT_CLASS_BULKY - max_w_class = WEIGHT_CLASS_NORMAL - max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. - storage_slots = 4 - req_access = list(ACCESS_ARMORY) - var/locked = TRUE - var/broken = FALSE - var/open = FALSE - var/icon_locked = "lockbox+l" - var/icon_closed = "lockbox" - var/icon_broken = "lockbox+b" - - -/obj/item/storage/lockbox/attackby(obj/item/W, mob/user, params) - if(W.GetID()) - if(broken) - to_chat(user, "It appears to be broken.") - return - if(allowed(user)) - locked = !locked - if(locked) - icon_state = icon_locked - to_chat(user, "You lock the [src.name]!") - close_all() - return - else - icon_state = icon_closed - to_chat(user, "You unlock the [src.name]!") - return - else - to_chat(user, "Access Denied.") - return - if(!locked) - return ..() - else - to_chat(user, "It's locked!") - -/obj/item/storage/lockbox/MouseDrop(over_object, src_location, over_location) - if (locked) - src.add_fingerprint(usr) - to_chat(usr, "It's locked!") - return 0 - ..() - -/obj/item/storage/lockbox/emag_act(mob/user) - if(!broken) - broken = TRUE - locked = FALSE - desc += "It appears to be broken." - icon_state = src.icon_broken - if(user) - visible_message("\The [src] has been broken by [user] with an electromagnetic card!") - return - -/obj/item/storage/lockbox/show_to(mob/user) - if(locked) - to_chat(user, "It's locked!") - else - ..() - return - -//Check the destination item type for contentto. -/obj/item/storage/lockbox/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - if(locked) - to_chat(user, "It's locked!") - return 0 - open = TRUE - return ..() - -/obj/item/storage/lockbox/can_be_inserted(obj/item/W, stop_messages = 0) - if(locked) - return 0 - return ..() - -/obj/item/storage/lockbox/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) - open = TRUE - update_icon() - return ..() -/obj/item/storage/lockbox/remove_from_storage(obj/item/W, atom/new_location, burn = 0) - open = TRUE - update_icon() - return ..() - -/obj/item/storage/lockbox/loyalty - name = "lockbox of mindshield implants" - req_access = list(ACCESS_SECURITY) - -/obj/item/storage/lockbox/loyalty/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/implantcase/mindshield(src) - new /obj/item/implanter/mindshield(src) - - -/obj/item/storage/lockbox/clusterbang - name = "lockbox of clusterbangs" - desc = "You have a bad feeling about opening this." - req_access = list(ACCESS_SECURITY) - -/obj/item/storage/lockbox/clusterbang/PopulateContents() - new /obj/item/grenade/clusterbuster(src) - -/obj/item/storage/lockbox/medal - name = "medal box" - desc = "A locked box used to store medals of honor." - icon_state = "medalbox+l" - item_state = "syringe_kit" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - w_class = WEIGHT_CLASS_NORMAL - max_w_class = WEIGHT_CLASS_SMALL - storage_slots = 10 - max_combined_w_class = 20 - req_access = list(ACCESS_CAPTAIN) - icon_locked = "medalbox+l" - icon_closed = "medalbox" - icon_broken = "medalbox+b" - can_hold = list(/obj/item/clothing/accessory/medal) - -/obj/item/storage/lockbox/medal/AltClick() - if(!locked) - open = (open ? FALSE : TRUE) - update_icon() - ..() - -/obj/item/storage/lockbox/medal/PopulateContents() - new /obj/item/clothing/accessory/medal/gold/captain(src) - new /obj/item/clothing/accessory/medal/silver/valor(src) - new /obj/item/clothing/accessory/medal/silver/valor(src) - new /obj/item/clothing/accessory/medal/silver/security(src) - new /obj/item/clothing/accessory/medal/bronze_heart(src) - new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) - new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) - for(var/i in 1 to 3) - new /obj/item/clothing/accessory/medal/conduct(src) - -/obj/item/storage/lockbox/medal/update_icon() - cut_overlays() - if(locked) - icon_state = "medalbox+l" - open = FALSE - else - icon_state = "medalbox" - if(open) - icon_state += "open" - if(broken) - icon_state += "+b" - if(contents && open) - for (var/i in 1 to contents.len) - var/obj/item/clothing/accessory/medal/M = contents[i] - var/mutable_appearance/medalicon = mutable_appearance(initial(icon), M.medaltype) - if(i > 1 && i <= 5) - medalicon.pixel_x += ((i-1)*3) - else if(i > 5) - medalicon.pixel_y -= 7 - medalicon.pixel_x -= 2 - medalicon.pixel_x += ((i-6)*3) - add_overlay(medalicon) - -/obj/item/storage/lockbox/medal/sec - name = "security medal box" - desc = "A locked box used to store medals to be given to members of the security department." - req_access = list(ACCESS_HOS) - -/obj/item/storage/lockbox/medal/sec/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/clothing/accessory/medal/silver/security(src) - -/obj/item/storage/lockbox/medal/sci - name = "science medal box" - desc = "A locked box used to store medals to be given to members of the science department." - req_access = list(ACCESS_RD) - -/obj/item/storage/lockbox/medal/sci/PopulateContents() - for(var/i in 1 to 3) +/obj/item/storage/lockbox + name = "lockbox" + desc = "A locked box." + icon_state = "lockbox+l" + item_state = "syringe_kit" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + w_class = WEIGHT_CLASS_BULKY + max_w_class = WEIGHT_CLASS_NORMAL + max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. + storage_slots = 4 + req_access = list(ACCESS_ARMORY) + var/locked = TRUE + var/broken = FALSE + var/open = FALSE + var/icon_locked = "lockbox+l" + var/icon_closed = "lockbox" + var/icon_broken = "lockbox+b" + + +/obj/item/storage/lockbox/attackby(obj/item/W, mob/user, params) + if(W.GetID()) + if(broken) + to_chat(user, "It appears to be broken.") + return + if(allowed(user)) + locked = !locked + if(locked) + icon_state = icon_locked + to_chat(user, "You lock the [src.name]!") + close_all() + return + else + icon_state = icon_closed + to_chat(user, "You unlock the [src.name]!") + return + else + to_chat(user, "Access Denied.") + return + if(!locked) + return ..() + else + to_chat(user, "It's locked!") + +/obj/item/storage/lockbox/MouseDrop(over_object, src_location, over_location) + if (locked) + src.add_fingerprint(usr) + to_chat(usr, "It's locked!") + return 0 + ..() + +/obj/item/storage/lockbox/emag_act(mob/user) + if(!broken) + broken = TRUE + locked = FALSE + desc += "It appears to be broken." + icon_state = src.icon_broken + if(user) + visible_message("\The [src] has been broken by [user] with an electromagnetic card!") + return + +/obj/item/storage/lockbox/show_to(mob/user) + if(locked) + to_chat(user, "It's locked!") + else + ..() + return + +//Check the destination item type for contentto. +/obj/item/storage/lockbox/storage_contents_dump_act(obj/item/storage/src_object, mob/user) + if(locked) + to_chat(user, "It's locked!") + return null + open = TRUE + return ..() + +/obj/item/storage/lockbox/can_be_inserted(obj/item/W, stop_messages = 0) + if(locked) + return 0 + return ..() + +/obj/item/storage/lockbox/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) + open = TRUE + update_icon() + return ..() +/obj/item/storage/lockbox/remove_from_storage(obj/item/W, atom/new_location, burn = 0) + open = TRUE + update_icon() + return ..() + +/obj/item/storage/lockbox/loyalty + name = "lockbox of mindshield implants" + req_access = list(ACCESS_SECURITY) + +/obj/item/storage/lockbox/loyalty/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/implantcase/mindshield(src) + new /obj/item/implanter/mindshield(src) + + +/obj/item/storage/lockbox/clusterbang + name = "lockbox of clusterbangs" + desc = "You have a bad feeling about opening this." + req_access = list(ACCESS_SECURITY) + +/obj/item/storage/lockbox/clusterbang/PopulateContents() + new /obj/item/grenade/clusterbuster(src) + +/obj/item/storage/lockbox/medal + name = "medal box" + desc = "A locked box used to store medals of honor." + icon_state = "medalbox+l" + item_state = "syringe_kit" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + w_class = WEIGHT_CLASS_NORMAL + max_w_class = WEIGHT_CLASS_SMALL + storage_slots = 10 + max_combined_w_class = 20 + req_access = list(ACCESS_CAPTAIN) + icon_locked = "medalbox+l" + icon_closed = "medalbox" + icon_broken = "medalbox+b" + can_hold = list(/obj/item/clothing/accessory/medal) + +/obj/item/storage/lockbox/medal/AltClick() + if(!locked) + open = (open ? FALSE : TRUE) + update_icon() + ..() + +/obj/item/storage/lockbox/medal/PopulateContents() + new /obj/item/clothing/accessory/medal/gold/captain(src) + new /obj/item/clothing/accessory/medal/silver/valor(src) + new /obj/item/clothing/accessory/medal/silver/valor(src) + new /obj/item/clothing/accessory/medal/silver/security(src) + new /obj/item/clothing/accessory/medal/bronze_heart(src) + new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) + new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) + for(var/i in 1 to 3) + new /obj/item/clothing/accessory/medal/conduct(src) + +/obj/item/storage/lockbox/medal/update_icon() + cut_overlays() + if(locked) + icon_state = "medalbox+l" + open = FALSE + else + icon_state = "medalbox" + if(open) + icon_state += "open" + if(broken) + icon_state += "+b" + if(contents && open) + for (var/i in 1 to contents.len) + var/obj/item/clothing/accessory/medal/M = contents[i] + var/mutable_appearance/medalicon = mutable_appearance(initial(icon), M.medaltype) + if(i > 1 && i <= 5) + medalicon.pixel_x += ((i-1)*3) + else if(i > 5) + medalicon.pixel_y -= 7 + medalicon.pixel_x -= 2 + medalicon.pixel_x += ((i-6)*3) + add_overlay(medalicon) + +/obj/item/storage/lockbox/medal/sec + name = "security medal box" + desc = "A locked box used to store medals to be given to members of the security department." + req_access = list(ACCESS_HOS) + +/obj/item/storage/lockbox/medal/sec/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/clothing/accessory/medal/silver/security(src) + +/obj/item/storage/lockbox/medal/sci + name = "science medal box" + desc = "A locked box used to store medals to be given to members of the science department." + req_access = list(ACCESS_RD) + +/obj/item/storage/lockbox/medal/sci/PopulateContents() + for(var/i in 1 to 3) new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) \ No newline at end of file diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index c9bbfdd308..6620ec5265 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -1,197 +1,197 @@ -/* - * Absorbs /obj/item/secstorage. - * Reimplements it only slightly to use existing storage functionality. - * - * Contains: - * Secure Briefcase - * Wall Safe - */ - -// ----------------------------- -// Generic Item -// ----------------------------- -/obj/item/storage/secure - name = "secstorage" - var/icon_locking = "secureb" - var/icon_sparking = "securespark" - var/icon_opened = "secure0" - var/locked = TRUE - var/code = "" - var/l_code = null - var/l_set = 0 - var/l_setshort = 0 - var/l_hacking = 0 - var/open = FALSE - w_class = WEIGHT_CLASS_NORMAL - max_w_class = WEIGHT_CLASS_SMALL - max_combined_w_class = 14 - -/obj/item/storage/secure/examine(mob/user) - ..() - to_chat(user, text("The service panel is [src.open ? "open" : "closed"].")) - -/obj/item/storage/secure/attackby(obj/item/W, mob/user, params) - if(locked) - if (istype(W, /obj/item/screwdriver)) - if (do_after(user, 20*W.toolspeed, target = src)) - src.open =! src.open - user.show_message("You [open ? "open" : "close"] the service panel.", 1) - return - if ((istype(W, /obj/item/device/multitool)) && (src.open == 1)&& (!src.l_hacking)) - user.show_message("Now attempting to reset internal memory, please hold.", 1) - src.l_hacking = 1 - if (do_after(usr, 100*W.toolspeed, target = src)) - if (prob(33)) - src.l_setshort = 1 - src.l_set = 0 - user.show_message("Internal memory reset. Please give it a few seconds to reinitialize.", 1) - sleep(80) - src.l_setshort = 0 - src.l_hacking = 0 - else - user.show_message("Unable to reset internal memory.", 1) - src.l_hacking = 0 - else - src.l_hacking = 0 - return - //At this point you have exhausted all the special things to do when locked - // ... but it's still locked. - return - - // -> storage/attackby() what with handle insertion, etc - return ..() - -/obj/item/storage/secure/MouseDrop(over_object, src_location, over_location) - if (locked) - src.add_fingerprint(usr) - to_chat(usr, "It's locked!") - return 0 - ..() - -/obj/item/storage/secure/attack_self(mob/user) - user.set_machine(src) - var/dat = text("[]
\n\nLock Status: []",src, (src.locked ? "LOCKED" : "UNLOCKED")) - var/message = "Code" - if ((src.l_set == 0) && (!src.l_setshort)) - dat += text("

\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.
") - if (src.l_setshort) - dat += text("

\nALERT: MEMORY SYSTEM ERROR - 6040 201") - message = text("[]", src.code) - if (!src.locked) - message = "*****" - dat += text("


\n>[]
\n1-2-3
\n4-5-6
\n7-8-9
\nR-0-E
\n
", message, src, src, src, src, src, src, src, src, src, src, src, src) - user << browse(dat, "window=caselock;size=300x280") - -/obj/item/storage/secure/Topic(href, href_list) - ..() - if ((usr.stat || usr.restrained()) || (get_dist(src, usr) > 1)) - return - if (href_list["type"]) - if (href_list["type"] == "E") - if ((src.l_set == 0) && (length(src.code) == 5) && (!src.l_setshort) && (src.code != "ERROR")) - src.l_code = src.code - src.l_set = 1 - else if ((src.code == src.l_code) && (src.l_set == 1)) - src.locked = FALSE - cut_overlays() - add_overlay(icon_opened) - src.code = null - else - src.code = "ERROR" - else - if ((href_list["type"] == "R") && (!src.l_setshort)) - src.locked = TRUE - cut_overlays() - src.code = null - src.close(usr) - else - src.code += text("[]", sanitize_text(href_list["type"])) - if (length(src.code) > 5) - src.code = "ERROR" - src.add_fingerprint(usr) - for(var/mob/M in viewers(1, src.loc)) - if ((M.client && M.machine == src)) - src.attack_self(M) - return - return - -/obj/item/storage/secure/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - if(locked) - to_chat(user, "It's locked!") - return 0 - return ..() - -/obj/item/storage/secure/can_be_inserted(obj/item/W, stop_messages = 0) - if(locked) - return 0 - return ..() - - -// ----------------------------- -// Secure Briefcase -// ----------------------------- -/obj/item/storage/secure/briefcase - name = "secure briefcase" - icon = 'icons/obj/storage.dmi' - icon_state = "secure" - item_state = "sec-case" - lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi' - desc = "A large briefcase with a digital locking system." - force = 8 - hitsound = "swing_hit" - throw_speed = 2 - throw_range = 4 - w_class = WEIGHT_CLASS_BULKY - max_w_class = WEIGHT_CLASS_NORMAL - max_combined_w_class = 21 - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - -/obj/item/storage/secure/briefcase/PopulateContents() - new /obj/item/paper(src) - new /obj/item/pen(src) - -/obj/item/storage/secure/briefcase/attack_hand(mob/user) - if ((src.loc == user) && (src.locked == 1)) - to_chat(usr, "[src] is locked and cannot be opened!") - add_fingerprint(user) - else - ..() - -//Syndie variant of Secure Briefcase. Contains space cash, slightly more robust. -/obj/item/storage/secure/briefcase/syndie - force = 15 - -/obj/item/storage/secure/briefcase/syndie/PopulateContents() - ..() - for(var/i = 0, i < storage_slots - 2, i++) - new /obj/item/stack/spacecash/c1000(src) - - -// ----------------------------- -// Secure Safe -// ----------------------------- - -/obj/item/storage/secure/safe - name = "secure safe" - icon = 'icons/obj/storage.dmi' - icon_state = "safe" - icon_opened = "safe0" - icon_locking = "safeb" - icon_sparking = "safespark" - force = 8 - w_class = WEIGHT_CLASS_GIGANTIC - max_w_class = 8 - anchored = TRUE - density = FALSE - cant_hold = list(/obj/item/storage/secure/briefcase) - -/obj/item/storage/secure/safe/PopulateContents() - new /obj/item/paper(src) - new /obj/item/pen(src) - -/obj/item/storage/secure/safe/attack_hand(mob/user) - return attack_self(user) - -/obj/item/storage/secure/safe/HoS - name = "head of security's safe" +/* + * Absorbs /obj/item/secstorage. + * Reimplements it only slightly to use existing storage functionality. + * + * Contains: + * Secure Briefcase + * Wall Safe + */ + +// ----------------------------- +// Generic Item +// ----------------------------- +/obj/item/storage/secure + name = "secstorage" + var/icon_locking = "secureb" + var/icon_sparking = "securespark" + var/icon_opened = "secure0" + var/locked = TRUE + var/code = "" + var/l_code = null + var/l_set = 0 + var/l_setshort = 0 + var/l_hacking = 0 + var/open = FALSE + w_class = WEIGHT_CLASS_NORMAL + max_w_class = WEIGHT_CLASS_SMALL + max_combined_w_class = 14 + +/obj/item/storage/secure/examine(mob/user) + ..() + to_chat(user, text("The service panel is [src.open ? "open" : "closed"].")) + +/obj/item/storage/secure/attackby(obj/item/W, mob/user, params) + if(locked) + if (istype(W, /obj/item/screwdriver)) + if (do_after(user, 20*W.toolspeed, target = src)) + src.open =! src.open + user.show_message("You [open ? "open" : "close"] the service panel.", 1) + return + if ((istype(W, /obj/item/device/multitool)) && (src.open == 1)&& (!src.l_hacking)) + user.show_message("Now attempting to reset internal memory, please hold.", 1) + src.l_hacking = 1 + if (do_after(usr, 100*W.toolspeed, target = src)) + if (prob(33)) + src.l_setshort = 1 + src.l_set = 0 + user.show_message("Internal memory reset. Please give it a few seconds to reinitialize.", 1) + sleep(80) + src.l_setshort = 0 + src.l_hacking = 0 + else + user.show_message("Unable to reset internal memory.", 1) + src.l_hacking = 0 + else + src.l_hacking = 0 + return + //At this point you have exhausted all the special things to do when locked + // ... but it's still locked. + return + + // -> storage/attackby() what with handle insertion, etc + return ..() + +/obj/item/storage/secure/MouseDrop(over_object, src_location, over_location) + if (locked) + src.add_fingerprint(usr) + to_chat(usr, "It's locked!") + return 0 + ..() + +/obj/item/storage/secure/attack_self(mob/user) + user.set_machine(src) + var/dat = text("[]
\n\nLock Status: []",src, (src.locked ? "LOCKED" : "UNLOCKED")) + var/message = "Code" + if ((src.l_set == 0) && (!src.l_setshort)) + dat += text("

\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.
") + if (src.l_setshort) + dat += text("

\nALERT: MEMORY SYSTEM ERROR - 6040 201") + message = text("[]", src.code) + if (!src.locked) + message = "*****" + dat += text("


\n>[]
\n1-2-3
\n4-5-6
\n7-8-9
\nR-0-E
\n
", message, src, src, src, src, src, src, src, src, src, src, src, src) + user << browse(dat, "window=caselock;size=300x280") + +/obj/item/storage/secure/Topic(href, href_list) + ..() + if ((usr.stat || usr.restrained()) || (get_dist(src, usr) > 1)) + return + if (href_list["type"]) + if (href_list["type"] == "E") + if ((src.l_set == 0) && (length(src.code) == 5) && (!src.l_setshort) && (src.code != "ERROR")) + src.l_code = src.code + src.l_set = 1 + else if ((src.code == src.l_code) && (src.l_set == 1)) + src.locked = FALSE + cut_overlays() + add_overlay(icon_opened) + src.code = null + else + src.code = "ERROR" + else + if ((href_list["type"] == "R") && (!src.l_setshort)) + src.locked = TRUE + cut_overlays() + src.code = null + src.close(usr) + else + src.code += text("[]", sanitize_text(href_list["type"])) + if (length(src.code) > 5) + src.code = "ERROR" + src.add_fingerprint(usr) + for(var/mob/M in viewers(1, src.loc)) + if ((M.client && M.machine == src)) + src.attack_self(M) + return + return + +/obj/item/storage/secure/storage_contents_dump_act(obj/item/storage/src_object, mob/user) + if(locked) + to_chat(user, "It's locked!") + return null + return ..() + +/obj/item/storage/secure/can_be_inserted(obj/item/W, stop_messages = 0) + if(locked) + return 0 + return ..() + + +// ----------------------------- +// Secure Briefcase +// ----------------------------- +/obj/item/storage/secure/briefcase + name = "secure briefcase" + icon = 'icons/obj/storage.dmi' + icon_state = "secure" + item_state = "sec-case" + lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi' + desc = "A large briefcase with a digital locking system." + force = 8 + hitsound = "swing_hit" + throw_speed = 2 + throw_range = 4 + w_class = WEIGHT_CLASS_BULKY + max_w_class = WEIGHT_CLASS_NORMAL + max_combined_w_class = 21 + attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + +/obj/item/storage/secure/briefcase/PopulateContents() + new /obj/item/paper(src) + new /obj/item/pen(src) + +/obj/item/storage/secure/briefcase/attack_hand(mob/user) + if ((src.loc == user) && (src.locked == 1)) + to_chat(usr, "[src] is locked and cannot be opened!") + add_fingerprint(user) + else + ..() + +//Syndie variant of Secure Briefcase. Contains space cash, slightly more robust. +/obj/item/storage/secure/briefcase/syndie + force = 15 + +/obj/item/storage/secure/briefcase/syndie/PopulateContents() + ..() + for(var/i = 0, i < storage_slots - 2, i++) + new /obj/item/stack/spacecash/c1000(src) + + +// ----------------------------- +// Secure Safe +// ----------------------------- + +/obj/item/storage/secure/safe + name = "secure safe" + icon = 'icons/obj/storage.dmi' + icon_state = "safe" + icon_opened = "safe0" + icon_locking = "safeb" + icon_sparking = "safespark" + force = 8 + w_class = WEIGHT_CLASS_GIGANTIC + max_w_class = 8 + anchored = TRUE + density = FALSE + cant_hold = list(/obj/item/storage/secure/briefcase) + +/obj/item/storage/secure/safe/PopulateContents() + new /obj/item/paper(src) + new /obj/item/pen(src) + +/obj/item/storage/secure/safe/attack_hand(mob/user) + return attack_self(user) + +/obj/item/storage/secure/safe/HoS + name = "head of security's safe" diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index 7f9209857f..5a2b52184a 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -1,571 +1,577 @@ -// External storage-related logic: -// /mob/proc/ClickOn() in /_onclick/click.dm - clicking items in storages -// /mob/living/Move() in /modules/mob/living/living.dm - hiding storage boxes on mob movement -// /item/attackby() in /game/objects/items.dm - use_to_pickup and allow_quick_gather functionality -// -- c0 - - -/obj/item/storage - name = "storage" - icon = 'icons/obj/storage.dmi' - w_class = WEIGHT_CLASS_NORMAL - var/silent = 0 // No message on putting items in - var/list/can_hold = new/list() //Typecache of objects which this item can store (if set, it can't store anything else) - var/list/cant_hold = new/list() //Typecache of objects which this item can't store - var/list/is_seeing = new/list() //List of mobs which are currently seeing the contents of this item's storage - var/max_w_class = WEIGHT_CLASS_SMALL //Max size of objects that this object can store (in effect only if can_hold isn't set) - var/max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. - var/storage_slots = 7 //The number of storage slots in this container. - var/obj/screen/storage/boxes = null - var/obj/screen/close/closer = null - var/use_to_pickup //Set this to make it possible to use this item in an inverse way, so you can have the item in your hand and click items on the floor to pick them up. - var/display_contents_with_number //Set this to make the storage item group contents of the same type and display them as a number. - var/allow_quick_empty //Set this variable to allow the object to have the 'empty' verb, which dumps all the contents on the floor. - var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile. - var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile, 2 = pick all of a type - var/preposition = "in" // You put things 'in' a bag, but trays need 'on'. - var/rustle_jimmies = TRUE //Play the rustle sound on insertion - - -/obj/item/storage/MouseDrop(atom/over_object) - if(ismob(usr)) //all the check for item manipulation are in other places, you can safely open any storages as anything and its not buggy, i checked - var/mob/M = usr - - if(!over_object) - return - - if (istype(usr.loc, /obj/mecha)) // stops inventory actions in a mech - return - - // this must come before the screen objects only block, dunno why it wasn't before - if(over_object == M && M.CanReach(src,view_only = TRUE)) - orient2hud(M) - if(M.s_active) - M.s_active.close(M) - show_to(M) - return - - if(!M.incapacitated()) - if(!istype(over_object, /obj/screen)) - return content_can_dump(over_object, M) - - if(loc != usr || (loc && loc.loc == usr)) - return - - playsound(loc, "rustle", 50, 1, -5) - - if(istype(over_object, /obj/screen/inventory/hand)) - var/obj/screen/inventory/hand/H = over_object - M.putItemFromInventoryInHandIfPossible(src, H.held_index) - - add_fingerprint(usr) - - -/obj/item/storage/MouseDrop_T(atom/movable/O, mob/user) - if(isitem(O)) - var/obj/item/I = O - if(iscarbon(user) || isdrone(user)) - var/mob/living/L = user - if(!L.incapacitated() && I == L.get_active_held_item()) - if(can_be_inserted(I, 0)) - handle_item_insertion(I, 0 , L) - - -//Check if this storage can dump the items -/obj/item/storage/proc/content_can_dump(atom/dest_object, mob/user) - if(Adjacent(user) && dest_object.Adjacent(user)) - if(dest_object.storage_contents_dump_act(src, user)) - playsound(loc, "rustle", 50, 1, -5) - return 1 - return 0 - -//Object behaviour on storage dump -/obj/item/storage/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - var/list/things = src_object.contents.Copy() - var/datum/progressbar/progress = new(user, things.len, src) - while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(src, .proc/handle_mass_item_insertion, things, src_object, user, progress))) - sleep(1) - qdel(progress) - orient2hud(user) - src_object.orient2hud(user) - if(user.s_active) //refresh the HUD to show the transfered contents - user.s_active.close(user) - user.s_active.show_to(user) - return 1 - -/obj/item/storage/proc/handle_mass_item_insertion(list/things, obj/item/storage/src_object, mob/user, datum/progressbar/progress) - for(var/obj/item/I in things) - things -= I - if(I.loc != src_object) - continue - if(user.s_active != src_object) - if(I.on_found(user)) - break - if(can_be_inserted(I,0,user)) - handle_item_insertion(I, TRUE, user) - if (TICK_CHECK) - progress.update(progress.goal - things.len) - return TRUE - - progress.update(progress.goal - things.len) - return FALSE - -/obj/item/storage/proc/return_inv() - var/list/L = list() - L += contents - - for(var/obj/item/storage/S in src) - L += S.return_inv() - return L - - -/obj/item/storage/proc/show_to(mob/user) - if(!user.client) - return - if(user.s_active != src && (user.stat == CONSCIOUS)) - for(var/obj/item/I in src) - if(I.on_found(user)) - return - if(user.s_active) - user.s_active.hide_from(user) - user.client.screen |= boxes - user.client.screen |= closer - user.client.screen |= contents - user.s_active = src - is_seeing |= user - - -/obj/item/storage/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) - close_all() - return ..() - -/obj/item/storage/proc/hide_from(mob/user) - if(!user.client) - return - user.client.screen -= boxes - user.client.screen -= closer - user.client.screen -= contents - if(user.s_active == src) - user.s_active = null - is_seeing -= user - - -/obj/item/storage/proc/can_see_contents() - var/list/cansee = list() - for(var/mob/M in is_seeing) - if(M.s_active == src && M.client) - cansee |= M - else - is_seeing -= M - return cansee - - -/obj/item/storage/proc/close(mob/user) - hide_from(user) - user.s_active = null - - -/obj/item/storage/proc/close_all() - for(var/mob/M in can_see_contents()) - close(M) - . = 1 //returns 1 if any mobs actually got a close(M) call - - -//This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right. -//The numbers are calculated from the bottom-left The bottom-left slot being 1,1. -/obj/item/storage/proc/orient_objs(tx, ty, mx, my) - var/cx = tx - var/cy = ty - boxes.screen_loc = "[tx]:,[ty] to [mx],[my]" - for(var/obj/O in contents) - O.screen_loc = "[cx],[cy]" - O.layer = ABOVE_HUD_LAYER - O.plane = ABOVE_HUD_PLANE - cx++ - if(cx > mx) - cx = tx - cy-- - closer.screen_loc = "[mx+1],[my]" - - -//This proc draws out the inventory and places the items on it. It uses the standard position. -/obj/item/storage/proc/standard_orient_objs(rows, cols, list/obj/item/display_contents) - var/cx = 4 - var/cy = 2+rows - boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16" - - if(display_contents_with_number) - for(var/datum/numbered_display/ND in display_contents) - ND.sample_object.mouse_opacity = MOUSE_OPACITY_OPAQUE - ND.sample_object.screen_loc = "[cx]:16,[cy]:16" - ND.sample_object.maptext = "[(ND.number > 1)? "[ND.number]" : ""]" - ND.sample_object.layer = ABOVE_HUD_LAYER - ND.sample_object.plane = ABOVE_HUD_PLANE - cx++ - if(cx > (4+cols)) - cx = 4 - cy-- - else - for(var/obj/O in contents) - O.mouse_opacity = MOUSE_OPACITY_OPAQUE //This is here so storage items that spawn with contents correctly have the "click around item to equip" - O.screen_loc = "[cx]:16,[cy]:16" - O.maptext = "" - O.layer = ABOVE_HUD_LAYER - O.plane = ABOVE_HUD_PLANE - cx++ - if(cx > (4+cols)) - cx = 4 - cy-- - closer.screen_loc = "[4+cols+1]:16,2:16" - - -/datum/numbered_display - var/obj/item/sample_object - var/number - -/datum/numbered_display/New(obj/item/sample) - if(!istype(sample)) - qdel(src) - sample_object = sample - number = 1 - - -//This proc determines the size of the inventory to be displayed. Please touch it only if you know what you're doing. -/obj/item/storage/proc/orient2hud(mob/user) - var/adjusted_contents = contents.len - - //Numbered contents display - var/list/datum/numbered_display/numbered_contents - if(display_contents_with_number) - numbered_contents = list() - adjusted_contents = 0 - for(var/obj/item/I in contents) - var/found = 0 - for(var/datum/numbered_display/ND in numbered_contents) - if(ND.sample_object.type == I.type) - ND.number++ - found = 1 - break - if(!found) - adjusted_contents++ - numbered_contents.Add( new/datum/numbered_display(I) ) - - //var/mob/living/carbon/human/H = user - var/row_num = 0 - var/col_count = min(7,storage_slots) -1 - if(adjusted_contents > 7) - row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width. - standard_orient_objs(row_num, col_count, numbered_contents) - - -//This proc return 1 if the item can be picked up and 0 if it can't. -//Set the stop_messages to stop it from printing messages -/obj/item/storage/proc/can_be_inserted(obj/item/W, stop_messages = 0, mob/user) - if(!istype(W) || (W.flags_1 & ABSTRACT_1)) - return //Not an item - - if(loc == W) - return 0 //Means the item is already in the storage item - if(contents.len >= storage_slots) - if(!stop_messages) - to_chat(usr, "[src] is full, make some space!") - return 0 //Storage item is full - - if(can_hold.len) - if(!is_type_in_typecache(W, can_hold)) - if(!stop_messages) - to_chat(usr, "[src] cannot hold [W]!") - return 0 - - if(is_type_in_typecache(W, cant_hold)) //Check for specific items which this container can't hold. - if(!stop_messages) - to_chat(usr, "[src] cannot hold [W]!") - return 0 - - if(W.w_class > max_w_class) - if(!stop_messages) - to_chat(usr, "[W] is too big for [src]!") - return 0 - - var/sum_w_class = W.w_class - for(var/obj/item/I in contents) - sum_w_class += I.w_class //Adds up the combined w_classes which will be in the storage item if the item is added to it. - - if(sum_w_class > max_combined_w_class) - if(!stop_messages) - to_chat(usr, "[W] won't fit in [src], make some space!") - return 0 - - if(W.w_class >= w_class && (istype(W, /obj/item/storage))) - if(!istype(src, /obj/item/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm. - if(!stop_messages) - to_chat(usr, "[src] cannot hold [W] as it's a storage item of the same size!") - return 0 //To prevent the stacking of same sized storage items. - - if(W.flags_1 & NODROP_1) //SHOULD be handled in unEquip, but better safe than sorry. - to_chat(usr, "\the [W] is stuck to your hand, you can't put it in \the [src]!") - return 0 - - return 1 - - -//This proc handles items being inserted. It does not perform any checks of whether an item can or can't be inserted. That's done by can_be_inserted() -//The stop_warning parameter will stop the insertion message from being displayed. It is intended for cases where you are inserting multiple items at once, -//such as when picking up all the items on a tile with one click. -/obj/item/storage/proc/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) - if(!istype(W)) - return 0 - if(usr) - if(!usr.transferItemToLoc(W, src)) - return 0 - else - W.forceMove(src) - if(silent) - prevent_warning = 1 - if(W.pulledby) - W.pulledby.stop_pulling() - W.on_enter_storage(src) - if(usr) - if(usr.client && usr.s_active != src) - usr.client.screen -= W - if(usr.observers && usr.observers.len) - for(var/M in usr.observers) - var/mob/dead/observe = M - if(observe.client && observe.s_active != src) - observe.client.screen -= W - - add_fingerprint(usr) - if(rustle_jimmies && !prevent_warning) - playsound(src.loc, "rustle", 50, 1, -5) - - if(!prevent_warning) - for(var/mob/M in viewers(usr, null)) - if(M == usr) - to_chat(usr, "You put [W] [preposition]to [src].") - else if(in_range(M, usr)) //If someone is standing close enough, they can tell what it is... - M.show_message("[usr] puts [W] [preposition]to [src].", 1) - else if(W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance... - M.show_message("[usr] puts [W] [preposition]to [src].", 1) - - orient2hud(usr) - for(var/mob/M in can_see_contents()) - show_to(M) - W.mouse_opacity = MOUSE_OPACITY_OPAQUE //So you can click on the area around the item to equip it, instead of having to pixel hunt - update_icon() - return 1 - - -//Call this proc to handle the removal of an item from the storage item. The item will be moved to the atom sent as new_target -/obj/item/storage/proc/remove_from_storage(obj/item/W, atom/new_location) - if(!istype(W)) - return 0 - - if(istype(src, /obj/item/storage/fancy)) - var/obj/item/storage/fancy/F = src - F.update_icon(1) - - for(var/mob/M in can_see_contents()) - if(M.client) - M.client.screen -= W - - if(ismob(loc)) - var/mob/M = loc - W.dropped(M) - W.layer = initial(W.layer) - W.plane = initial(W.plane) - W.forceMove(new_location) - - for(var/mob/M in can_see_contents()) - orient2hud(M) - show_to(M) - - if(W.maptext) - W.maptext = "" - W.on_exit_storage(src) - update_icon() - W.mouse_opacity = initial(W.mouse_opacity) - return 1 - -/obj/item/storage/deconstruct(disassembled = TRUE) - var/drop_loc = loc - if(ismob(loc)) - drop_loc = get_turf(src) - for(var/obj/item/I in contents) - remove_from_storage(I, drop_loc) - qdel(src) - -//This proc is called when you want to place an item into the storage item. -/obj/item/storage/attackby(obj/item/W, mob/user, params) - ..() - if(istype(W, /obj/item/hand_labeler)) - var/obj/item/hand_labeler/labeler = W - if(labeler.mode) - return 0 - . = 1 //no afterattack - if(iscyborg(user)) - return //Robots can't interact with storage items. - - if(!can_be_inserted(W, 0 , user)) - if(contents.len >= storage_slots) //don't use items on the backpack if they don't fit - return 1 - return 0 - - handle_item_insertion(W, 0 , user) - - -/obj/item/storage/attack_hand(mob/user) - if(user.s_active == src && loc == user) //if you're already looking inside the storage item - user.s_active.close(user) - close(user) - return - - if(rustle_jimmies) - playsound(loc, "rustle", 50, 1, -5) - - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(H.l_store == src && !H.get_active_held_item()) //Prevents opening if it's in a pocket. - H.put_in_hands(src) - H.l_store = null - return - if(H.r_store == src && !H.get_active_held_item()) - H.put_in_hands(src) - H.r_store = null - return - - orient2hud(user) - if(loc == user) - if(user.s_active) - user.s_active.close(user) - show_to(user) - else - ..() - for(var/mob/M in range(1)) - if(M.s_active == src) - close(M) - add_fingerprint(user) - -/obj/item/storage/attack_paw(mob/user) - return attack_hand(user) - -/obj/item/storage/verb/toggle_gathering_mode() - set name = "Switch Gathering Method" - set category = "Object" - - if(usr.stat || !usr.canmove || usr.restrained()) - return - - collection_mode = (collection_mode+1)%3 - switch (collection_mode) - if(2) - to_chat(usr, "[src] now picks up all items of a single type at once.") - if(1) - to_chat(usr, "[src] now picks up all items in a tile at once.") - if(0) - to_chat(usr, "[src] now picks up one item at a time.") - -// Empty all the contents onto the current turf -/obj/item/storage/verb/quick_empty() - set name = "Empty Contents" - set category = "Object" - - if((!ishuman(usr) && (loc != usr)) || usr.stat || usr.restrained() ||!usr.canmove) - return - var/turf/T = get_turf(src) - var/list/things = contents.Copy() - var/datum/progressbar/progress = new(usr, things.len, T) - while (do_after(usr, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress))) - sleep(1) - qdel(progress) - -/obj/item/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress) - for(var/obj/item/I in things) - things -= I - if (I.loc != src) - continue - remove_from_storage(I, target) - if (TICK_CHECK) - progress.update(progress.goal - things.len) - return TRUE - - progress.update(progress.goal - things.len) - return FALSE - -// Empty all the contents onto the current turf, without checking the user's status. -/obj/item/storage/proc/do_quick_empty() - var/turf/T = get_turf(src) - if(usr) - hide_from(usr) - for(var/obj/item/I in contents) - remove_from_storage(I, T) - - -/obj/item/storage/Initialize(mapload) - . = ..() - - can_hold = typecacheof(can_hold) - cant_hold = typecacheof(cant_hold) - - if(allow_quick_empty) - verbs += /obj/item/storage/verb/quick_empty - else - verbs -= /obj/item/storage/verb/quick_empty - - if(allow_quick_gather) - verbs += /obj/item/storage/verb/toggle_gathering_mode - else - verbs -= /obj/item/storage/verb/toggle_gathering_mode - - boxes = new /obj/screen/storage() - boxes.name = "storage" - boxes.master = src - boxes.icon_state = "block" - boxes.screen_loc = "7,7 to 10,8" - boxes.layer = HUD_LAYER - boxes.plane = HUD_PLANE - closer = new /obj/screen/close() - closer.master = src - closer.icon_state = "backpack_close" - closer.layer = ABOVE_HUD_LAYER - closer.plane = ABOVE_HUD_PLANE - orient2hud() - - PopulateContents() - - -/obj/item/storage/Destroy() - for(var/obj/O in contents) - O.mouse_opacity = initial(O.mouse_opacity) - - close_all() - qdel(boxes) - qdel(closer) - return ..() - - -/obj/item/storage/emp_act(severity) - if(!isliving(loc)) - for(var/obj/O in contents) - O.emp_act(severity) - ..() - - -/obj/item/storage/attack_self(mob/user) - //Clicking on itself will empty it, if it has the verb to do that. - if(user.get_active_held_item() == src) - if(verbs.Find(/obj/item/storage/verb/quick_empty)) - quick_empty() - -/obj/item/storage/handle_atom_del(atom/A) - if(A in contents) - usr = null - remove_from_storage(A, null) - -/obj/item/storage/contents_explosion(severity, target) - for(var/atom/A in contents) - A.ex_act(severity, target) - CHECK_TICK - -//Cyberboss says: "USE THIS TO FILL IT, NOT INITIALIZE OR NEW" - -/obj/item/storage/proc/PopulateContents() +// External storage-related logic: +// /mob/proc/ClickOn() in /_onclick/click.dm - clicking items in storages +// /mob/living/Move() in /modules/mob/living/living.dm - hiding storage boxes on mob movement +// /item/attackby() in /game/objects/items.dm - use_to_pickup and allow_quick_gather functionality +// -- c0 + + +/obj/item/storage + name = "storage" + icon = 'icons/obj/storage.dmi' + w_class = WEIGHT_CLASS_NORMAL + var/silent = 0 // No message on putting items in + var/list/can_hold = new/list() //Typecache of objects which this item can store (if set, it can't store anything else) + var/list/cant_hold = new/list() //Typecache of objects which this item can't store + var/list/is_seeing = new/list() //List of mobs which are currently seeing the contents of this item's storage + var/max_w_class = WEIGHT_CLASS_SMALL //Max size of objects that this object can store (in effect only if can_hold isn't set) + var/max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. + var/storage_slots = 7 //The number of storage slots in this container. + var/obj/screen/storage/boxes = null + var/obj/screen/close/closer = null + var/use_to_pickup //Set this to make it possible to use this item in an inverse way, so you can have the item in your hand and click items on the floor to pick them up. + var/display_contents_with_number //Set this to make the storage item group contents of the same type and display them as a number. + var/allow_quick_empty //Set this variable to allow the object to have the 'empty' verb, which dumps all the contents on the floor. + var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile. + var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile, 2 = pick all of a type + var/preposition = "in" // You put things 'in' a bag, but trays need 'on'. + var/rustle_jimmies = TRUE //Play the rustle sound on insertion + + +/obj/item/storage/MouseDrop(atom/over_object) + if(ismob(usr)) //all the check for item manipulation are in other places, you can safely open any storages as anything and its not buggy, i checked + var/mob/M = usr + + if(!over_object) + return + + if (istype(usr.loc, /obj/mecha)) // stops inventory actions in a mech + return + + // this must come before the screen objects only block, dunno why it wasn't before + if(over_object == M && M.CanReach(src,view_only = TRUE)) + orient2hud(M) + if(M.s_active) + M.s_active.close(M) + show_to(M) + return + + if(!M.incapacitated()) + if(!istype(over_object, /obj/screen)) + return dump_content_at(over_object, M) + + if(loc != usr || (loc && loc.loc == usr)) + return + + playsound(loc, "rustle", 50, 1, -5) + + if(istype(over_object, /obj/screen/inventory/hand)) + var/obj/screen/inventory/hand/H = over_object + M.putItemFromInventoryInHandIfPossible(src, H.held_index) + + add_fingerprint(usr) + + +/obj/item/storage/MouseDrop_T(atom/movable/O, mob/user) + if(isitem(O)) + var/obj/item/I = O + if(iscarbon(user) || isdrone(user)) + var/mob/living/L = user + if(!L.incapacitated() && I == L.get_active_held_item()) + if(can_be_inserted(I, 0)) + handle_item_insertion(I, 0 , L) + + +/obj/item/storage/get_dumping_location(obj/item/storage/source,mob/user) + return src + +//Tries to dump content +/obj/item/storage/proc/dump_content_at(atom/dest_object, mob/user) + var/atom/dump_destination = dest_object.get_dumping_location() + if(Adjacent(user) && dump_destination && user.Adjacent(dump_destination)) + if(dump_destination.storage_contents_dump_act(src, user)) + playsound(loc, "rustle", 50, 1, -5) + return 1 + return 0 + +//Object behaviour on storage dump +/obj/item/storage/storage_contents_dump_act(obj/item/storage/src_object, mob/user) + var/list/things = src_object.contents.Copy() + var/datum/progressbar/progress = new(user, things.len, src) + while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(src, .proc/handle_mass_item_insertion, things, src_object, user, progress))) + sleep(1) + qdel(progress) + orient2hud(user) + src_object.orient2hud(user) + if(user.s_active) //refresh the HUD to show the transfered contents + user.s_active.close(user) + user.s_active.show_to(user) + return 1 + +/obj/item/storage/proc/handle_mass_item_insertion(list/things, obj/item/storage/src_object, mob/user, datum/progressbar/progress) + for(var/obj/item/I in things) + things -= I + if(I.loc != src_object) + continue + if(user.s_active != src_object) + if(I.on_found(user)) + break + if(can_be_inserted(I,0,user)) + handle_item_insertion(I, TRUE, user) + if (TICK_CHECK) + progress.update(progress.goal - things.len) + return TRUE + + progress.update(progress.goal - things.len) + return FALSE + +/obj/item/storage/proc/return_inv() + var/list/L = list() + L += contents + + for(var/obj/item/storage/S in src) + L += S.return_inv() + return L + + +/obj/item/storage/proc/show_to(mob/user) + if(!user.client) + return + if(user.s_active != src && (user.stat == CONSCIOUS)) + for(var/obj/item/I in src) + if(I.on_found(user)) + return + if(user.s_active) + user.s_active.hide_from(user) + user.client.screen |= boxes + user.client.screen |= closer + user.client.screen |= contents + user.s_active = src + is_seeing |= user + + +/obj/item/storage/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) + close_all() + return ..() + +/obj/item/storage/proc/hide_from(mob/user) + if(!user.client) + return + user.client.screen -= boxes + user.client.screen -= closer + user.client.screen -= contents + if(user.s_active == src) + user.s_active = null + is_seeing -= user + + +/obj/item/storage/proc/can_see_contents() + var/list/cansee = list() + for(var/mob/M in is_seeing) + if(M.s_active == src && M.client) + cansee |= M + else + is_seeing -= M + return cansee + + +/obj/item/storage/proc/close(mob/user) + hide_from(user) + user.s_active = null + + +/obj/item/storage/proc/close_all() + for(var/mob/M in can_see_contents()) + close(M) + . = 1 //returns 1 if any mobs actually got a close(M) call + + +//This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right. +//The numbers are calculated from the bottom-left The bottom-left slot being 1,1. +/obj/item/storage/proc/orient_objs(tx, ty, mx, my) + var/cx = tx + var/cy = ty + boxes.screen_loc = "[tx]:,[ty] to [mx],[my]" + for(var/obj/O in contents) + O.screen_loc = "[cx],[cy]" + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE + cx++ + if(cx > mx) + cx = tx + cy-- + closer.screen_loc = "[mx+1],[my]" + + +//This proc draws out the inventory and places the items on it. It uses the standard position. +/obj/item/storage/proc/standard_orient_objs(rows, cols, list/obj/item/display_contents) + var/cx = 4 + var/cy = 2+rows + boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16" + + if(display_contents_with_number) + for(var/datum/numbered_display/ND in display_contents) + ND.sample_object.mouse_opacity = MOUSE_OPACITY_OPAQUE + ND.sample_object.screen_loc = "[cx]:16,[cy]:16" + ND.sample_object.maptext = "[(ND.number > 1)? "[ND.number]" : ""]" + ND.sample_object.layer = ABOVE_HUD_LAYER + ND.sample_object.plane = ABOVE_HUD_PLANE + cx++ + if(cx > (4+cols)) + cx = 4 + cy-- + else + for(var/obj/O in contents) + O.mouse_opacity = MOUSE_OPACITY_OPAQUE //This is here so storage items that spawn with contents correctly have the "click around item to equip" + O.screen_loc = "[cx]:16,[cy]:16" + O.maptext = "" + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE + cx++ + if(cx > (4+cols)) + cx = 4 + cy-- + closer.screen_loc = "[4+cols+1]:16,2:16" + + +/datum/numbered_display + var/obj/item/sample_object + var/number + +/datum/numbered_display/New(obj/item/sample) + if(!istype(sample)) + qdel(src) + sample_object = sample + number = 1 + + +//This proc determines the size of the inventory to be displayed. Please touch it only if you know what you're doing. +/obj/item/storage/proc/orient2hud(mob/user) + var/adjusted_contents = contents.len + + //Numbered contents display + var/list/datum/numbered_display/numbered_contents + if(display_contents_with_number) + numbered_contents = list() + adjusted_contents = 0 + for(var/obj/item/I in contents) + var/found = 0 + for(var/datum/numbered_display/ND in numbered_contents) + if(ND.sample_object.type == I.type) + ND.number++ + found = 1 + break + if(!found) + adjusted_contents++ + numbered_contents.Add( new/datum/numbered_display(I) ) + + //var/mob/living/carbon/human/H = user + var/row_num = 0 + var/col_count = min(7,storage_slots) -1 + if(adjusted_contents > 7) + row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width. + standard_orient_objs(row_num, col_count, numbered_contents) + + +//This proc return 1 if the item can be picked up and 0 if it can't. +//Set the stop_messages to stop it from printing messages +/obj/item/storage/proc/can_be_inserted(obj/item/W, stop_messages = 0, mob/user) + if(!istype(W) || (W.flags_1 & ABSTRACT_1)) + return //Not an item + + if(loc == W) + return 0 //Means the item is already in the storage item + if(contents.len >= storage_slots) + if(!stop_messages) + to_chat(usr, "[src] is full, make some space!") + return 0 //Storage item is full + + if(can_hold.len) + if(!is_type_in_typecache(W, can_hold)) + if(!stop_messages) + to_chat(usr, "[src] cannot hold [W]!") + return 0 + + if(is_type_in_typecache(W, cant_hold)) //Check for specific items which this container can't hold. + if(!stop_messages) + to_chat(usr, "[src] cannot hold [W]!") + return 0 + + if(W.w_class > max_w_class) + if(!stop_messages) + to_chat(usr, "[W] is too big for [src]!") + return 0 + + var/sum_w_class = W.w_class + for(var/obj/item/I in contents) + sum_w_class += I.w_class //Adds up the combined w_classes which will be in the storage item if the item is added to it. + + if(sum_w_class > max_combined_w_class) + if(!stop_messages) + to_chat(usr, "[W] won't fit in [src], make some space!") + return 0 + + if(W.w_class >= w_class && (istype(W, /obj/item/storage))) + if(!istype(src, /obj/item/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm. + if(!stop_messages) + to_chat(usr, "[src] cannot hold [W] as it's a storage item of the same size!") + return 0 //To prevent the stacking of same sized storage items. + + if(W.flags_1 & NODROP_1) //SHOULD be handled in unEquip, but better safe than sorry. + to_chat(usr, "\the [W] is stuck to your hand, you can't put it in \the [src]!") + return 0 + + return 1 + + +//This proc handles items being inserted. It does not perform any checks of whether an item can or can't be inserted. That's done by can_be_inserted() +//The stop_warning parameter will stop the insertion message from being displayed. It is intended for cases where you are inserting multiple items at once, +//such as when picking up all the items on a tile with one click. +/obj/item/storage/proc/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) + if(!istype(W)) + return 0 + if(usr) + if(!usr.transferItemToLoc(W, src)) + return 0 + else + W.forceMove(src) + if(silent) + prevent_warning = 1 + if(W.pulledby) + W.pulledby.stop_pulling() + W.on_enter_storage(src) + if(usr) + if(usr.client && usr.s_active != src) + usr.client.screen -= W + if(usr.observers && usr.observers.len) + for(var/M in usr.observers) + var/mob/dead/observe = M + if(observe.client && observe.s_active != src) + observe.client.screen -= W + + add_fingerprint(usr) + if(rustle_jimmies && !prevent_warning) + playsound(src.loc, "rustle", 50, 1, -5) + + if(!prevent_warning) + for(var/mob/M in viewers(usr, null)) + if(M == usr) + to_chat(usr, "You put [W] [preposition]to [src].") + else if(in_range(M, usr)) //If someone is standing close enough, they can tell what it is... + M.show_message("[usr] puts [W] [preposition]to [src].", 1) + else if(W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance... + M.show_message("[usr] puts [W] [preposition]to [src].", 1) + + orient2hud(usr) + for(var/mob/M in can_see_contents()) + show_to(M) + W.mouse_opacity = MOUSE_OPACITY_OPAQUE //So you can click on the area around the item to equip it, instead of having to pixel hunt + update_icon() + return 1 + + +//Call this proc to handle the removal of an item from the storage item. The item will be moved to the atom sent as new_target +/obj/item/storage/proc/remove_from_storage(obj/item/W, atom/new_location) + if(!istype(W)) + return 0 + + if(istype(src, /obj/item/storage/fancy)) + var/obj/item/storage/fancy/F = src + F.update_icon(1) + + for(var/mob/M in can_see_contents()) + if(M.client) + M.client.screen -= W + + if(ismob(loc)) + var/mob/M = loc + W.dropped(M) + W.layer = initial(W.layer) + W.plane = initial(W.plane) + W.forceMove(new_location) + + for(var/mob/M in can_see_contents()) + orient2hud(M) + show_to(M) + + if(W.maptext) + W.maptext = "" + W.on_exit_storage(src) + update_icon() + W.mouse_opacity = initial(W.mouse_opacity) + return 1 + +/obj/item/storage/deconstruct(disassembled = TRUE) + var/drop_loc = loc + if(ismob(loc)) + drop_loc = get_turf(src) + for(var/obj/item/I in contents) + remove_from_storage(I, drop_loc) + qdel(src) + +//This proc is called when you want to place an item into the storage item. +/obj/item/storage/attackby(obj/item/W, mob/user, params) + ..() + if(istype(W, /obj/item/hand_labeler)) + var/obj/item/hand_labeler/labeler = W + if(labeler.mode) + return 0 + . = 1 //no afterattack + if(iscyborg(user)) + return //Robots can't interact with storage items. + + if(!can_be_inserted(W, 0 , user)) + if(contents.len >= storage_slots) //don't use items on the backpack if they don't fit + return 1 + return 0 + + handle_item_insertion(W, 0 , user) + +/obj/item/storage/AllowDrop() + return TRUE + +/obj/item/storage/attack_hand(mob/user) + if(user.s_active == src && loc == user) //if you're already looking inside the storage item + user.s_active.close(user) + close(user) + return + + if(rustle_jimmies) + playsound(loc, "rustle", 50, 1, -5) + + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.l_store == src && !H.get_active_held_item()) //Prevents opening if it's in a pocket. + H.put_in_hands(src) + H.l_store = null + return + if(H.r_store == src && !H.get_active_held_item()) + H.put_in_hands(src) + H.r_store = null + return + + orient2hud(user) + if(loc == user) + if(user.s_active) + user.s_active.close(user) + show_to(user) + else + ..() + for(var/mob/M in range(1)) + if(M.s_active == src) + close(M) + add_fingerprint(user) + +/obj/item/storage/attack_paw(mob/user) + return attack_hand(user) + +/obj/item/storage/verb/toggle_gathering_mode() + set name = "Switch Gathering Method" + set category = "Object" + + if(usr.stat || !usr.canmove || usr.restrained()) + return + + collection_mode = (collection_mode+1)%3 + switch (collection_mode) + if(2) + to_chat(usr, "[src] now picks up all items of a single type at once.") + if(1) + to_chat(usr, "[src] now picks up all items in a tile at once.") + if(0) + to_chat(usr, "[src] now picks up one item at a time.") + +// Empty all the contents onto the current turf +/obj/item/storage/verb/quick_empty() + set name = "Empty Contents" + set category = "Object" + + if((!ishuman(usr) && (loc != usr)) || usr.stat || usr.restrained() ||!usr.canmove) + return + var/turf/T = get_turf(src) + var/list/things = contents.Copy() + var/datum/progressbar/progress = new(usr, things.len, T) + while (do_after(usr, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress))) + sleep(1) + qdel(progress) + +/obj/item/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress) + for(var/obj/item/I in things) + things -= I + if (I.loc != src) + continue + remove_from_storage(I, target) + if (TICK_CHECK) + progress.update(progress.goal - things.len) + return TRUE + + progress.update(progress.goal - things.len) + return FALSE + +// Empty all the contents onto the current turf, without checking the user's status. +/obj/item/storage/proc/do_quick_empty() + var/turf/T = get_turf(src) + if(usr) + hide_from(usr) + for(var/obj/item/I in contents) + remove_from_storage(I, T) + + +/obj/item/storage/Initialize(mapload) + . = ..() + + can_hold = typecacheof(can_hold) + cant_hold = typecacheof(cant_hold) + + if(allow_quick_empty) + verbs += /obj/item/storage/verb/quick_empty + else + verbs -= /obj/item/storage/verb/quick_empty + + if(allow_quick_gather) + verbs += /obj/item/storage/verb/toggle_gathering_mode + else + verbs -= /obj/item/storage/verb/toggle_gathering_mode + + boxes = new /obj/screen/storage() + boxes.name = "storage" + boxes.master = src + boxes.icon_state = "block" + boxes.screen_loc = "7,7 to 10,8" + boxes.layer = HUD_LAYER + boxes.plane = HUD_PLANE + closer = new /obj/screen/close() + closer.master = src + closer.icon_state = "backpack_close" + closer.layer = ABOVE_HUD_LAYER + closer.plane = ABOVE_HUD_PLANE + orient2hud() + + PopulateContents() + + +/obj/item/storage/Destroy() + for(var/obj/O in contents) + O.mouse_opacity = initial(O.mouse_opacity) + + close_all() + qdel(boxes) + qdel(closer) + return ..() + + +/obj/item/storage/emp_act(severity) + if(!isliving(loc)) + for(var/obj/O in contents) + O.emp_act(severity) + ..() + + +/obj/item/storage/attack_self(mob/user) + //Clicking on itself will empty it, if it has the verb to do that. + if(user.get_active_held_item() == src) + if(verbs.Find(/obj/item/storage/verb/quick_empty)) + quick_empty() + +/obj/item/storage/handle_atom_del(atom/A) + if(A in contents) + usr = null + remove_from_storage(A, null) + +/obj/item/storage/contents_explosion(severity, target) + for(var/atom/A in contents) + A.ex_act(severity, target) + CHECK_TICK + +//Cyberboss says: "USE THIS TO FILL IT, NOT INITIALIZE OR NEW" + +/obj/item/storage/proc/PopulateContents() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 648047ab62..87ff199dfe 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -40,6 +40,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "waterballoon-e" item_state = "balloon-empty" + /obj/item/toy/balloon/New() create_reagents(10) @@ -278,6 +279,8 @@ icon = 'icons/obj/toy.dmi' icon_state = "foamblade" item_state = "arm_blade" + lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' + righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' attack_verb = list("pricked", "absorbed", "gored") w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE @@ -288,6 +291,8 @@ desc = "A replica toolbox that rumbles when you turn the key" icon_state = "his_grace" item_state = "artistic_toolbox" + lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' var/active = FALSE icon = 'icons/obj/items_and_weapons.dmi' attack_verb = list("robusted") @@ -547,6 +552,8 @@ desc = "A tool to help you write fictional devils!" icon = 'icons/obj/library.dmi' icon_state = "demonomicon" + lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' w_class = WEIGHT_CLASS_SMALL recharge_time = 60 diff --git a/code/game/objects/items/toys.dm.rej b/code/game/objects/items/toys.dm.rej deleted file mode 100644 index 2885a32a69..0000000000 --- a/code/game/objects/items/toys.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm (rejected hunks) -@@ -244,8 +244,8 @@ - // Copied from /obj/item/melee/transforming/energy/sword/attackby - /obj/item/toy/sword/attackby(obj/item/W, mob/living/user, params) - if(istype(W, /obj/item/toy/sword)) -- if((W.flags & NODROP) || (flags & NODROP)) -- to_chat(user, "\the [flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [flags & NODROP ? W : src]!") -+ if((W.flags_1 & NODROP_1) || (flags_1 & NODROP_1)) -+ to_chat(user, "\the [flags_1 & NODROP_1 ? src : W] is stuck to your hand, you can't attach it to \the [flags_1 & NODROP_1 ? W : src]!") - return - else - to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.") diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index e44a1b89f9..13acf7e990 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -18,8 +18,11 @@ return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS) /obj/item/banhammer/attack(mob/M, mob/user) - to_chat(M, " You have been banned FOR NO REISIN by [user]") - to_chat(user, "You have BANNED [M]") + if(user.zone_selected == "head") + M.visible_message("[user] are stroking the head of [M] with a bangammer", "[user] are stroking the head with a bangammer", "you hear a bangammer stroking a head"); + + else + M.visible_message("[M] has been banned FOR NO REISIN by [user]", "You have been banned FOR NO REISIN by [user]", "you hear a banhammer banning someone") playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much /obj/item/sord @@ -586,4 +589,4 @@ /obj/item/proc/can_trigger_gun(mob/living/user) if(!user.can_use_guns(src)) return FALSE - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 8fbb03797f..1f3668f283 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -1,228 +1,230 @@ -/obj - var/crit_fail = FALSE - animate_movement = 2 - var/throwforce = 0 - var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING! - - var/damtype = BRUTE - var/force = 0 - - var/list/armor +/obj + var/crit_fail = FALSE + animate_movement = 2 + var/throwforce = 0 + var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING! + + var/damtype = BRUTE + var/force = 0 + + var/list/armor var/obj_integrity //defaults to max_integrity - var/max_integrity = 500 - var/integrity_failure = 0 //0 if we have no special broken behavior - - var/resistance_flags = 0 // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF - - var/acid_level = 0 //how much acid is on that obj - - var/being_shocked = FALSE - - var/on_blueprints = FALSE //Are we visible on the station blueprints at roundstart? - var/force_blueprints = FALSE //forces the obj to be on the blueprints, regardless of when it was created. - - var/persistence_replacement //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset. - var/unique_rename = FALSE // can you customize the description/name of the thing? - var/current_skin //Has the item been reskinned? - var/list/unique_reskin //List of options to reskin. - var/dangerous_possession = FALSE //Admin possession yes/no - -/obj/vv_edit_var(vname, vval) - switch(vname) - if("dangerous_possession") - return FALSE - if("control_object") - var/obj/O = vval - if(istype(O) && O.dangerous_possession) - return FALSE - ..() - -/obj/Initialize() - . = ..() - if (!armor) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + var/max_integrity = 500 + var/integrity_failure = 0 //0 if we have no special broken behavior + + var/resistance_flags = 0 // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF + + var/acid_level = 0 //how much acid is on that obj + + var/being_shocked = FALSE + + var/on_blueprints = FALSE //Are we visible on the station blueprints at roundstart? + var/force_blueprints = FALSE //forces the obj to be on the blueprints, regardless of when it was created. + + var/persistence_replacement //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset. + var/unique_rename = FALSE // can you customize the description/name of the thing? + var/current_skin //Has the item been reskinned? + var/list/unique_reskin //List of options to reskin. + var/dangerous_possession = FALSE //Admin possession yes/no + +/obj/vv_edit_var(vname, vval) + switch(vname) + if("dangerous_possession") + return FALSE + if("control_object") + var/obj/O = vval + if(istype(O) && O.dangerous_possession) + return FALSE + ..() + +/obj/Initialize() + . = ..() + if (!armor) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) if(obj_integrity == null) obj_integrity = max_integrity - if(on_blueprints && isturf(loc)) - var/turf/T = loc - if(force_blueprints) - T.add_blueprints(src) - else - T.add_blueprints_preround(src) - -/obj/Destroy(force=FALSE) - if(!istype(src, /obj/machinery)) - STOP_PROCESSING(SSobj, src) // TODO: Have a processing bitflag to reduce on unnecessary loops through the processing lists - SStgui.close_uis(src) - . = ..() - -/obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) - ..() + if(on_blueprints && isturf(loc)) + var/turf/T = loc + if(force_blueprints) + T.add_blueprints(src) + else + T.add_blueprints_preround(src) + +/obj/Destroy(force=FALSE) + if(!istype(src, /obj/machinery)) + STOP_PROCESSING(SSobj, src) // TODO: Have a processing bitflag to reduce on unnecessary loops through the processing lists + SStgui.close_uis(src) + . = ..() + +/obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) + ..() if(flags_2 & FROZEN_2) - visible_message("[src] shatters into a million pieces!") - qdel(src) - -/obj/assume_air(datum/gas_mixture/giver) - if(loc) - return loc.assume_air(giver) - else - return null - -/obj/remove_air(amount) - if(loc) - return loc.remove_air(amount) - else - return null - -/obj/return_air() - if(loc) - return loc.return_air() - else - return null - -/obj/proc/handle_internal_lifeform(mob/lifeform_inside_me, breath_request) - //Return: (NONSTANDARD) - // null if object handles breathing logic for lifeform - // datum/air_group to tell lifeform to process using that breath return - //DEFAULT: Take air from turf to give to have mob process - - if(breath_request>0) - var/datum/gas_mixture/environment = return_air() - var/breath_percentage = BREATH_VOLUME / environment.return_volume() - return remove_air(environment.total_moles() * breath_percentage) - else - return null - -/obj/proc/updateUsrDialog() - if(in_use) - var/is_in_use = 0 - var/list/nearby = viewers(1, src) - for(var/mob/M in nearby) - if ((M.client && M.machine == src)) - is_in_use = 1 - src.attack_hand(M) - if(isAI(usr) || iscyborg(usr) || IsAdminGhost(usr)) - if (!(usr in nearby)) - if (usr.client && usr.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh. - is_in_use = 1 - src.attack_ai(usr) - - // check for TK users - - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr - if(!(usr in nearby)) - if(usr.client && usr.machine==src) - if(H.dna.check_mutation(TK)) - is_in_use = 1 - src.attack_hand(usr) - in_use = is_in_use - -/obj/proc/updateDialog() - // Check that people are actually using the machine. If not, don't update anymore. - if(in_use) - var/list/nearby = viewers(1, src) - var/is_in_use = 0 - for(var/mob/M in nearby) - if ((M.client && M.machine == src)) - is_in_use = 1 - src.interact(M) - var/ai_in_use = AutoUpdateAI(src) - - if(!ai_in_use && !is_in_use) - in_use = 0 - - -/obj/attack_ghost(mob/user) - if(ui_interact(user) != -1) - return - ..() - -/obj/proc/container_resist(mob/living/user) - return - -/obj/proc/update_icon() - return - -/mob/proc/unset_machine() - if(machine) - machine.on_unset_machine(src) - machine = null - -//called when the user unsets the machine. -/atom/movable/proc/on_unset_machine(mob/user) - return - -/mob/proc/set_machine(obj/O) - if(src.machine) - unset_machine() - src.machine = O - if(istype(O)) - O.in_use = 1 - -/obj/item/proc/updateSelfDialog() - var/mob/M = src.loc - if(istype(M) && M.client && M.machine == src) - src.attack_self(M) - -/obj/proc/hide(h) - return - -/obj/singularity_pull(S, current_size) - if(!anchored || current_size >= STAGE_FIVE) - step_towards(src,S) - -/obj/get_spans() - return ..() | SPAN_ROBOT - -/obj/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - var/turf/T = get_turf(src) - return T.storage_contents_dump_act(src_object, user) - -/obj/proc/CanAStarPass() - . = !density - -/obj/proc/check_uplink_validity() - return 1 - -/obj/proc/on_mob_move(dir, mob, oldLoc) - return - -/obj/proc/on_mob_turn(dir, mob) - return - + visible_message("[src] shatters into a million pieces!") + qdel(src) + +/obj/assume_air(datum/gas_mixture/giver) + if(loc) + return loc.assume_air(giver) + else + return null + +/obj/remove_air(amount) + if(loc) + return loc.remove_air(amount) + else + return null + +/obj/return_air() + if(loc) + return loc.return_air() + else + return null + +/obj/proc/handle_internal_lifeform(mob/lifeform_inside_me, breath_request) + //Return: (NONSTANDARD) + // null if object handles breathing logic for lifeform + // datum/air_group to tell lifeform to process using that breath return + //DEFAULT: Take air from turf to give to have mob process + + if(breath_request>0) + var/datum/gas_mixture/environment = return_air() + var/breath_percentage = BREATH_VOLUME / environment.return_volume() + return remove_air(environment.total_moles() * breath_percentage) + else + return null + +/obj/proc/updateUsrDialog() + if(in_use) + var/is_in_use = 0 + var/list/nearby = viewers(1, src) + for(var/mob/M in nearby) + if ((M.client && M.machine == src)) + is_in_use = 1 + src.attack_hand(M) + if(isAI(usr) || iscyborg(usr) || IsAdminGhost(usr)) + if (!(usr in nearby)) + if (usr.client && usr.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh. + is_in_use = 1 + src.attack_ai(usr) + + // check for TK users + + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + if(!(usr in nearby)) + if(usr.client && usr.machine==src) + if(H.dna.check_mutation(TK)) + is_in_use = 1 + src.attack_hand(usr) + in_use = is_in_use + +/obj/proc/updateDialog() + // Check that people are actually using the machine. If not, don't update anymore. + if(in_use) + var/list/nearby = viewers(1, src) + var/is_in_use = 0 + for(var/mob/M in nearby) + if ((M.client && M.machine == src)) + is_in_use = 1 + src.interact(M) + var/ai_in_use = AutoUpdateAI(src) + + if(!ai_in_use && !is_in_use) + in_use = 0 + + +/obj/attack_ghost(mob/user) + if(ui_interact(user) != -1) + return + ..() + +/obj/proc/container_resist(mob/living/user) + return + +/obj/proc/update_icon() + return + +/mob/proc/unset_machine() + if(machine) + machine.on_unset_machine(src) + machine = null + +//called when the user unsets the machine. +/atom/movable/proc/on_unset_machine(mob/user) + return + +/mob/proc/set_machine(obj/O) + if(src.machine) + unset_machine() + src.machine = O + if(istype(O)) + O.in_use = 1 + +/obj/item/proc/updateSelfDialog() + var/mob/M = src.loc + if(istype(M) && M.client && M.machine == src) + src.attack_self(M) + +/obj/proc/hide(h) + return + +/obj/singularity_pull(S, current_size) + if(!anchored || current_size >= STAGE_FIVE) + step_towards(src,S) + +/obj/get_spans() + return ..() | SPAN_ROBOT + +/obj/storage_contents_dump_act(obj/item/storage/src_object, mob/user) + return + +/obj/get_dumping_location(obj/item/storage/source,mob/user) + return get_turf(src) + +/obj/proc/CanAStarPass() + . = !density + +/obj/proc/check_uplink_validity() + return 1 + +/obj/proc/on_mob_move(dir, mob, oldLoc) + return + +/obj/proc/on_mob_turn(dir, mob) + return + /obj/proc/intercept_user_move(dir, mob, newLoc, oldLoc) return -/obj/vv_get_dropdown() - . = ..() - .["Delete all of type"] = "?_src_=vars;delall=\ref[src]" - -/obj/examine(mob/user) - ..() - if(unique_rename) - to_chat(user, "Use a pen on it to rename it or change its description.") - if(unique_reskin && !current_skin) - to_chat(user, "Alt-click it to reskin it.") - -/obj/AltClick(mob/user) - . = ..() - if(unique_reskin && !current_skin && in_range(user,src)) - if(user.incapacitated()) - to_chat(user, "You can't do that right now!") - return - reskin_obj(user) - -/obj/proc/reskin_obj(mob/M) - if(!LAZYLEN(unique_reskin)) - return - var/choice = input(M,"Warning, you can only reskin [src] once!","Reskin Object") as null|anything in unique_reskin - if(!QDELETED(src) && choice && !current_skin && !M.incapacitated() && in_range(M,src)) - if(!unique_reskin[choice]) - return - current_skin = choice - icon_state = unique_reskin[choice] - to_chat(M, "[src] is now skinned as '[choice].'") - -/obj/proc/gang_contraband_value() - return 0 +/obj/vv_get_dropdown() + . = ..() + .["Delete all of type"] = "?_src_=vars;delall=\ref[src]" + +/obj/examine(mob/user) + ..() + if(unique_rename) + to_chat(user, "Use a pen on it to rename it or change its description.") + if(unique_reskin && !current_skin) + to_chat(user, "Alt-click it to reskin it.") + +/obj/AltClick(mob/user) + . = ..() + if(unique_reskin && !current_skin && in_range(user,src)) + if(user.incapacitated()) + to_chat(user, "You can't do that right now!") + return + reskin_obj(user) + +/obj/proc/reskin_obj(mob/M) + if(!LAZYLEN(unique_reskin)) + return + var/choice = input(M,"Warning, you can only reskin [src] once!","Reskin Object") as null|anything in unique_reskin + if(!QDELETED(src) && choice && !current_skin && !M.incapacitated() && in_range(M,src)) + if(!unique_reskin[choice]) + return + current_skin = choice + icon_state = unique_reskin[choice] + to_chat(M, "[src] is now skinned as '[choice].'") + +/obj/proc/gang_contraband_value() + return 0 diff --git a/code/game/objects/structures/beds_chairs/bed.dm.rej b/code/game/objects/structures/beds_chairs/bed.dm.rej deleted file mode 100644 index 818bce9711..0000000000 --- a/code/game/objects/structures/beds_chairs/bed.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm (rejected hunks) -@@ -31,7 +31,7 @@ - return attack_hand(user) - - /obj/structure/bed/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - deconstruct(TRUE) - else diff --git a/code/game/objects/structures/beds_chairs/chair.dm.rej b/code/game/objects/structures/beds_chairs/chair.dm.rej deleted file mode 100644 index 4dee120e01..0000000000 --- a/code/game/objects/structures/beds_chairs/chair.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm (rejected hunks) -@@ -41,7 +41,7 @@ - qdel(src) - - /obj/structure/chair/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - deconstruct() - else if(istype(W, /obj/item/assembly/shock_kit)) diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm new file mode 100644 index 0000000000..69d0f4b8d8 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/sofa.dm @@ -0,0 +1,12 @@ +/obj/structure/chair/sofa + name = "old ratty sofa" + icon_state = "sofamiddle" + icon = 'icons/obj/sofa.dmi' + buildstackamount = 1 + +/obj/structure/chair/sofa/left + icon_state = "sofaend_left" +/obj/structure/chair/sofa/right + icon_state = "sofaend_right" +/obj/structure/chair/sofa/corner + icon_state = "sofacorner" \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index ce8d45238f..78e672e49d 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -1,453 +1,453 @@ -/obj/structure/closet - name = "closet" - desc = "It's a basic storage unit." - icon = 'icons/obj/closet.dmi' - icon_state = "generic" - density = TRUE - var/icon_door = null - var/icon_door_override = FALSE //override to have open overlay use icon different to its base's - var/secure = FALSE //secure locker or not, also used if overriding a non-secure locker with a secure door overlay to add fancy lights - var/opened = FALSE - var/welded = FALSE - var/locked = FALSE - var/large = TRUE - var/wall_mounted = 0 //never solid (You can always pass over it) - max_integrity = 200 - integrity_failure = 50 - armor = list(melee = 20, bullet = 10, laser = 10, energy = 0, bomb = 10, bio = 0, rad = 0, fire = 70, acid = 60) - var/breakout_time = 2 - var/lastbang - var/can_weld_shut = TRUE - var/horizontal = FALSE - var/allow_objects = FALSE - var/allow_dense = FALSE - var/dense_when_open = FALSE //if it's dense when open or not - var/max_mob_size = MOB_SIZE_HUMAN //Biggest mob_size accepted by the container - var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet. - var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients. - var/cutting_tool = /obj/item/weldingtool - var/open_sound = 'sound/machines/click.ogg' - var/close_sound = 'sound/machines/click.ogg' - var/cutting_sound = 'sound/items/welder.ogg' - var/material_drop = /obj/item/stack/sheet/metal - var/material_drop_amount = 2 - var/delivery_icon = "deliverycloset" //which icon to use when packagewrapped. null to be unwrappable. - var/anchorable = TRUE - - -/obj/structure/closet/Initialize(mapload) - if(mapload && !opened) // if closed, any item at the crate's loc is put in the contents - addtimer(CALLBACK(src, .proc/take_contents), 0) - . = ..() - update_icon() - PopulateContents() - -//USE THIS TO FILL IT, NOT INITIALIZE OR NEW -/obj/structure/closet/proc/PopulateContents() - return - -/obj/structure/closet/Destroy() - dump_contents() - return ..() - -/obj/structure/closet/update_icon() - cut_overlays() - if(!opened) - if(icon_door) - add_overlay("[icon_door]_door") - else - add_overlay("[icon_state]_door") - if(welded) - add_overlay("welded") - if(secure) - if(!broken) - if(locked) - add_overlay("locked") - else - add_overlay("unlocked") - else - add_overlay("off") - - else - if(icon_door_override) - add_overlay("[icon_door]_open") - else - add_overlay("[icon_state]_open") - -/obj/structure/closet/examine(mob/user) - ..() - if(anchored) - to_chat(user, "It is anchored to the ground.") - else if(secure && !opened) - to_chat(user, "Alt-click to [locked ? "unlock" : "lock"].") - -/obj/structure/closet/CanPass(atom/movable/mover, turf/target) - if(wall_mounted) - return 1 - return !density - -/obj/structure/closet/proc/can_open(mob/living/user) - if(welded || locked) - return 0 - var/turf/T = get_turf(src) - for(var/mob/living/L in T) - if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density) - if(user) - to_chat(user, "There's something large on top of [src], preventing it from opening." ) - return 0 - return 1 - -/obj/structure/closet/proc/can_close(mob/living/user) - var/turf/T = get_turf(src) - for(var/obj/structure/closet/closet in T) - if(closet != src && !closet.wall_mounted) - return 0 - for(var/mob/living/L in T) - if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density) - if(user) - to_chat(user, "There's something too large in [src], preventing it from closing.") - return 0 - return 1 - -/obj/structure/closet/proc/dump_contents() - var/atom/L = drop_location() - for(var/atom/movable/AM in src) - AM.forceMove(L) - if(throwing) // you keep some momentum when getting out of a thrown closet - step(AM, dir) - if(throwing) - throwing.finalize(FALSE) - -/obj/structure/closet/proc/take_contents() - var/atom/L = drop_location() - for(var/atom/movable/AM in L) - if(AM != src && insert(AM) == -1) // limit reached - break - -/obj/structure/closet/proc/open(mob/living/user) - if(opened || !can_open(user)) - return - playsound(loc, open_sound, 15, 1, -3) - opened = 1 - if(!dense_when_open) - density = FALSE - climb_time *= 0.5 //it's faster to climb onto an open thing - dump_contents() - update_icon() - return 1 - -/obj/structure/closet/proc/insert(atom/movable/AM) - if(contents.len >= storage_capacity) - return -1 - - - if(ismob(AM)) - if(!isliving(AM)) //let's not put ghosts or camera mobs inside closets... - return - var/mob/living/L = AM - if(L.anchored || L.buckled || L.incorporeal_move || L.has_buckled_mobs()) - return - if(L.mob_size > MOB_SIZE_TINY) // Tiny mobs are treated as items. - if(horizontal && L.density) - return - if(L.mob_size > max_mob_size) - return - var/mobs_stored = 0 - for(var/mob/living/M in contents) - if(++mobs_stored >= mob_storage_capacity) - return - L.stop_pulling() - else if(istype(AM, /obj/structure/closet)) - return - else if(isobj(AM)) - if(!allow_objects && !istype(AM, /obj/item) && !istype(AM, /obj/effect/dummy/chameleon)) - return - if(!allow_dense && AM.density) - return - if(AM.anchored || AM.has_buckled_mobs() || (AM.flags_1 & NODROP_1)) - return - else - return - - AM.forceMove(src) - if(AM.pulledby) - AM.pulledby.stop_pulling() - - return 1 - -/obj/structure/closet/proc/close(mob/living/user) - if(!opened || !can_close(user)) - return 0 - take_contents() - playsound(loc, close_sound, 15, 1, -3) - climb_time = initial(climb_time) - opened = 0 - density = TRUE - update_icon() - return 1 - -/obj/structure/closet/proc/toggle(mob/living/user) - if(opened) - return close(user) - else - return open(user) - -/obj/structure/closet/deconstruct(disassembled = TRUE) - if(ispath(material_drop) && material_drop_amount && !(flags_1 & NODECONSTRUCT_1)) - new material_drop(loc, material_drop_amount) - qdel(src) - -/obj/structure/closet/obj_break(damage_flag) - if(!broken && !(flags_1 & NODECONSTRUCT_1)) - bust_open() - -/obj/structure/closet/attackby(obj/item/W, mob/user, params) - if(user in src) - return - if(opened) - if(istype(W, cutting_tool)) - if(istype(W, /obj/item/weldingtool)) - var/obj/item/weldingtool/WT = W - if(WT.remove_fuel(0, user)) - to_chat(user, "You begin cutting \the [src] apart...") - playsound(loc, cutting_sound, 40, 1) - if(do_after(user, 40*WT.toolspeed, 1, target = src)) - if(!opened || !WT.isOn()) - return - playsound(loc, cutting_sound, 50, 1) - user.visible_message("[user] slices apart \the [src].", - "You cut \the [src] apart with \the [WT].", - "You hear welding.") - deconstruct(TRUE) - return 0 - else // for example cardboard box is cut with wirecutters - user.visible_message("[user] cut apart \the [src].", \ - "You cut \the [src] apart with \the [W].") - deconstruct(TRUE) - return 0 - if(user.drop_item()) // so we put in unlit welder too - W.forceMove(loc) - return 1 - else if(istype(W, /obj/item/weldingtool) && can_weld_shut) - var/obj/item/weldingtool/WT = W - if(!WT.remove_fuel(0, user)) - return - to_chat(user, "You begin [welded ? "unwelding":"welding"] \the [src]...") - playsound(loc, 'sound/items/welder2.ogg', 40, 1) - if(do_after(user, 40*WT.toolspeed, 1, target = src)) - if(opened || !WT.isOn()) - return - playsound(loc, WT.usesound, 50, 1) - welded = !welded - user.visible_message("[user] [welded ? "welds shut" : "unweldeds"] \the [src].", - "You [welded ? "weld" : "unwelded"] \the [src] with \the [WT].", - "You hear welding.") - update_icon() - else if(istype(W, /obj/item/wrench) && anchorable) - if(isinspace() && !anchored) - return - anchored = !anchored - playsound(src.loc, W.usesound, 75, 1) - user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ - "You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ - "You hear a ratchet.") - else if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1)) - if(W.GetID() || !toggle(user)) - togglelock(user) - return 1 - else - return ..() - -/obj/structure/closet/MouseDrop_T(atom/movable/O, mob/living/user) - if(!istype(O) || O.anchored || istype(O, /obj/screen)) - return - if(!istype(user) || user.incapacitated() || user.lying) - return - if(!Adjacent(user) || !user.Adjacent(O)) - return - if(user == O) //try to climb onto it - return ..() - if(!opened) - return - if(!isturf(O.loc)) - return - - var/actuallyismob = 0 - if(isliving(O)) - actuallyismob = 1 - else if(!isitem(O)) - return - var/turf/T = get_turf(src) - var/list/targets = list(O, src) - add_fingerprint(user) - user.visible_message("[user] [actuallyismob ? "tries to ":""]stuff [O] into [src].", \ - "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ - "You hear clanging.") - if(actuallyismob) - if(do_after_mob(user, targets, 40)) - user.visible_message("[user] stuffs [O] into [src].", \ - "You stuff [O] into [src].", \ - "You hear a loud metal bang.") - var/mob/living/L = O - if(!issilicon(L)) - L.Knockdown(40) - O.forceMove(T) - close() - else - O.forceMove(T) - return 1 - -/obj/structure/closet/relaymove(mob/user) - if(user.stat || !isturf(loc) || !isliving(user)) - return - var/mob/living/L = user - if(!open()) - if(L.last_special <= world.time) - container_resist(L) - if(world.time > lastbang+5) - lastbang = world.time - for(var/mob/M in get_hearers_in_view(src, null)) - M.show_message("BANG, bang!", 2) - -/obj/structure/closet/attack_hand(mob/user) - ..() - if(user.lying && get_dist(src, user) > 0) - return - - if(!toggle(user)) - togglelock(user) - return - -/obj/structure/closet/attack_paw(mob/user) - return attack_hand(user) - -/obj/structure/closet/attack_robot(mob/user) - if(user.Adjacent(src)) - return attack_hand(user) - -// tk grab then use on self -/obj/structure/closet/attack_self_tk(mob/user) - return attack_hand(user) - -/obj/structure/closet/verb/verb_toggleopen() - set src in oview(1) - set category = "Object" - set name = "Toggle Open" - - if(!usr.canmove || usr.stat || usr.restrained()) - return - - if(iscarbon(usr) || issilicon(usr) || isdrone(usr)) - attack_hand(usr) - else - to_chat(usr, "This mob type can't use this verb.") - -// Objects that try to exit a locker by stepping were doing so successfully, -// and due to an oversight in turf/Enter() were going through walls. That -// should be independently resolved, but this is also an interesting twist. -/obj/structure/closet/Exit(atom/movable/AM) - open() - if(AM.loc == src) - return 0 - return 1 - -/obj/structure/closet/container_resist(mob/living/user) - if(opened) - return - if(ismovableatom(loc)) - user.changeNext_move(CLICK_CD_BREAKOUT) - user.last_special = world.time + CLICK_CD_BREAKOUT - var/atom/movable/AM = loc - AM.relay_container_resist(user, src) - return - if(!welded && !locked) - open() - return - - //okay, so the closet is either welded or locked... resist!!! - user.changeNext_move(CLICK_CD_BREAKOUT) - user.last_special = world.time + CLICK_CD_BREAKOUT - to_chat(user, "You lean on the back of [src] and start pushing the door open.") - visible_message("[src] begins to shake violently!") - if(do_after(user,(breakout_time * 60 * 10), target = src)) //minutes * 60seconds * 10deciseconds - if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded) ) - return - //we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting - user.visible_message("[user] successfully broke out of [src]!", - "You successfully break out of [src]!") - bust_open() - else - if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. - to_chat(user, "You fail to break out of [src]!") - -/obj/structure/closet/proc/bust_open() - welded = FALSE //applies to all lockers - locked = FALSE //applies to critter crates and secure lockers only - broken = 1 //applies to secure lockers only - open() - -/obj/structure/closet/AltClick(mob/user) - ..() - if(!user.canUseTopic(src, be_close=TRUE)) - to_chat(user, "You can't do that right now!") - return - if(opened || !secure) - return - else - togglelock(user) - -/obj/structure/closet/proc/togglelock(mob/living/user) - if(secure && !broken) - if(allowed(user)) - if(iscarbon(user)) - add_fingerprint(user) - locked = !locked - user.visible_message("[user] [locked ? null : "un"]locks [src].", - "You [locked ? null : "un"]lock [src].") - update_icon() - else - to_chat(user, "Access Denied") - else if(secure && broken) - to_chat(user, "\The [src] is broken!") - -/obj/structure/closet/emag_act(mob/user) - if(secure && !broken) - user.visible_message("Sparks fly from [src]!", - "You scramble [src]'s lock, breaking it open!", - "You hear a faint electrical spark.") - playsound(src, "sparks", 50, 1) - broken = 1 - locked = FALSE - update_icon() - -/obj/structure/closet/get_remote_view_fullscreens(mob/user) - if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) - user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1) - -/obj/structure/closet/emp_act(severity) - for(var/obj/O in src) - O.emp_act(severity) - if(secure && !broken) - if(prob(50 / severity)) - locked = !locked - update_icon() - if(prob(20 / severity) && !opened) - if(!locked) - open() - else - req_access = list() - req_access += pick(get_all_accesses()) - ..() - - -/obj/structure/closet/contents_explosion(severity, target) - for(var/atom/A in contents) - A.ex_act(severity, target) - CHECK_TICK - -/obj/structure/closet/singularity_act() - dump_contents() - ..() - -/obj/structure/closet/AllowDrop() - return TRUE +/obj/structure/closet + name = "closet" + desc = "It's a basic storage unit." + icon = 'icons/obj/closet.dmi' + icon_state = "generic" + density = TRUE + var/icon_door = null + var/icon_door_override = FALSE //override to have open overlay use icon different to its base's + var/secure = FALSE //secure locker or not, also used if overriding a non-secure locker with a secure door overlay to add fancy lights + var/opened = FALSE + var/welded = FALSE + var/locked = FALSE + var/large = TRUE + var/wall_mounted = 0 //never solid (You can always pass over it) + max_integrity = 200 + integrity_failure = 50 + armor = list(melee = 20, bullet = 10, laser = 10, energy = 0, bomb = 10, bio = 0, rad = 0, fire = 70, acid = 60) + var/breakout_time = 2 + var/lastbang + var/can_weld_shut = TRUE + var/horizontal = FALSE + var/allow_objects = FALSE + var/allow_dense = FALSE + var/dense_when_open = FALSE //if it's dense when open or not + var/max_mob_size = MOB_SIZE_HUMAN //Biggest mob_size accepted by the container + var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet. + var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients. + var/cutting_tool = /obj/item/weldingtool + var/open_sound = 'sound/machines/click.ogg' + var/close_sound = 'sound/machines/click.ogg' + var/cutting_sound = 'sound/items/welder.ogg' + var/material_drop = /obj/item/stack/sheet/metal + var/material_drop_amount = 2 + var/delivery_icon = "deliverycloset" //which icon to use when packagewrapped. null to be unwrappable. + var/anchorable = TRUE + + +/obj/structure/closet/Initialize(mapload) + if(mapload && !opened) // if closed, any item at the crate's loc is put in the contents + addtimer(CALLBACK(src, .proc/take_contents), 0) + . = ..() + update_icon() + PopulateContents() + +//USE THIS TO FILL IT, NOT INITIALIZE OR NEW +/obj/structure/closet/proc/PopulateContents() + return + +/obj/structure/closet/Destroy() + dump_contents() + return ..() + +/obj/structure/closet/update_icon() + cut_overlays() + if(!opened) + if(icon_door) + add_overlay("[icon_door]_door") + else + add_overlay("[icon_state]_door") + if(welded) + add_overlay("welded") + if(secure) + if(!broken) + if(locked) + add_overlay("locked") + else + add_overlay("unlocked") + else + add_overlay("off") + + else + if(icon_door_override) + add_overlay("[icon_door]_open") + else + add_overlay("[icon_state]_open") + +/obj/structure/closet/examine(mob/user) + ..() + if(anchored) + to_chat(user, "It is anchored to the ground.") + else if(secure && !opened) + to_chat(user, "Alt-click to [locked ? "unlock" : "lock"].") + +/obj/structure/closet/CanPass(atom/movable/mover, turf/target) + if(wall_mounted) + return 1 + return !density + +/obj/structure/closet/proc/can_open(mob/living/user) + if(welded || locked) + return 0 + var/turf/T = get_turf(src) + for(var/mob/living/L in T) + if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density) + if(user) + to_chat(user, "There's something large on top of [src], preventing it from opening." ) + return 0 + return 1 + +/obj/structure/closet/proc/can_close(mob/living/user) + var/turf/T = get_turf(src) + for(var/obj/structure/closet/closet in T) + if(closet != src && !closet.wall_mounted) + return 0 + for(var/mob/living/L in T) + if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density) + if(user) + to_chat(user, "There's something too large in [src], preventing it from closing.") + return 0 + return 1 + +/obj/structure/closet/proc/dump_contents() + var/atom/L = drop_location() + for(var/atom/movable/AM in src) + AM.forceMove(L) + if(throwing) // you keep some momentum when getting out of a thrown closet + step(AM, dir) + if(throwing) + throwing.finalize(FALSE) + +/obj/structure/closet/proc/take_contents() + var/atom/L = drop_location() + for(var/atom/movable/AM in L) + if(AM != src && insert(AM) == -1) // limit reached + break + +/obj/structure/closet/proc/open(mob/living/user) + if(opened || !can_open(user)) + return + playsound(loc, open_sound, 15, 1, -3) + opened = 1 + if(!dense_when_open) + density = FALSE + climb_time *= 0.5 //it's faster to climb onto an open thing + dump_contents() + update_icon() + return 1 + +/obj/structure/closet/proc/insert(atom/movable/AM) + if(contents.len >= storage_capacity) + return -1 + + + if(ismob(AM)) + if(!isliving(AM)) //let's not put ghosts or camera mobs inside closets... + return + var/mob/living/L = AM + if(L.anchored || L.buckled || L.incorporeal_move || L.has_buckled_mobs()) + return + if(L.mob_size > MOB_SIZE_TINY) // Tiny mobs are treated as items. + if(horizontal && L.density) + return + if(L.mob_size > max_mob_size) + return + var/mobs_stored = 0 + for(var/mob/living/M in contents) + if(++mobs_stored >= mob_storage_capacity) + return + L.stop_pulling() + else if(istype(AM, /obj/structure/closet)) + return + else if(isobj(AM)) + if(!allow_objects && !istype(AM, /obj/item) && !istype(AM, /obj/effect/dummy/chameleon)) + return + if(!allow_dense && AM.density) + return + if(AM.anchored || AM.has_buckled_mobs() || (AM.flags_1 & NODROP_1)) + return + else + return + + AM.forceMove(src) + if(AM.pulledby) + AM.pulledby.stop_pulling() + + return 1 + +/obj/structure/closet/proc/close(mob/living/user) + if(!opened || !can_close(user)) + return 0 + take_contents() + playsound(loc, close_sound, 15, 1, -3) + climb_time = initial(climb_time) + opened = 0 + density = TRUE + update_icon() + return 1 + +/obj/structure/closet/proc/toggle(mob/living/user) + if(opened) + return close(user) + else + return open(user) + +/obj/structure/closet/deconstruct(disassembled = TRUE) + if(ispath(material_drop) && material_drop_amount && !(flags_1 & NODECONSTRUCT_1)) + new material_drop(loc, material_drop_amount) + qdel(src) + +/obj/structure/closet/obj_break(damage_flag) + if(!broken && !(flags_1 & NODECONSTRUCT_1)) + bust_open() + +/obj/structure/closet/attackby(obj/item/W, mob/user, params) + if(user in src) + return + if(opened) + if(istype(W, cutting_tool)) + if(istype(W, /obj/item/weldingtool)) + var/obj/item/weldingtool/WT = W + if(WT.remove_fuel(0, user)) + to_chat(user, "You begin cutting \the [src] apart...") + playsound(loc, cutting_sound, 40, 1) + if(do_after(user, 40*WT.toolspeed, 1, target = src)) + if(!opened || !WT.isOn()) + return + playsound(loc, cutting_sound, 50, 1) + user.visible_message("[user] slices apart \the [src].", + "You cut \the [src] apart with \the [WT].", + "You hear welding.") + deconstruct(TRUE) + return 0 + else // for example cardboard box is cut with wirecutters + user.visible_message("[user] cut apart \the [src].", \ + "You cut \the [src] apart with \the [W].") + deconstruct(TRUE) + return 0 + if(user.drop_item()) // so we put in unlit welder too + W.forceMove(loc) + return 1 + else if(istype(W, /obj/item/weldingtool) && can_weld_shut) + var/obj/item/weldingtool/WT = W + if(!WT.remove_fuel(0, user)) + return + to_chat(user, "You begin [welded ? "unwelding":"welding"] \the [src]...") + playsound(loc, 'sound/items/welder2.ogg', 40, 1) + if(do_after(user, 40*WT.toolspeed, 1, target = src)) + if(opened || !WT.isOn()) + return + playsound(loc, WT.usesound, 50, 1) + welded = !welded + user.visible_message("[user] [welded ? "welds shut" : "unweldeds"] \the [src].", + "You [welded ? "weld" : "unwelded"] \the [src] with \the [WT].", + "You hear welding.") + update_icon() + else if(istype(W, /obj/item/wrench) && anchorable) + if(isinspace() && !anchored) + return + anchored = !anchored + playsound(src.loc, W.usesound, 75, 1) + user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ + "You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ + "You hear a ratchet.") + else if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1)) + if(W.GetID() || !toggle(user)) + togglelock(user) + return 1 + else + return ..() + +/obj/structure/closet/MouseDrop_T(atom/movable/O, mob/living/user) + if(!istype(O) || O.anchored || istype(O, /obj/screen)) + return + if(!istype(user) || user.incapacitated() || user.lying) + return + if(!Adjacent(user) || !user.Adjacent(O)) + return + if(user == O) //try to climb onto it + return ..() + if(!opened) + return + if(!isturf(O.loc)) + return + + var/actuallyismob = 0 + if(isliving(O)) + actuallyismob = 1 + else if(!isitem(O)) + return + var/turf/T = get_turf(src) + var/list/targets = list(O, src) + add_fingerprint(user) + user.visible_message("[user] [actuallyismob ? "tries to ":""]stuff [O] into [src].", \ + "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ + "You hear clanging.") + if(actuallyismob) + if(do_after_mob(user, targets, 40)) + user.visible_message("[user] stuffs [O] into [src].", \ + "You stuff [O] into [src].", \ + "You hear a loud metal bang.") + var/mob/living/L = O + if(!issilicon(L)) + L.Knockdown(40) + O.forceMove(T) + close() + else + O.forceMove(T) + return 1 + +/obj/structure/closet/relaymove(mob/user) + if(user.stat || !isturf(loc) || !isliving(user)) + return + var/mob/living/L = user + if(!open()) + if(L.last_special <= world.time) + container_resist(L) + if(world.time > lastbang+5) + lastbang = world.time + for(var/mob/M in get_hearers_in_view(src, null)) + M.show_message("BANG, bang!", 2) + +/obj/structure/closet/attack_hand(mob/user) + ..() + if(user.lying && get_dist(src, user) > 0) + return + + if(!toggle(user)) + togglelock(user) + return + +/obj/structure/closet/attack_paw(mob/user) + return attack_hand(user) + +/obj/structure/closet/attack_robot(mob/user) + if(user.Adjacent(src)) + return attack_hand(user) + +// tk grab then use on self +/obj/structure/closet/attack_self_tk(mob/user) + return attack_hand(user) + +/obj/structure/closet/verb/verb_toggleopen() + set src in oview(1) + set category = "Object" + set name = "Toggle Open" + + if(!usr.canmove || usr.stat || usr.restrained()) + return + + if(iscarbon(usr) || issilicon(usr) || isdrone(usr)) + attack_hand(usr) + else + to_chat(usr, "This mob type can't use this verb.") + +// Objects that try to exit a locker by stepping were doing so successfully, +// and due to an oversight in turf/Enter() were going through walls. That +// should be independently resolved, but this is also an interesting twist. +/obj/structure/closet/Exit(atom/movable/AM) + open() + if(AM.loc == src) + return 0 + return 1 + +/obj/structure/closet/container_resist(mob/living/user) + if(opened) + return + if(ismovableatom(loc)) + user.changeNext_move(CLICK_CD_BREAKOUT) + user.last_special = world.time + CLICK_CD_BREAKOUT + var/atom/movable/AM = loc + AM.relay_container_resist(user, src) + return + if(!welded && !locked) + open() + return + + //okay, so the closet is either welded or locked... resist!!! + user.changeNext_move(CLICK_CD_BREAKOUT) + user.last_special = world.time + CLICK_CD_BREAKOUT + to_chat(user, "You lean on the back of [src] and start pushing the door open.") + visible_message("[src] begins to shake violently!") + if(do_after(user,(breakout_time * 60 * 10), target = src)) //minutes * 60seconds * 10deciseconds + if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded) ) + return + //we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting + user.visible_message("[user] successfully broke out of [src]!", + "You successfully break out of [src]!") + bust_open() + else + if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. + to_chat(user, "You fail to break out of [src]!") + +/obj/structure/closet/proc/bust_open() + welded = FALSE //applies to all lockers + locked = FALSE //applies to critter crates and secure lockers only + broken = 1 //applies to secure lockers only + open() + +/obj/structure/closet/AltClick(mob/user) + ..() + if(!user.canUseTopic(src, be_close=TRUE)) + to_chat(user, "You can't do that right now!") + return + if(opened || !secure) + return + else + togglelock(user) + +/obj/structure/closet/proc/togglelock(mob/living/user) + if(secure && !broken) + if(allowed(user)) + if(iscarbon(user)) + add_fingerprint(user) + locked = !locked + user.visible_message("[user] [locked ? null : "un"]locks [src].", + "You [locked ? null : "un"]lock [src].") + update_icon() + else + to_chat(user, "Access Denied") + else if(secure && broken) + to_chat(user, "\The [src] is broken!") + +/obj/structure/closet/emag_act(mob/user) + if(secure && !broken) + user.visible_message("Sparks fly from [src]!", + "You scramble [src]'s lock, breaking it open!", + "You hear a faint electrical spark.") + playsound(src, "sparks", 50, 1) + broken = 1 + locked = FALSE + update_icon() + +/obj/structure/closet/get_remote_view_fullscreens(mob/user) + if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) + user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1) + +/obj/structure/closet/emp_act(severity) + for(var/obj/O in src) + O.emp_act(severity) + if(secure && !broken) + if(prob(50 / severity)) + locked = !locked + update_icon() + if(prob(20 / severity) && !opened) + if(!locked) + open() + else + req_access = list() + req_access += pick(get_all_accesses()) + ..() + + +/obj/structure/closet/contents_explosion(severity, target) + for(var/atom/A in contents) + A.ex_act(severity, target) + CHECK_TICK + +/obj/structure/closet/singularity_act() + dump_contents() + ..() + +/obj/structure/closet/AllowDrop() + return TRUE diff --git a/code/game/objects/structures/crates_lockers/closets.dm.rej b/code/game/objects/structures/crates_lockers/closets.dm.rej deleted file mode 100644 index 55cd62f8af..0000000000 --- a/code/game/objects/structures/crates_lockers/closets.dm.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm (rejected hunks) -@@ -193,12 +193,12 @@ - return open(user) - - /obj/structure/closet/deconstruct(disassembled = TRUE) -- if(ispath(material_drop) && material_drop_amount && !(flags & NODECONSTRUCT)) -+ if(ispath(material_drop) && material_drop_amount && !(flags_1 & NODECONSTRUCT_1)) - new material_drop(loc, material_drop_amount) - qdel(src) - - /obj/structure/closet/obj_break(damage_flag) -- if(!broken && !(flags & NODECONSTRUCT)) -+ if(!broken && !(flags_1 & NODECONSTRUCT_1)) - bust_open() - - /obj/structure/closet/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 6327d2d3ff..cefd972aaf 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -183,6 +183,7 @@ new /obj/item/reagent_containers/spray/pepper(src) new /obj/item/clothing/suit/armor/vest/det_suit(src) new /obj/item/storage/belt/holster/full(src) + new /obj/item/device/mass_spectrometer(src) /obj/structure/closet/secure_closet/injection name = "lethal injections" diff --git a/code/game/objects/structures/displaycase.dm.rej b/code/game/objects/structures/displaycase.dm.rej deleted file mode 100644 index febee50d2c..0000000000 --- a/code/game/objects/structures/displaycase.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm (rejected hunks) -@@ -50,7 +50,7 @@ - playsound(src.loc, 'sound/items/welder.ogg', 100, 1) - - /obj/structure/displaycase/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - dump() - if(!disassembled) - new /obj/item/shard( src.loc ) -@@ -58,7 +58,7 @@ - qdel(src) - - /obj/structure/displaycase/obj_break(damage_flag) -- if(!broken && !(flags & NODECONSTRUCT)) -+ if(!broken && !(flags_1 & NODECONSTRUCT_1)) - density = FALSE - broken = 1 - new /obj/item/shard( src.loc ) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index ab2a10e2c9..5d6e6f3d77 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -137,8 +137,8 @@ new mineral(loc) qdel(src) -/obj/structure/falsewall/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - return 0 +/obj/structure/falsewall/get_dumping_location(obj/item/storage/source,mob/user) + return null /obj/structure/falsewall/examine_status(mob/user) //So you can't detect falsewalls by examine. return null @@ -303,7 +303,7 @@ mineral = /obj/item/stack/sheet/mineral/titanium walltype = /turf/closed/wall/mineral/titanium smooth = SMOOTH_MORE - canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine, /obj/structure/shuttle/engine/heater, ) + canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater) /obj/structure/falsewall/plastitanium name = "wall" diff --git a/code/game/objects/structures/fireaxe.dm.rej b/code/game/objects/structures/fireaxe.dm.rej deleted file mode 100644 index cfb3b8d8a8..0000000000 --- a/code/game/objects/structures/fireaxe.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm (rejected hunks) -@@ -91,7 +91,7 @@ - new /obj/item/shard(loc) - - /obj/structure/fireaxecabinet/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(fireaxe && loc) - fireaxe.forceMove(loc) - fireaxe = null diff --git a/code/game/objects/structures/flora.dm.rej b/code/game/objects/structures/flora.dm.rej deleted file mode 100644 index 328c71e5cb..0000000000 --- a/code/game/objects/structures/flora.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm (rejected hunks) -@@ -13,7 +13,7 @@ - var/log_amount = 10 - - /obj/structure/flora/tree/attackby(obj/item/W, mob/user, params) -- if(!cut && log_amount && (!(NODECONSTRUCT in flags))) -+ if(!cut && log_amount && (!(flags_1 & NODECONSTRUCT_1))) - if(W.sharpness && W.force > 0) - if(W.hitsound) - playsound(get_turf(src), W.hitsound, 100, 0, 0) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index e091454ac6..6a3bdb81b4 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -226,8 +226,8 @@ C.powernet.load += C.powernet.avail * 0.0375 // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock. return ..() -/obj/structure/grille/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - return 0 +/obj/structure/grille/get_dumping_location(obj/item/storage/source,mob/user) + return null /obj/structure/grille/broken // Pre-broken grilles for map placement icon_state = "brokengrille" diff --git a/code/game/objects/structures/janicart.dm.rej b/code/game/objects/structures/janicart.dm.rej deleted file mode 100644 index 04143253b3..0000000000 --- a/code/game/objects/structures/janicart.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm (rejected hunks) -@@ -5,7 +5,7 @@ - icon_state = "cart" - anchored = FALSE - density = TRUE -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/storage/bag/trash/mybag = null diff --git a/code/game/objects/structures/manned_turret.dm.rej b/code/game/objects/structures/manned_turret.dm.rej deleted file mode 100644 index a248573d17..0000000000 --- a/code/game/objects/structures/manned_turret.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm (rejected hunks) -@@ -177,7 +177,7 @@ - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE -- flags = ABSTRACT | NODROP | NOBLUDGEON | DROPDEL -+ flags_1 = ABSTRACT_1 | NODROP_1 | NOBLUDGEON_1 | DROPDEL_1 - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/obj/machinery/manned_turret/turret - diff --git a/code/game/objects/structures/mirror.dm.rej b/code/game/objects/structures/mirror.dm.rej deleted file mode 100644 index 28985dc2f1..0000000000 --- a/code/game/objects/structures/mirror.dm.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm (rejected hunks) -@@ -47,14 +47,14 @@ - ..() - - /obj/structure/mirror/obj_break(damage_flag) -- if(!broken && !(flags & NODECONSTRUCT)) -+ if(!broken && !(flags_1 & NODECONSTRUCT_1)) - icon_state = "mirror_broke" - playsound(src, "shatter", 70, 1) - desc = "Oh no, seven years of bad luck!" - broken = 1 - - /obj/structure/mirror/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(!disassembled) - new /obj/item/shard( src.loc ) - qdel(src) diff --git a/code/game/objects/structures/signs.dm.rej b/code/game/objects/structures/signs.dm.rej deleted file mode 100644 index 51eea8f290..0000000000 --- a/code/game/objects/structures/signs.dm.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm (rejected hunks) -@@ -326,6 +326,6 @@ - icon_state = "direction_bridge" - - /obj/structure/sign/logo -- name = "station logo" -- desc = "A sign: SPACE STATION 13." -+ name = "nanotrasen logo" -+ desc = "The Nanotrasen corporate logo." - icon_state = "nanotrasen_sign1" -\ No newline at end of file diff --git a/code/game/objects/structures/tables_racks.dm.rej b/code/game/objects/structures/tables_racks.dm.rej deleted file mode 100644 index 3b5d3235dd..0000000000 --- a/code/game/objects/structures/tables_racks.dm.rej +++ /dev/null @@ -1,37 +0,0 @@ -diff a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm (rejected hunks) -@@ -94,7 +94,7 @@ - - - /obj/structure/table/attackby(obj/item/I, mob/user, params) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(istype(I, /obj/item/screwdriver) && deconstruction_ready) - to_chat(user, "You start disassembling [src]...") - playsound(src.loc, I.usesound, 50, 1) -@@ -429,7 +429,7 @@ - - - /obj/structure/rack/attackby(obj/item/W, mob/user, params) -- if (istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if (istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - deconstruct(TRUE) - return -@@ -466,7 +466,7 @@ - */ - - /obj/structure/rack/deconstruct(disassembled = TRUE) -- if(!(flags&NODECONSTRUCT)) -+ if(!(flags_1&NODECONSTRUCT_1)) - density = FALSE - var/obj/item/rack_parts/newparts = new(loc) - transfer_fingerprints_to(newparts) -@@ -482,7 +482,7 @@ - desc = "Parts of a rack." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "rack_parts" -- flags = CONDUCT -+ flags_1 = CONDUCT_1 - materials = list(MAT_METAL=2000) - var/building = FALSE - diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index ea1f1f5214..5600fc16f3 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -535,6 +535,7 @@ name = "puddle" desc = "A puddle used for washing one's hands and face." icon_state = "puddle" + resistance_flags = UNACIDABLE /obj/structure/sink/puddle/attack_hand(mob/M) icon_state = "puddle-splash" @@ -546,6 +547,10 @@ . = ..() icon_state = "puddle" +/obj/structure/sink/puddle/deconstruct(disassembled = TRUE) + qdel(src) + + //Shower Curtains// //Defines used are pre-existing in layers.dm// diff --git a/code/game/objects/structures/watercloset.dm.rej b/code/game/objects/structures/watercloset.dm.rej deleted file mode 100644 index 6d2baac077..0000000000 --- a/code/game/objects/structures/watercloset.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm (rejected hunks) -@@ -462,7 +462,7 @@ - - if(istype(O, /obj/item/reagent_containers)) - var/obj/item/reagent_containers/RG = O -- if(RG.container_type & OPENCONTAINER) -+ if(RG.container_type & OPENCONTAINER_1) - if(!RG.reagents.holder_full()) - RG.reagents.add_reagent("[dispensedreagent]", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - to_chat(user, "You fill [RG] from [src].") diff --git a/code/game/objects/structures/window.dm.rej b/code/game/objects/structures/window.dm.rej deleted file mode 100644 index 6968784ec2..0000000000 --- a/code/game/objects/structures/window.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm (rejected hunks) -@@ -188,7 +188,7 @@ - to_chat(user, "[src] is already in good condition!") - return - -- if(!(flags&NODECONSTRUCT)) -+ if(!(flags_1&NODECONSTRUCT_1)) - if(istype(I, /obj/item/screwdriver)) - playsound(src, I.usesound, 75, 1) - if(reinf) diff --git a/code/game/say.dm b/code/game/say.dm index 1aaa3d6041..570974c0bc 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_INIT(freqtospan, list( /atom/movable/proc/get_spans() return list() -/atom/movable/proc/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) +/atom/movable/proc/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, face_name = FALSE) //This proc uses text() because it is faster than appending strings. Thanks BYOND. //Basic span var/spanpart1 = "" @@ -54,6 +54,9 @@ GLOBAL_LIST_INIT(freqtospan, list( var/freqpart = radio_freq ? "\[[get_radio_name(radio_freq)]\] " : "" //Speaker name var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]" + if(face_name && ishuman(speaker)) + var/mob/living/carbon/human/H = speaker + namepart = "[H.get_face_name()]" //So "fake" speaking like in hallucinations does not give the speaker away if disguised //End name span. var/endspanpart = "" diff --git a/code/game/sound.dm b/code/game/sound.dm index 86fdceb3c3..a7db2439b0 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -97,11 +97,12 @@ /mob/proc/stop_sound_channel(chan) SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = chan)) -/client/proc/playtitlemusic() +/client/proc/playtitlemusic(vol = 85) + set waitfor = FALSE UNTIL(SSticker.login_music) //wait for SSticker init to set the login music if(prefs && (prefs.toggles & SOUND_LOBBY)) - SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC) // MAD JAMS) + SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = vol, channel = CHANNEL_LOBBYMUSIC) // MAD JAMS) /proc/get_rand_frequency() return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. diff --git a/code/game/sound.dm.rej b/code/game/sound.dm.rej deleted file mode 100644 index 003c8b9975..0000000000 --- a/code/game/sound.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/game/sound.dm b/code/game/sound.dm (rejected hunks) -@@ -145,7 +145,3 @@ - if ("can_open") - soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg') - return soundin -- --/proc/playsound_global(file, repeat = 0, wait, channel, volume) -- for(var/V in GLOB.clients) -- V << sound(file, repeat, wait, channel, volume) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index bc0af068c5..2622a4e74c 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -190,6 +190,12 @@ new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 1), 1, FALSE) //spinning would be bad for ice, fucks up the next dir return 1 +/turf/open/copyTurf(turf/T) + . = ..() + if(. && isopenturf(T) && wet_time) + var/turf/open/O = T + O.MakeSlippery(wet_setting = wet, wet_time_to_add = wet_time) //we're copied, copy how wet we are also + /turf/open/proc/MakeSlippery(wet_setting = TURF_WET_WATER, min_wet_time = 0, wet_time_to_add = 0) // 1 = Water, 2 = Lube, 3 = Ice, 4 = Permafrost, 5 = Slide wet_time = max(wet_time+wet_time_to_add, min_wet_time) if(wet >= wet_setting) @@ -219,19 +225,30 @@ HandleWet() /turf/open/proc/UpdateSlip() + var/intensity + var/lube_flags switch(wet) if(TURF_WET_WATER) - AddComponent(/datum/component/slippery, 60, NO_SLIP_WHEN_WALKING) + intensity = 60 + lube_flags = NO_SLIP_WHEN_WALKING if(TURF_WET_LUBE) - AddComponent(/datum/component/slippery, 80, SLIDE | GALOSHES_DONT_HELP) + intensity = 80 + lube_flags = SLIDE | GALOSHES_DONT_HELP if(TURF_WET_ICE) - AddComponent(/datum/component/slippery, 120, SLIDE | GALOSHES_DONT_HELP) + intensity = 120 + lube_flags = SLIDE | GALOSHES_DONT_HELP if(TURF_WET_PERMAFROST) - AddComponent(/datum/component/slippery, 120, SLIDE_ICE | GALOSHES_DONT_HELP) + intensity = 120 + lube_flags = SLIDE_ICE | GALOSHES_DONT_HELP if(TURF_WET_SLIDE) - AddComponent(/datum/component/slippery, 80, SLIDE | GALOSHES_DONT_HELP) + intensity = 80 + lube_flags = SLIDE | GALOSHES_DONT_HELP else qdel(GetComponent(/datum/component/slippery)) + return + var/datum/component/slippery/S = LoadComponent(/datum/component/slippery) + S.intensity = intensity + S.lube_flags = lube_flags /turf/open/ComponentActivated(datum/component/C) ..() diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm index a51240c969..a7acd8d6fa 100644 --- a/code/game/turfs/simulated/chasm.dm +++ b/code/game/turfs/simulated/chasm.dm @@ -133,6 +133,9 @@ drop_y = y if(z+1 <= world.maxz) drop_z = z+1 + var/turf/T = locate(drop_x, drop_y, drop_z) + T.visible_message("The ceiling gives way!") + playsound(T, 'sound/effects/break_stone.ogg', 50, 1) /turf/open/chasm/straight_down/lava_land_surface diff --git a/code/game/turfs/simulated/dirtystation.dm b/code/game/turfs/simulated/dirtystation.dm index dbf67d7d0f..cc3688d064 100644 --- a/code/game/turfs/simulated/dirtystation.dm +++ b/code/game/turfs/simulated/dirtystation.dm @@ -24,16 +24,30 @@ //The code below here isn't exactly optimal, but because of the individual decals that each area uses it's still applicable. - //high dirt - 1/3 - if(istype(A, /area/science/test_area) || istype(A, /area/mine/production) || istype(A, /area/mine/living_quarters) || istype(A, /area/mine/north_outpost) || istype(A, /area/mine/west_outpost) || istype(A, /area/ruin/space)) + //high dirt - 1/3 chance. + var/static/list/high_dirt_areas = typecacheof(list(/area/science/test_area, + /area/mine/production, + /area/mine/living_quarters, + /area/mine/north_outpost, + /area/mine/west_outpost, + /area/ruin/space)) + if(is_type_in_typecache(A, high_dirt_areas)) new /obj/effect/decal/cleanable/dirt(src) //vanilla, but it works return + if(prob(80)) //mid dirt - 1/15 return - if(istype(A, /area/engine) || istype(A, /area/crew_quarters/heads/chief) || istype(A, /area/ruin/space/derelict/assembly_line) || istype(A, /area/science/robotics) || istype(A, /area/maintenance) || istype(A, /area/construction)) - //Blood, sweat, and oil. Oh, and dirt. + //Construction zones. Blood, sweat, and oil. Oh, and dirt. + var/static/list/engine_dirt_areas = typecacheof(list(/area/engine, + /area/crew_quarters/heads/chief, + /area/ruin/space/derelict/assembly_line, + /area/science/robotics, + /area/maintenance, + /area/construction, + /area/survivalpod)) + if(is_type_in_typecache(A, engine_dirt_areas)) if(prob(3)) new /obj/effect/decal/cleanable/blood/old(src) else @@ -46,7 +60,10 @@ new /obj/effect/decal/cleanable/dirt(src) return - if(istype(A, /area/crew_quarters/toilet)) + //Bathrooms. Blood, vomit, and shavings in the sinks. + var/static/list/bathroom_dirt_areas = typecacheof(list( /area/crew_quarters/toilet, + /area/awaymission/research/interior/bathroom)) + if(is_type_in_typecache(A, bathroom_dirt_areas)) if(prob(40)) if(prob(90)) new /obj/effect/decal/cleanable/vomit/old(src) @@ -54,15 +71,23 @@ new /obj/effect/decal/cleanable/blood/old(src) return - if(istype(A, /area/quartermaster)) + //Hangars and pods covered in oil. + var/static/list/oily_areas = typecacheof(list(/area/quartermaster)) + if(is_type_in_typecache(A, oily_areas)) if(prob(25)) new /obj/effect/decal/cleanable/oil(src) return + if(prob(75)) //low dirt - 1/60 return - if(istype(A, /area/ai_monitored/turret_protected) || istype(A, /area/prison) || istype(A, /area/security) || istype(A, /area/crew_quarters/heads/hos)) //chance of incident + //Areas where gibs will be present. Robusting probably happened some time ago. + var/static/list/gib_covered_areas = typecacheof(list(/area/ai_monitored/turret_protected, + /area/prison, + /area/security, + /area/crew_quarters/heads/hos)) + if(is_type_in_typecache(A, gib_covered_areas)) if(prob(20)) if(prob(5)) new /obj/effect/decal/cleanable/blood/gibs/old(src) @@ -70,8 +95,10 @@ new /obj/effect/decal/cleanable/blood/old(src) return - - if(istype(A, /area/crew_quarters/kitchen) || istype(A, /area/crew_quarters/cafeteria)) //Kitchen messes + //Kitchen areas. Broken eggs, flour, spilled milk (no crying allowed.) + var/static/list/kitchen_dirt_areas = typecacheof(list(/area/crew_quarters/kitchen, + /area/crew_quarters/cafeteria)) + if(is_type_in_typecache(A, kitchen_dirt_areas)) if(prob(60)) if(prob(50)) new /obj/effect/decal/cleanable/egg_smudge(src) @@ -79,7 +106,10 @@ new /obj/effect/decal/cleanable/flour(src) return - if(istype(A, /area/medical) || istype(A, /area/crew_quarters/heads/cmo)) //Kept clean, but chance of blood + //Medical areas. Mostly clean by space-OSHA standards, but has some blood and oil spread about. + var/static/list/medical_dirt_areas = typecacheof(list(/area/medical, + /area/crew_quarters/heads/cmo)) + if(is_type_in_typecache(A, medical_dirt_areas)) if(prob(66)) if(prob(5)) new /obj/effect/decal/cleanable/blood/gibs/old(src) @@ -92,7 +122,10 @@ new /obj/effect/decal/cleanable/vomit/old(src) return - if(istype(A, /area/science) || istype(A, /area/crew_quarters/heads/hor)) + //Science messes. Mostly green glowy stuff -WHICH YOU SHOULD NOT INJEST-. + var/static/list/science_dirt_areas = typecacheof(list(/area/science, + /area/crew_quarters/heads/hor)) + if(is_type_in_typecache(A, medical_dirt_areas)) if(prob(20)) new /obj/effect/decal/cleanable/greenglow(src) //this cleans itself up but it might startle you when you see it. return diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 1fae8ed2c0..cfc834037d 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -24,7 +24,7 @@ ..() //This is so damaged or burnt tiles or platings don't get remembered as the default tile var/static/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4", - "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2", + "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2", "foam_plating", "platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2", "light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken", "light_on_broken","light_off","wall_thermite","grass", "sand", @@ -117,10 +117,10 @@ /turf/open/floor/proc/make_plating() return ChangeTurf(/turf/open/floor/plating) -/turf/open/floor/ChangeTurf(new_path) +/turf/open/floor/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) if(!isfloorturf(src)) return ..() //fucking turfs switch the fucking src of the fucking running procs - if(!ispath(new_path, /turf/open/floor)) + if(!ispath(path, /turf/open/floor)) return ..() var/old_icon = icon_regular_floor var/old_dir = dir diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm.rej b/code/game/turfs/simulated/floor/fancy_floor.dm.rej deleted file mode 100644 index c310c1ab28..0000000000 --- a/code/game/turfs/simulated/floor/fancy_floor.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm (rejected hunks) -@@ -66,7 +66,7 @@ - icon_state = "grass" - floor_tile = /obj/item/stack/tile/grass - broken_states = list("sand") -- flags = NONE -+ flags_1 = NONE - var/ore_type = /obj/item/ore/glass - var/turfverb = "uproot" - diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm index 971701aa2b..542a0ed81d 100644 --- a/code/game/turfs/simulated/floor/light_floor.dm +++ b/code/game/turfs/simulated/floor/light_floor.dm @@ -43,7 +43,7 @@ icon_state = "light_off" -/turf/open/floor/light/ChangeTurf(turf/T) +/turf/open/floor/light/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) set_light(0) return ..() diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 6ffdcb3af5..f8d6c1da71 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -273,7 +273,7 @@ if(prob(50)) ChangeTurf(src.baseturf) -/turf/open/floor/vines/ChangeTurf(turf/open/floor/T) +/turf/open/floor/vines/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) . = ..() //Do this *after* the turf has changed as qdel in spacevines will call changeturf again if it hasn't for(var/obj/structure/spacevine/SV in src) diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index 8143bc3c9e..b24b758d73 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -101,7 +101,9 @@ return /turf/open/floor/plating/asteroid/singularity_act() - return + if(turf_z_is_planet(src)) + return ..() + ChangeTurf(/turf/open/space) /turf/open/floor/plating/asteroid/singularity_pull(S, current_size) if(dug) diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index be8d949eba..df353653d7 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -116,7 +116,7 @@ be_removed() return ..() -/turf/open/floor/engine/cult/ChangeTurf(path, defer_change = FALSE) +/turf/open/floor/engine/cult/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) if(path != type) be_removed() return ..() diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index 183956cf74..05d6de5ca6 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -178,7 +178,7 @@ flags_1 = CAN_BE_DIRTY_1 | CHECK_RICOCHET_1 sheet_type = /obj/item/stack/sheet/mineral/titanium smooth = SMOOTH_MORE|SMOOTH_DIAGONAL - canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium) + canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium) /turf/closed/wall/mineral/titanium/nodiagonal smooth = SMOOTH_MORE diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 0e44a88fef..57774a5754 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -263,8 +263,8 @@ if(.) ChangeTurf(/turf/closed/wall/clockwork) -/turf/closed/wall/storage_contents_dump_act(obj/item/storage/src_object, mob/user) - return 0 +/turf/closed/wall/get_dumping_location(obj/item/storage/source,mob/user) + return null /turf/closed/wall/acid_act(acidpwr, acid_volume) if(explosion_block >= 2) diff --git a/code/game/turfs/turf.dm.rej b/code/game/turfs/turf.dm.rej deleted file mode 100644 index d58adb0f78..0000000000 --- a/code/game/turfs/turf.dm.rej +++ /dev/null @@ -1 +0,0 @@ -garbage \ No newline at end of file diff --git a/code/game/world.dm b/code/game/world.dm index f5b45a46ca..a1fcc364cd 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -3,7 +3,7 @@ SetupExternalRSC() - GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl + GLOB.config_error_log = GLOB.sql_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) @@ -51,9 +51,12 @@ if(query_db_version.NextRow()) var/db_major = text2num(query_db_version.item[1]) var/db_minor = text2num(query_db_version.item[2]) - if(db_major < DB_MAJOR_VERSION || db_minor < DB_MINOR_VERSION) - message_admins("Database schema ([db_major].[db_minor]) is behind latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") - log_sql("Database schema ([db_major].[db_minor]) is behind latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") + if(db_major != DB_MAJOR_VERSION || db_minor != DB_MINOR_VERSION) + var/which = "behind" + if(db_major < DB_MAJOR_VERSION || db_minor < DB_MINOR_VERSION) + which = "ahead of" + message_admins("Database schema ([db_major].[db_minor]) is [which] the latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") + log_sql("Database schema ([db_major].[db_minor]) is [which] the latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") else message_admins("Could not get schema version from database") else @@ -79,6 +82,7 @@ GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log") GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log") GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html") + GLOB.sql_error_log = file("[GLOB.log_directory]/sql.log") WRITE_FILE(GLOB.world_game_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------") WRITE_FILE(GLOB.world_attack_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------") WRITE_FILE(GLOB.world_runtime_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 5943e753a0..b88451b724 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -31,6 +31,8 @@ if(M.client) body += " played by [M.client] " body += "\[[M.client.holder ? M.client.holder.rank : "Player"]\]" + if(config.use_exp_tracking) + body += "\[" + M.client.get_exp_living() + "\]" if(isnewplayer(M)) body += " Hasn't Entered Game " diff --git a/code/modules/admin/admin_investigate.dm.rej b/code/modules/admin/admin_investigate.dm.rej deleted file mode 100644 index d58adb0f78..0000000000 --- a/code/modules/admin/admin_investigate.dm.rej +++ /dev/null @@ -1 +0,0 @@ -garbage \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 5507d856f6..f8e5c31687 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -61,6 +61,7 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) /client/proc/cmd_admin_local_narrate, /*sends text to all mobs within view of atom*/ /client/proc/cmd_admin_create_centcom_report, /client/proc/cmd_change_command_name, + /client/proc/cmd_admin_check_player_exp, /* shows players by playtime */ /client/proc/toggle_antag_hud, /*toggle display of the admin antag hud*/ /client/proc/toggle_AI_interact, /*toggle admin ability to interact with machines as an AI*/ /client/proc/customiseSNPC, /* Customise any interactive crewmembers in the world */ diff --git a/code/modules/admin/admin_verbs.dm.rej b/code/modules/admin/admin_verbs.dm.rej new file mode 100644 index 0000000000..c2f884d37c --- /dev/null +++ b/code/modules/admin/admin_verbs.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm (rejected hunks) +@@ -663,7 +664,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) + + if(!holder) + return +- ++ + if(has_antag_hud()) + toggle_antag_hud() + diff --git a/code/modules/admin/create_poll.dm b/code/modules/admin/create_poll.dm index 15c57a8a89..d93b21d7f8 100644 --- a/code/modules/admin/create_poll.dm +++ b/code/modules/admin/create_poll.dm @@ -112,7 +112,7 @@ descmax = sanitizeSQL(descmax) else if(descmax == null) return - sql_option_list += list(list("text" = "'[option]'", "minval" = "'[minval]'", "maxval" = "'[maxval]'", "descmin" = "'[descmin]'", "descmid" = "'[descmid]'", "descmax" = "'[descmax]'", "default_display_in_results" = "'[default_percentage_calc]'")) + sql_option_list += list(list("text" = "'[option]'", "minval" = "'[minval]'", "maxval" = "'[maxval]'", "descmin" = "'[descmin]'", "descmid" = "'[descmid]'", "descmax" = "'[descmax]'", "default_percentage_calc" = "'[default_percentage_calc]'")) switch(alert(" ",,"Add option","Finish", "Cancel")) if("Add option") add_option = 1 diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index f3de43b6c6..f7aa6caaf6 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -22,6 +22,24 @@ else if(href_list["stickyban"]) stickyban(href_list["stickyban"],href_list) + else if(href_list["getplaytimewindow"]) + if(!check_rights(R_ADMIN)) + return + var/mob/M = locate(href_list["getplaytimewindow"]) in GLOB.mob_list + if(!M) + to_chat(usr, "ERROR: Mob not found.") + return + cmd_show_exp_panel(M.client) + + else if(href_list["toggleexempt"]) + if(!check_rights(R_ADMIN)) + return + var/client/C = locate(href_list["toggleexempt"]) in GLOB.clients + if(!C) + to_chat(usr, "ERROR: Client not found.") + return + toggle_exempt_status(C) + else if(href_list["makeAntag"]) if (!SSticker.mode) to_chat(usr, "Not until the round starts!") diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index b19c736e14..d593973188 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -24,7 +24,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) QDEL_NULL(cstatclick) QDEL_NULL(rstatclick) return ..() - + /datum/admin_help_tickets/proc/TicketByID(id) var/list/lists = list(active_tickets, closed_tickets, resolved_tickets) for(var/I in lists) @@ -185,8 +185,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) TimeoutVerb() - var/parsed_message = keywords_lookup(msg) - statclick = new(null, src) _interactions = list() @@ -194,7 +192,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) AddInteraction("[key_name_admin(usr)] PM'd [LinkedReplyName()]") message_admins("Ticket [TicketHref("#[id]")] created") else - MessageNoRecipient(msg, parsed_message) + MessageNoRecipient(msg) //send it to irc if nobody is on and tell us how many were on var/admin_number_present = send2irc_adminless_only(initiator_ckey, "Ticket #[id]: [name]") @@ -249,13 +247,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //message from the initiator without a target, all admins will see this //won't bug irc -/datum/admin_help/proc/MessageNoRecipient(msg, parsed_msg) +/datum/admin_help/proc/MessageNoRecipient(msg) var/ref_src = "\ref[src]" //Message to be sent to all admins - var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [parsed_msg]" + var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" AddInteraction("[LinkedReplyName(ref_src)]: [msg]") - + //send this msg to all admins for(var/client/X in GLOB.admins) if(X.prefs.toggles & SOUND_ADMINHELP) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 860e68d884..362ce2a1d8 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -352,7 +352,6 @@ GLOBAL_PROTECT(AdminProcCallCount) /obj/item/reagent_containers/food/drinks = "DRINK", //longest paths comes first /obj/item/reagent_containers/food = "FOOD", /obj/item/reagent_containers = "REAGENT_CONTAINERS", - /obj/item/weapon = "WEAPON", /obj/machinery/atmospherics = "ATMOS_MECH", /obj/machinery/portable_atmospherics = "PORT_ATMOS", /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack = "MECHA_MISSILE_RACK", diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 2bac326710..84a29d9c01 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -9,6 +9,11 @@ freq = pick(0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1.1, 1.2, 1.4, 1.6, 2.0, 2.5) to_chat(src, "You feel the Honkmother messing with your song...") + var/vol = input(usr, "What volume would you like the sound to play at?",, 100) as null|num + if(!vol) + return + vol = Clamp(vol, 1, 100) + var/sound/admin_sound = new() admin_sound.file = S admin_sound.priority = 250 @@ -17,7 +22,8 @@ admin_sound.wait = 1 admin_sound.repeat = 0 admin_sound.status = SOUND_STREAM - + admin_sound.volume = vol + var/res = alert(usr, "Show the title of this song to the players?",, "No", "Yes", "Cancel") switch(res) if("Yes") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 3d89cd49f5..62f3cab1d1 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1,1213 +1,1260 @@ -/client/proc/cmd_admin_drop_everything(mob/M in GLOB.mob_list) - set category = null - set name = "Drop Everything" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/confirm = alert(src, "Make [M] drop everything?", "Message", "Yes", "No") - if(confirm != "Yes") - return - - for(var/obj/item/W in M) - if(!M.dropItemToGround(W)) - qdel(W) - M.regenerate_icons() - - log_admin("[key_name(usr)] made [key_name(M)] drop everything!") - var/msg = "[key_name_admin(usr)] made [key_name_admin(M)] drop everything!" - message_admins(msg) - admin_ticket_log(M, msg) - SSblackbox.add_details("admin_verb","Drop Everything") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_subtle_message(mob/M in GLOB.mob_list) - set category = "Special Verbs" - set name = "Subtle Message" - - if(!ismob(M)) - return - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - message_admins("[key_name_admin(src)] has started answering [key_name(M.key, 0, 0)]'s prayer.") - var/msg = input("Message:", text("Subtle PM to [M.key]")) as text - - if (!msg) - message_admins("[key_name_admin(src)] decided not to answer [key_name(M.key, 0, 0)]'s prayer") - return - if(usr) - if (usr.client) - if(usr.client.holder) - to_chat(M, "You hear a voice in your head... [msg]") - - log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") - msg = " SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]" - message_admins(msg) - admin_ticket_log(M, msg) - SSblackbox.add_details("admin_verb","Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_world_narrate() - set category = "Special Verbs" - set name = "Global Narrate" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/msg = input("Message:", text("Enter the text you wish to appear to everyone:")) as text - - if (!msg) - return - to_chat(world, "[msg]") - log_admin("GlobalNarrate: [key_name(usr)] : [msg]") - message_admins("[key_name_admin(usr)] Sent a global narrate") - SSblackbox.add_details("admin_verb","Global Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_direct_narrate(mob/M) - set category = "Special Verbs" - set name = "Direct Narrate" - - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - - if(!M) - M = input("Direct narrate to whom?", "Active Players") as null|anything in GLOB.player_list - - if(!M) - return - - var/msg = input("Message:", text("Enter the text you wish to appear to your target:")) as text - - if( !msg ) - return - - to_chat(M, msg) - log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]") - msg = " DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
" - message_admins(msg) - admin_ticket_log(M, msg) - SSblackbox.add_details("admin_verb","Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_local_narrate(atom/A) - set category = "Special Verbs" - set name = "Local Narrate" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - if(!A) - return - var/range = input("Range:", "Narrate to mobs within how many tiles:", 7) as num - if(!range) - return - var/msg = input("Message:", text("Enter the text you wish to appear to everyone within view:")) as text - if (!msg) - return - for(var/mob/M in view(range,A)) - to_chat(M, msg) - - log_admin("LocalNarrate: [key_name(usr)] at [get_area(A)][COORD(A)]: [msg]") - message_admins(" LocalNarrate: [key_name_admin(usr)] at [get_area(A)][ADMIN_JMP(A)]: [msg]
") - SSblackbox.add_details("admin_verb","Local Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_godmode(mob/M in GLOB.mob_list) - set category = "Special Verbs" - set name = "Godmode" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - M.status_flags ^= GODMODE - to_chat(usr, "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") - - log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") - var/msg = "[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]" - message_admins(msg) - admin_ticket_log(M, msg) - SSblackbox.add_details("admin_toggle","Godmode|[M.status_flags & GODMODE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - -/proc/cmd_admin_mute(whom, mute_type, automute = 0) - if(!whom) - return - - var/muteunmute - var/mute_string - var/feedback_string - switch(mute_type) - if(MUTE_IC) - mute_string = "IC (say and emote)" - feedback_string = "IC" - if(MUTE_OOC) - mute_string = "OOC" - feedback_string = "OOC" - if(MUTE_PRAY) - mute_string = "pray" - feedback_string = "Pray" - if(MUTE_ADMINHELP) - mute_string = "adminhelp, admin PM and ASAY" - feedback_string = "Adminhelp" - if(MUTE_DEADCHAT) - mute_string = "deadchat and DSAY" - feedback_string = "Deadchat" - if(MUTE_ALL) - mute_string = "everything" - feedback_string = "Everything" - else - return - - var/client/C - if(istype(whom, /client)) - C = whom - else if(istext(whom)) - C = GLOB.directory[whom] - else - return - - var/datum/preferences/P - if(C) - P = C.prefs - else - P = GLOB.preferences_datums[whom] - if(!P) - return - - if(automute) - if(!config.automute_on) - return - else - if(!check_rights()) - return - - if(automute) - muteunmute = "auto-muted" - P.muted |= mute_type - log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(whom)] from [mute_string]") - message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(whom)] from [mute_string].") - if(C) - to_chat(C, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.") - SSblackbox.add_details("admin_toggle","Auto Mute [feedback_string]|1") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - return - - if(P.muted & mute_type) - muteunmute = "unmuted" - P.muted &= ~mute_type - else - muteunmute = "muted" - P.muted |= mute_type - - log_admin("[key_name(usr)] has [muteunmute] [key_name(whom)] from [mute_string]") - message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(whom)] from [mute_string].") - if(C) - to_chat(C, "You have been [muteunmute] from [mute_string] by [key_name(usr, include_name = FALSE)].") - SSblackbox.add_details("admin_toggle","Mute [feedback_string]|[P.muted & mute_type]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - -//I use this proc for respawn character too. /N -/proc/create_xeno(ckey) - if(!ckey) - var/list/candidates = list() - for(var/mob/M in GLOB.player_list) - if(M.stat != DEAD) - continue //we are not dead! - if(!(ROLE_ALIEN in M.client.prefs.be_special)) - continue //we don't want to be an alium - if(M.client.is_afk()) - continue //we are afk - if(M.mind && M.mind.current && M.mind.current.stat != DEAD) - continue //we have a live body we are tied to - candidates += M.ckey - if(candidates.len) - ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in candidates - else - to_chat(usr, "Error: create_xeno(): no suitable candidates.") - if(!istext(ckey)) - return 0 - - var/alien_caste = input(usr, "Please choose which caste to spawn.","Pick a caste",null) as null|anything in list("Queen","Praetorian","Hunter","Sentinel","Drone","Larva") - var/obj/effect/landmark/spawn_here = GLOB.xeno_spawn.len ? pick(GLOB.xeno_spawn) : null - var/mob/living/carbon/alien/new_xeno - switch(alien_caste) - if("Queen") - new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(spawn_here) - if("Praetorian") - new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(spawn_here) - if("Hunter") - new_xeno = new /mob/living/carbon/alien/humanoid/hunter(spawn_here) - if("Sentinel") - new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(spawn_here) - if("Drone") - new_xeno = new /mob/living/carbon/alien/humanoid/drone(spawn_here) - if("Larva") - new_xeno = new /mob/living/carbon/alien/larva(spawn_here) - else - return 0 - if(!spawn_here) - SSjob.SendToLateJoin(new_xeno, FALSE) - - new_xeno.ckey = ckey - var/msg = "[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste]." - message_admins(msg) - admin_ticket_log(new_xeno, msg) - return 1 - -/* -If a guy was gibbed and you want to revive him, this is a good way to do so. -Works kind of like entering the game with a new character. Character receives a new mind if they didn't have one. -Traitors and the like can also be revived with the previous role mostly intact. -/N */ -/client/proc/respawn_character() - set category = "Special Verbs" - set name = "Respawn Character" - set desc = "Respawn a person that has been gibbed/dusted/killed. They must be a ghost for this to work and preferably should not have a body to go back into." - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - var/input = ckey(input(src, "Please specify which key will be respawned.", "Key", "")) - if(!input) - return - - var/mob/dead/observer/G_found - for(var/mob/dead/observer/G in GLOB.player_list) - if(G.ckey == input) - G_found = G - break - - if(!G_found)//If a ghost was not found. - to_chat(usr, "There is no active key like that in the game or the person is not currently a ghost.") - return - - if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something - //Check if they were an alien - if(G_found.mind.assigned_role=="Alien") - if(alert("This character appears to have been an alien. Would you like to respawn them as such?",,"Yes","No")=="Yes") - var/turf/T - if(GLOB.xeno_spawn.len) - T = pick(GLOB.xeno_spawn) - - var/mob/living/carbon/alien/new_xeno - switch(G_found.mind.special_role)//If they have a mind, we can determine which caste they were. - if("Hunter") - new_xeno = new /mob/living/carbon/alien/humanoid/hunter(T) - if("Sentinel") - new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(T) - if("Drone") - new_xeno = new /mob/living/carbon/alien/humanoid/drone(T) - if("Praetorian") - new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(T) - if("Queen") - new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(T) - else//If we don't know what special role they have, for whatever reason, or they're a larva. - create_xeno(G_found.ckey) - return - - if(!T) - SSjob.SendToLateJoin(new_xeno, FALSE) - - //Now to give them their mind back. - G_found.mind.transfer_to(new_xeno) //be careful when doing stuff like this! I've already checked the mind isn't in use - new_xeno.key = G_found.key - to_chat(new_xeno, "You have been fully respawned. Enjoy the game.") - var/msg = "[key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno." - message_admins(msg) - admin_ticket_log(new_xeno, msg) - return //all done. The ghost is auto-deleted - - //check if they were a monkey - else if(findtext(G_found.real_name,"monkey")) - if(alert("This character appears to have been a monkey. Would you like to respawn them as such?",,"Yes","No")=="Yes") - var/mob/living/carbon/monkey/new_monkey = new - SSjob.SendToLateJoin(new_monkey) - G_found.mind.transfer_to(new_monkey) //be careful when doing stuff like this! I've already checked the mind isn't in use - new_monkey.key = G_found.key - to_chat(new_monkey, "You have been fully respawned. Enjoy the game.") - var/msg = "[key_name_admin(usr)] has respawned [new_monkey.key] as a filthy xeno." - message_admins(msg) - admin_ticket_log(new_monkey, msg) - return //all done. The ghost is auto-deleted - - - //Ok, it's not a xeno or a monkey. So, spawn a human. - var/mob/living/carbon/human/new_character = new//The mob being spawned. - SSjob.SendToLateJoin(new_character) - - var/datum/data/record/record_found //Referenced to later to either randomize or not randomize the character. - if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something - /*Try and locate a record for the person being respawned through GLOB.data_core. - This isn't an exact science but it does the trick more often than not.*/ - var/id = md5("[G_found.real_name][G_found.mind.assigned_role]") - - record_found = find_record("id", id, GLOB.data_core.locked) - - if(record_found)//If they have a record we can determine a few things. - new_character.real_name = record_found.fields["name"] - new_character.gender = record_found.fields["sex"] - new_character.age = record_found.fields["age"] - new_character.hardset_dna(record_found.fields["identity"], record_found.fields["enzymes"], record_found.fields["name"], record_found.fields["blood_type"], record_found.fields["species"], record_found.fields["features"]) - else - var/datum/preferences/A = new() - A.copy_to(new_character) - A.real_name = G_found.real_name - new_character.dna.update_dna_identity() - - new_character.name = new_character.real_name - - if(G_found.mind && !G_found.mind.active) - G_found.mind.transfer_to(new_character) //be careful when doing stuff like this! I've already checked the mind isn't in use - else - new_character.mind_initialize() - if(!new_character.mind.assigned_role) - new_character.mind.assigned_role = "Assistant"//If they somehow got a null assigned role. - - new_character.key = G_found.key - - /* - The code below functions with the assumption that the mob is already a traitor if they have a special role. - So all it does is re-equip the mob with powers and/or items. Or not, if they have no special role. - If they don't have a mind, they obviously don't have a special role. - */ - - //Two variables to properly announce later on. - var/admin = key_name_admin(src) - var/player_key = G_found.key - - //Now for special roles and equipment. - var/datum/antagonist/traitor/traitordatum = new_character.mind.has_antag_datum(ANTAG_DATUM_TRAITOR) - if(traitordatum) - SSjob.EquipRank(new_character, new_character.mind.assigned_role, 1) - traitordatum.equip() - - - switch(new_character.mind.special_role) - if("Wizard") - new_character.loc = pick(GLOB.wizardstart) - //SSticker.mode.learn_basic_spells(new_character) - SSticker.mode.equip_wizard(new_character) - if("Syndicate") - var/obj/effect/landmark/synd_spawn = locate("landmark*Syndicate-Spawn") - if(synd_spawn) - new_character.loc = get_turf(synd_spawn) - call(/datum/game_mode/proc/equip_syndicate)(new_character) - if("Space Ninja") - var/list/ninja_spawn = list() - for(var/obj/effect/landmark/L in GLOB.landmarks_list) - if(L.name=="carpspawn") - ninja_spawn += L - var/datum/antagonist/ninja/ninjadatum = new_character.mind.has_antag_datum(ANTAG_DATUM_NINJA) - ninjadatum.equip_space_ninja() - if(ninja_spawn.len) - var/obj/effect/landmark/ninja_spawn_here = pick(ninja_spawn) - new_character.loc = ninja_spawn_here.loc - - else//They may also be a cyborg or AI. - switch(new_character.mind.assigned_role) - if("Cyborg")//More rigging to make em' work and check if they're traitor. - new_character = new_character.Robotize() - if("AI") - new_character = new_character.AIize() - else - SSjob.EquipRank(new_character, new_character.mind.assigned_role, 1)//Or we simply equip them. - - //Announces the character on all the systems, based on the record. - if(!issilicon(new_character))//If they are not a cyborg/AI. - if(!record_found&&new_character.mind.assigned_role!=new_character.mind.special_role)//If there are no records for them. If they have a record, this info is already in there. MODE people are not announced anyway. - //Power to the user! - if(alert(new_character,"Warning: No data core entry detected. Would you like to announce the arrival of this character by adding them to various databases, such as medical records?",,"No","Yes")=="Yes") - GLOB.data_core.manifest_inject(new_character) - - if(alert(new_character,"Would you like an active AI to announce this character?",,"No","Yes")=="Yes") - AnnounceArrival(new_character, new_character.mind.assigned_role) - - var/msg = "[admin] has respawned [player_key] as [new_character.real_name]." - message_admins(msg) - admin_ticket_log(new_character, msg) - - to_chat(new_character, "You have been fully respawned. Enjoy the game.") - - SSblackbox.add_details("admin_verb","Respawn Character") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - return new_character - -/client/proc/cmd_admin_add_freeform_ai_law() - set category = "Fun" - set name = "Add Custom AI law" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null - if(!input) - return - - log_admin("Admin [key_name(usr)] has added a new AI law - [input]") - message_admins("Admin [key_name_admin(usr)] has added a new AI law - [input]") - - var/show_log = alert(src, "Show ion message?", "Message", "Yes", "No") - var/announce_ion_laws = (show_log == "Yes" ? 1 : -1) - - var/datum/round_event/ion_storm/add_law_only/ion = new() - ion.announceEvent = announce_ion_laws - ion.ionMessage = input - - SSblackbox.add_details("admin_verb","Add Custom AI Law") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_rejuvenate(mob/living/M in GLOB.mob_list) - set category = "Special Verbs" - set name = "Rejuvenate" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - if(!mob) - return - if(!istype(M)) - alert("Cannot revive a ghost") - return - M.revive(full_heal = 1, admin_revive = 1) - - log_admin("[key_name(usr)] healed / revived [key_name(M)]") - var/msg = "Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!" - message_admins(msg) - admin_ticket_log(M, msg) - SSblackbox.add_details("admin_verb","Rejuvinate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_create_centcom_report() - set category = "Special Verbs" - set name = "Create Command Report" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null - if(!input) - return - - var/confirm = alert(src, "Do you want to announce the contents of the report to the crew?", "Announce", "Yes", "No", "Cancel") - var/announce_command_report = TRUE - switch(confirm) - if("Yes") - priority_announce(input, null, 'sound/ai/commandreport.ogg') - announce_command_report = FALSE - if("Cancel") - return - - print_command_report(input, "[announce_command_report ? "Classified " : ""][command_name()] Update", announce_command_report) - - log_admin("[key_name(src)] has created a command report: [input]") - message_admins("[key_name_admin(src)] has created a command report") - SSblackbox.add_details("admin_verb","Create Command Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_change_command_name() - set category = "Special Verbs" - set name = "Change Command Name" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return - var/input = input(usr, "Please input a new name for Central Command.", "What?", "") as text|null - if(!input) - return - change_command_name(input) - message_admins("[key_name_admin(src)] has changed Central Command's name to [input]") - log_admin("[key_name(src)] has changed the Central Command name to: [input]") - -/client/proc/cmd_admin_delete(atom/A as obj|mob|turf in world) - set category = "Admin" - set name = "Delete" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - admin_delete(A) - -/client/proc/admin_delete(datum/D) - var/atom/A = D - var/coords = istype(A) ? " at ([A.x], [A.y], [A.z])" : "" - if (alert(src, "Are you sure you want to delete:\n[D]\nat[coords]?", "Confirmation", "Yes", "No") == "Yes") - log_admin("[key_name(usr)] deleted [D][coords]") - message_admins("[key_name_admin(usr)] deleted [D][coords]") - SSblackbox.add_details("admin_verb","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.ChangeTurf(T.baseturf) - else - qdel(D) - -/client/proc/cmd_admin_list_open_jobs() - set category = "Admin" - set name = "Manage Job Slots" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - holder.manage_free_slots() - SSblackbox.add_details("admin_verb","Manage Job Slots") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_explosion(atom/O as obj|mob|turf in world) - set category = "Special Verbs" - set name = "Explosion" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null - if(devastation == null) return - var/heavy = input("Range of heavy impact. -1 to none", text("Input")) as num|null - if(heavy == null) return - var/light = input("Range of light impact. -1 to none", text("Input")) as num|null - if(light == null) return - var/flash = input("Range of flash. -1 to none", text("Input")) as num|null - if(flash == null) return - var/flames = input("Range of flames. -1 to none", text("Input")) as num|null - if(flames == null) return - - if ((devastation != -1) || (heavy != -1) || (light != -1) || (flash != -1) || (flames != -1)) - if ((devastation > 20) || (heavy > 20) || (light > 20) || (flames > 20)) - if (alert(src, "Are you sure you want to do this? It will laaag.", "Confirmation", "Yes", "No") == "No") - return - - explosion(O, devastation, heavy, light, flash, null, null,flames) - log_admin("[key_name(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])") - message_admins("[key_name_admin(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])") - SSblackbox.add_details("admin_verb","Explosion") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - return - else - return - -/client/proc/cmd_admin_emp(atom/O as obj|mob|turf in world) - set category = "Special Verbs" - set name = "EM Pulse" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/heavy = input("Range of heavy pulse.", text("Input")) as num|null - if(heavy == null) return - var/light = input("Range of light pulse.", text("Input")) as num|null - if(light == null) return - - if (heavy || light) - - empulse(O, heavy, light) - log_admin("[key_name(usr)] created an EM Pulse ([heavy],[light]) at ([O.x],[O.y],[O.z])") - message_admins("[key_name_admin(usr)] created an EM Pulse ([heavy],[light]) at ([O.x],[O.y],[O.z])") - SSblackbox.add_details("admin_verb","EM Pulse") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - return - else - return - -/client/proc/cmd_admin_gib(mob/M in GLOB.mob_list) - set category = "Special Verbs" - set name = "Gib" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/confirm = alert(src, "Drop a brain?", "Confirm", "Yes", "No","Cancel") - if(confirm == "Cancel") - return - //Due to the delay here its easy for something to have happened to the mob - if(!M) - return - - log_admin("[key_name(usr)] has gibbed [key_name(M)]") - message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(M)]") - - if(isobserver(M)) +/client/proc/cmd_admin_drop_everything(mob/M in GLOB.mob_list) + set category = null + set name = "Drop Everything" + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/confirm = alert(src, "Make [M] drop everything?", "Message", "Yes", "No") + if(confirm != "Yes") + return + + for(var/obj/item/W in M) + if(!M.dropItemToGround(W)) + qdel(W) + M.regenerate_icons() + + log_admin("[key_name(usr)] made [key_name(M)] drop everything!") + var/msg = "[key_name_admin(usr)] made [key_name_admin(M)] drop everything!" + message_admins(msg) + admin_ticket_log(M, msg) + SSblackbox.add_details("admin_verb","Drop Everything") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_subtle_message(mob/M in GLOB.mob_list) + set category = "Special Verbs" + set name = "Subtle Message" + + if(!ismob(M)) + return + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + message_admins("[key_name_admin(src)] has started answering [key_name(M.key, 0, 0)]'s prayer.") + var/msg = input("Message:", text("Subtle PM to [M.key]")) as text + + if (!msg) + message_admins("[key_name_admin(src)] decided not to answer [key_name(M.key, 0, 0)]'s prayer") + return + if(usr) + if (usr.client) + if(usr.client.holder) + to_chat(M, "You hear a voice in your head... [msg]") + + log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") + msg = " SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]" + message_admins(msg) + admin_ticket_log(M, msg) + SSblackbox.add_details("admin_verb","Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_world_narrate() + set category = "Special Verbs" + set name = "Global Narrate" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/msg = input("Message:", text("Enter the text you wish to appear to everyone:")) as text + + if (!msg) + return + to_chat(world, "[msg]") + log_admin("GlobalNarrate: [key_name(usr)] : [msg]") + message_admins("[key_name_admin(usr)] Sent a global narrate") + SSblackbox.add_details("admin_verb","Global Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_direct_narrate(mob/M) + set category = "Special Verbs" + set name = "Direct Narrate" + + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + + if(!M) + M = input("Direct narrate to whom?", "Active Players") as null|anything in GLOB.player_list + + if(!M) + return + + var/msg = input("Message:", text("Enter the text you wish to appear to your target:")) as text + + if( !msg ) + return + + to_chat(M, msg) + log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]") + msg = " DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
" + message_admins(msg) + admin_ticket_log(M, msg) + SSblackbox.add_details("admin_verb","Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_local_narrate(atom/A) + set category = "Special Verbs" + set name = "Local Narrate" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + if(!A) + return + var/range = input("Range:", "Narrate to mobs within how many tiles:", 7) as num + if(!range) + return + var/msg = input("Message:", text("Enter the text you wish to appear to everyone within view:")) as text + if (!msg) + return + for(var/mob/M in view(range,A)) + to_chat(M, msg) + + log_admin("LocalNarrate: [key_name(usr)] at [get_area(A)][COORD(A)]: [msg]") + message_admins(" LocalNarrate: [key_name_admin(usr)] at [get_area(A)][ADMIN_JMP(A)]: [msg]
") + SSblackbox.add_details("admin_verb","Local Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_godmode(mob/M in GLOB.mob_list) + set category = "Special Verbs" + set name = "Godmode" + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + M.status_flags ^= GODMODE + to_chat(usr, "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") + + log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") + var/msg = "[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]" + message_admins(msg) + admin_ticket_log(M, msg) + SSblackbox.add_details("admin_toggle","Godmode|[M.status_flags & GODMODE]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + +/proc/cmd_admin_mute(whom, mute_type, automute = 0) + if(!whom) + return + + var/muteunmute + var/mute_string + var/feedback_string + switch(mute_type) + if(MUTE_IC) + mute_string = "IC (say and emote)" + feedback_string = "IC" + if(MUTE_OOC) + mute_string = "OOC" + feedback_string = "OOC" + if(MUTE_PRAY) + mute_string = "pray" + feedback_string = "Pray" + if(MUTE_ADMINHELP) + mute_string = "adminhelp, admin PM and ASAY" + feedback_string = "Adminhelp" + if(MUTE_DEADCHAT) + mute_string = "deadchat and DSAY" + feedback_string = "Deadchat" + if(MUTE_ALL) + mute_string = "everything" + feedback_string = "Everything" + else + return + + var/client/C + if(istype(whom, /client)) + C = whom + else if(istext(whom)) + C = GLOB.directory[whom] + else + return + + var/datum/preferences/P + if(C) + P = C.prefs + else + P = GLOB.preferences_datums[whom] + if(!P) + return + + if(automute) + if(!config.automute_on) + return + else + if(!check_rights()) + return + + if(automute) + muteunmute = "auto-muted" + P.muted |= mute_type + log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(whom)] from [mute_string]") + message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(whom)] from [mute_string].") + if(C) + to_chat(C, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.") + SSblackbox.add_details("admin_toggle","Auto Mute [feedback_string]|1") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + return + + if(P.muted & mute_type) + muteunmute = "unmuted" + P.muted &= ~mute_type + else + muteunmute = "muted" + P.muted |= mute_type + + log_admin("[key_name(usr)] has [muteunmute] [key_name(whom)] from [mute_string]") + message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(whom)] from [mute_string].") + if(C) + to_chat(C, "You have been [muteunmute] from [mute_string] by [key_name(usr, include_name = FALSE)].") + SSblackbox.add_details("admin_toggle","Mute [feedback_string]|[P.muted & mute_type]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + +//I use this proc for respawn character too. /N +/proc/create_xeno(ckey) + if(!ckey) + var/list/candidates = list() + for(var/mob/M in GLOB.player_list) + if(M.stat != DEAD) + continue //we are not dead! + if(!(ROLE_ALIEN in M.client.prefs.be_special)) + continue //we don't want to be an alium + if(M.client.is_afk()) + continue //we are afk + if(M.mind && M.mind.current && M.mind.current.stat != DEAD) + continue //we have a live body we are tied to + candidates += M.ckey + if(candidates.len) + ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in candidates + else + to_chat(usr, "Error: create_xeno(): no suitable candidates.") + if(!istext(ckey)) + return 0 + + var/alien_caste = input(usr, "Please choose which caste to spawn.","Pick a caste",null) as null|anything in list("Queen","Praetorian","Hunter","Sentinel","Drone","Larva") + var/obj/effect/landmark/spawn_here = GLOB.xeno_spawn.len ? pick(GLOB.xeno_spawn) : null + var/mob/living/carbon/alien/new_xeno + switch(alien_caste) + if("Queen") + new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(spawn_here) + if("Praetorian") + new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(spawn_here) + if("Hunter") + new_xeno = new /mob/living/carbon/alien/humanoid/hunter(spawn_here) + if("Sentinel") + new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(spawn_here) + if("Drone") + new_xeno = new /mob/living/carbon/alien/humanoid/drone(spawn_here) + if("Larva") + new_xeno = new /mob/living/carbon/alien/larva(spawn_here) + else + return 0 + if(!spawn_here) + SSjob.SendToLateJoin(new_xeno, FALSE) + + new_xeno.ckey = ckey + var/msg = "[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste]." + message_admins(msg) + admin_ticket_log(new_xeno, msg) + return 1 + +/* +If a guy was gibbed and you want to revive him, this is a good way to do so. +Works kind of like entering the game with a new character. Character receives a new mind if they didn't have one. +Traitors and the like can also be revived with the previous role mostly intact. +/N */ +/client/proc/respawn_character() + set category = "Special Verbs" + set name = "Respawn Character" + set desc = "Respawn a person that has been gibbed/dusted/killed. They must be a ghost for this to work and preferably should not have a body to go back into." + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + var/input = ckey(input(src, "Please specify which key will be respawned.", "Key", "")) + if(!input) + return + + var/mob/dead/observer/G_found + for(var/mob/dead/observer/G in GLOB.player_list) + if(G.ckey == input) + G_found = G + break + + if(!G_found)//If a ghost was not found. + to_chat(usr, "There is no active key like that in the game or the person is not currently a ghost.") + return + + if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something + //Check if they were an alien + if(G_found.mind.assigned_role=="Alien") + if(alert("This character appears to have been an alien. Would you like to respawn them as such?",,"Yes","No")=="Yes") + var/turf/T + if(GLOB.xeno_spawn.len) + T = pick(GLOB.xeno_spawn) + + var/mob/living/carbon/alien/new_xeno + switch(G_found.mind.special_role)//If they have a mind, we can determine which caste they were. + if("Hunter") + new_xeno = new /mob/living/carbon/alien/humanoid/hunter(T) + if("Sentinel") + new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(T) + if("Drone") + new_xeno = new /mob/living/carbon/alien/humanoid/drone(T) + if("Praetorian") + new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(T) + if("Queen") + new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(T) + else//If we don't know what special role they have, for whatever reason, or they're a larva. + create_xeno(G_found.ckey) + return + + if(!T) + SSjob.SendToLateJoin(new_xeno, FALSE) + + //Now to give them their mind back. + G_found.mind.transfer_to(new_xeno) //be careful when doing stuff like this! I've already checked the mind isn't in use + new_xeno.key = G_found.key + to_chat(new_xeno, "You have been fully respawned. Enjoy the game.") + var/msg = "[key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno." + message_admins(msg) + admin_ticket_log(new_xeno, msg) + return //all done. The ghost is auto-deleted + + //check if they were a monkey + else if(findtext(G_found.real_name,"monkey")) + if(alert("This character appears to have been a monkey. Would you like to respawn them as such?",,"Yes","No")=="Yes") + var/mob/living/carbon/monkey/new_monkey = new + SSjob.SendToLateJoin(new_monkey) + G_found.mind.transfer_to(new_monkey) //be careful when doing stuff like this! I've already checked the mind isn't in use + new_monkey.key = G_found.key + to_chat(new_monkey, "You have been fully respawned. Enjoy the game.") + var/msg = "[key_name_admin(usr)] has respawned [new_monkey.key] as a filthy xeno." + message_admins(msg) + admin_ticket_log(new_monkey, msg) + return //all done. The ghost is auto-deleted + + + //Ok, it's not a xeno or a monkey. So, spawn a human. + var/mob/living/carbon/human/new_character = new//The mob being spawned. + SSjob.SendToLateJoin(new_character) + + var/datum/data/record/record_found //Referenced to later to either randomize or not randomize the character. + if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something + /*Try and locate a record for the person being respawned through GLOB.data_core. + This isn't an exact science but it does the trick more often than not.*/ + var/id = md5("[G_found.real_name][G_found.mind.assigned_role]") + + record_found = find_record("id", id, GLOB.data_core.locked) + + if(record_found)//If they have a record we can determine a few things. + new_character.real_name = record_found.fields["name"] + new_character.gender = record_found.fields["sex"] + new_character.age = record_found.fields["age"] + new_character.hardset_dna(record_found.fields["identity"], record_found.fields["enzymes"], record_found.fields["name"], record_found.fields["blood_type"], record_found.fields["species"], record_found.fields["features"]) + else + var/datum/preferences/A = new() + A.copy_to(new_character) + A.real_name = G_found.real_name + new_character.dna.update_dna_identity() + + new_character.name = new_character.real_name + + if(G_found.mind && !G_found.mind.active) + G_found.mind.transfer_to(new_character) //be careful when doing stuff like this! I've already checked the mind isn't in use + else + new_character.mind_initialize() + if(!new_character.mind.assigned_role) + new_character.mind.assigned_role = "Assistant"//If they somehow got a null assigned role. + + new_character.key = G_found.key + + /* + The code below functions with the assumption that the mob is already a traitor if they have a special role. + So all it does is re-equip the mob with powers and/or items. Or not, if they have no special role. + If they don't have a mind, they obviously don't have a special role. + */ + + //Two variables to properly announce later on. + var/admin = key_name_admin(src) + var/player_key = G_found.key + + //Now for special roles and equipment. + var/datum/antagonist/traitor/traitordatum = new_character.mind.has_antag_datum(ANTAG_DATUM_TRAITOR) + if(traitordatum) + SSjob.EquipRank(new_character, new_character.mind.assigned_role, 1) + traitordatum.equip() + + + switch(new_character.mind.special_role) + if("Wizard") + new_character.loc = pick(GLOB.wizardstart) + //SSticker.mode.learn_basic_spells(new_character) + SSticker.mode.equip_wizard(new_character) + if("Syndicate") + var/obj/effect/landmark/synd_spawn = locate("landmark*Syndicate-Spawn") + if(synd_spawn) + new_character.loc = get_turf(synd_spawn) + call(/datum/game_mode/proc/equip_syndicate)(new_character) + if("Space Ninja") + var/list/ninja_spawn = list() + for(var/obj/effect/landmark/L in GLOB.landmarks_list) + if(L.name=="carpspawn") + ninja_spawn += L + var/datum/antagonist/ninja/ninjadatum = new_character.mind.has_antag_datum(ANTAG_DATUM_NINJA) + ninjadatum.equip_space_ninja() + if(ninja_spawn.len) + var/obj/effect/landmark/ninja_spawn_here = pick(ninja_spawn) + new_character.loc = ninja_spawn_here.loc + + else//They may also be a cyborg or AI. + switch(new_character.mind.assigned_role) + if("Cyborg")//More rigging to make em' work and check if they're traitor. + new_character = new_character.Robotize() + if("AI") + new_character = new_character.AIize() + else + SSjob.EquipRank(new_character, new_character.mind.assigned_role, 1)//Or we simply equip them. + + //Announces the character on all the systems, based on the record. + if(!issilicon(new_character))//If they are not a cyborg/AI. + if(!record_found&&new_character.mind.assigned_role!=new_character.mind.special_role)//If there are no records for them. If they have a record, this info is already in there. MODE people are not announced anyway. + //Power to the user! + if(alert(new_character,"Warning: No data core entry detected. Would you like to announce the arrival of this character by adding them to various databases, such as medical records?",,"No","Yes")=="Yes") + GLOB.data_core.manifest_inject(new_character) + + if(alert(new_character,"Would you like an active AI to announce this character?",,"No","Yes")=="Yes") + AnnounceArrival(new_character, new_character.mind.assigned_role) + + var/msg = "[admin] has respawned [player_key] as [new_character.real_name]." + message_admins(msg) + admin_ticket_log(new_character, msg) + + to_chat(new_character, "You have been fully respawned. Enjoy the game.") + + SSblackbox.add_details("admin_verb","Respawn Character") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + return new_character + +/client/proc/cmd_admin_add_freeform_ai_law() + set category = "Fun" + set name = "Add Custom AI law" + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null + if(!input) + return + + log_admin("Admin [key_name(usr)] has added a new AI law - [input]") + message_admins("Admin [key_name_admin(usr)] has added a new AI law - [input]") + + var/show_log = alert(src, "Show ion message?", "Message", "Yes", "No") + var/announce_ion_laws = (show_log == "Yes" ? 1 : -1) + + var/datum/round_event/ion_storm/add_law_only/ion = new() + ion.announceEvent = announce_ion_laws + ion.ionMessage = input + + SSblackbox.add_details("admin_verb","Add Custom AI Law") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_rejuvenate(mob/living/M in GLOB.mob_list) + set category = "Special Verbs" + set name = "Rejuvenate" + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + if(!mob) + return + if(!istype(M)) + alert("Cannot revive a ghost") + return + M.revive(full_heal = 1, admin_revive = 1) + + log_admin("[key_name(usr)] healed / revived [key_name(M)]") + var/msg = "Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!" + message_admins(msg) + admin_ticket_log(M, msg) + SSblackbox.add_details("admin_verb","Rejuvinate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_create_centcom_report() + set category = "Special Verbs" + set name = "Create Command Report" + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null + if(!input) + return + + var/confirm = alert(src, "Do you want to announce the contents of the report to the crew?", "Announce", "Yes", "No", "Cancel") + var/announce_command_report = TRUE + switch(confirm) + if("Yes") + priority_announce(input, null, 'sound/ai/commandreport.ogg') + announce_command_report = FALSE + if("Cancel") + return + + print_command_report(input, "[announce_command_report ? "Classified " : ""][command_name()] Update", announce_command_report) + + log_admin("[key_name(src)] has created a command report: [input]") + message_admins("[key_name_admin(src)] has created a command report") + SSblackbox.add_details("admin_verb","Create Command Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_change_command_name() + set category = "Special Verbs" + set name = "Change Command Name" + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + var/input = input(usr, "Please input a new name for Central Command.", "What?", "") as text|null + if(!input) + return + change_command_name(input) + message_admins("[key_name_admin(src)] has changed Central Command's name to [input]") + log_admin("[key_name(src)] has changed the Central Command name to: [input]") + +/client/proc/cmd_admin_delete(atom/A as obj|mob|turf in world) + set category = "Admin" + set name = "Delete" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + admin_delete(A) + +/client/proc/admin_delete(datum/D) + var/atom/A = D + var/coords = istype(A) ? " at ([A.x], [A.y], [A.z])" : "" + if (alert(src, "Are you sure you want to delete:\n[D]\nat[coords]?", "Confirmation", "Yes", "No") == "Yes") + log_admin("[key_name(usr)] deleted [D][coords]") + message_admins("[key_name_admin(usr)] deleted [D][coords]") + SSblackbox.add_details("admin_verb","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.ChangeTurf(T.baseturf) + else + qdel(D) + +/client/proc/cmd_admin_list_open_jobs() + set category = "Admin" + set name = "Manage Job Slots" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + holder.manage_free_slots() + SSblackbox.add_details("admin_verb","Manage Job Slots") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_explosion(atom/O as obj|mob|turf in world) + set category = "Special Verbs" + set name = "Explosion" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null + if(devastation == null) return + var/heavy = input("Range of heavy impact. -1 to none", text("Input")) as num|null + if(heavy == null) return + var/light = input("Range of light impact. -1 to none", text("Input")) as num|null + if(light == null) return + var/flash = input("Range of flash. -1 to none", text("Input")) as num|null + if(flash == null) return + var/flames = input("Range of flames. -1 to none", text("Input")) as num|null + if(flames == null) return + + if ((devastation != -1) || (heavy != -1) || (light != -1) || (flash != -1) || (flames != -1)) + if ((devastation > 20) || (heavy > 20) || (light > 20) || (flames > 20)) + if (alert(src, "Are you sure you want to do this? It will laaag.", "Confirmation", "Yes", "No") == "No") + return + + explosion(O, devastation, heavy, light, flash, null, null,flames) + log_admin("[key_name(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])") + message_admins("[key_name_admin(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])") + SSblackbox.add_details("admin_verb","Explosion") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + return + else + return + +/client/proc/cmd_admin_emp(atom/O as obj|mob|turf in world) + set category = "Special Verbs" + set name = "EM Pulse" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/heavy = input("Range of heavy pulse.", text("Input")) as num|null + if(heavy == null) return + var/light = input("Range of light pulse.", text("Input")) as num|null + if(light == null) return + + if (heavy || light) + + empulse(O, heavy, light) + log_admin("[key_name(usr)] created an EM Pulse ([heavy],[light]) at ([O.x],[O.y],[O.z])") + message_admins("[key_name_admin(usr)] created an EM Pulse ([heavy],[light]) at ([O.x],[O.y],[O.z])") + SSblackbox.add_details("admin_verb","EM Pulse") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + return + else + return + +/client/proc/cmd_admin_gib(mob/M in GLOB.mob_list) + set category = "Special Verbs" + set name = "Gib" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/confirm = alert(src, "Drop a brain?", "Confirm", "Yes", "No","Cancel") + if(confirm == "Cancel") + return + //Due to the delay here its easy for something to have happened to the mob + if(!M) + return + + log_admin("[key_name(usr)] has gibbed [key_name(M)]") + message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(M)]") + + if(isobserver(M)) new /obj/effect/gibspawner/generic(get_turf(M)) - return - if(confirm == "Yes") - M.gib() - else - M.gib(1) - SSblackbox.add_details("admin_verb","Gib") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_gib_self() - set name = "Gibself" - set category = "Fun" - - var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") - if(confirm == "Yes") - log_admin("[key_name(usr)] used gibself.") - message_admins("[key_name_admin(usr)] used gibself.") - SSblackbox.add_details("admin_verb","Gib Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - mob.gib(1, 1, 1) - -/client/proc/cmd_admin_check_contents(mob/living/M in GLOB.mob_list) - set category = "Special Verbs" - set name = "Check Contents" - - var/list/L = M.get_contents() - for(var/t in L) - to_chat(usr, "[t]") - SSblackbox.add_details("admin_verb","Check Contents") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/toggle_view_range() - set category = "Special Verbs" - set name = "Change View Range" - set desc = "switches between 1x and custom views" - - if(view == world.view) + return + if(confirm == "Yes") + M.gib() + else + M.gib(1) + SSblackbox.add_details("admin_verb","Gib") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/cmd_admin_gib_self() + set name = "Gibself" + set category = "Fun" + + var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") + if(confirm == "Yes") + log_admin("[key_name(usr)] used gibself.") + message_admins("[key_name_admin(usr)] used gibself.") + SSblackbox.add_details("admin_verb","Gib Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + mob.gib(1, 1, 1) + +/client/proc/cmd_admin_check_contents(mob/living/M in GLOB.mob_list) + set category = "Special Verbs" + set name = "Check Contents" + + var/list/L = M.get_contents() + for(var/t in L) + to_chat(usr, "[t]") + SSblackbox.add_details("admin_verb","Check Contents") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/toggle_view_range() + set category = "Special Verbs" + set name = "Change View Range" + set desc = "switches between 1x and custom views" + + if(view == world.view) change_view(input("Select view range:", "FUCK YE", 7) in list(1,2,3,4,5,6,7,8,9,10,11,12,13,14,128)) - else + else change_view(world.view) - - log_admin("[key_name(usr)] changed their view range to [view].") - //message_admins("\blue [key_name_admin(usr)] changed their view range to [view].") //why? removed by order of XSI - - SSblackbox.add_details("admin_toggle","Change View Range|[view]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/admin_call_shuttle() - - set category = "Admin" - set name = "Call Shuttle" - - if(EMERGENCY_AT_LEAST_DOCKED) - return - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") - if(confirm != "Yes") - return - - SSshuttle.emergency.request() - SSblackbox.add_details("admin_verb","Call Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - log_admin("[key_name(usr)] admin-called the emergency shuttle.") - message_admins("[key_name_admin(usr)] admin-called the emergency shuttle.") - return - -/client/proc/admin_cancel_shuttle() - set category = "Admin" - set name = "Cancel Shuttle" - if(!check_rights(0)) - return - if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes") - return - - if(EMERGENCY_AT_LEAST_DOCKED) - return - - SSshuttle.emergency.cancel() - SSblackbox.add_details("admin_verb","Cancel Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - log_admin("[key_name(usr)] admin-recalled the emergency shuttle.") - message_admins("[key_name_admin(usr)] admin-recalled the emergency shuttle.") - - return - -/client/proc/everyone_random() - set category = "Fun" - set name = "Make Everyone Random" - set desc = "Make everyone have a random appearance. You can only use this before rounds!" - - if(SSticker.HasRoundStarted()) - to_chat(usr, "Nope you can't do this, the game's already started. This only works before rounds!") - return - - if(config.force_random_names) - config.force_random_names = 0 - message_admins("Admin [key_name_admin(usr)] has disabled \"Everyone is Special\" mode.") - to_chat(usr, "Disabled.") - return - - - var/notifyplayers = alert(src, "Do you want to notify the players?", "Options", "Yes", "No", "Cancel") - if(notifyplayers == "Cancel") - return - - log_admin("Admin [key_name(src)] has forced the players to have random appearances.") - message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.") - - if(notifyplayers == "Yes") - to_chat(world, "Admin [usr.key] has forced the players to have completely random identities!") - - to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") - - config.force_random_names = 1 - SSblackbox.add_details("admin_verb","Make Everyone Random") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - -/client/proc/toggle_random_events() - set category = "Server" - set name = "Toggle random events on/off" - set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off" - if(!config.allow_random_events) - config.allow_random_events = 1 - to_chat(usr, "Random events enabled") - message_admins("Admin [key_name_admin(usr)] has enabled random events.") - else - config.allow_random_events = 0 - to_chat(usr, "Random events disabled") - message_admins("Admin [key_name_admin(usr)] has disabled random events.") - SSblackbox.add_details("admin_toggle","Toggle Random Events|[config.allow_random_events]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - -/client/proc/admin_change_sec_level() - set category = "Special Verbs" - set name = "Set Security Level" - set desc = "Changes the security level. Announcement only, i.e. setting to Delta won't activate nuke" - - if (!holder) - to_chat(src, "Only administrators may use this command.") - return - - var/level = input("Select security level to change to","Set Security Level") as null|anything in list("green","blue","red","delta") - if(level) - set_security_level(level) - - log_admin("[key_name(usr)] changed the security level to [level]") - message_admins("[key_name_admin(usr)] changed the security level to [level]") - SSblackbox.add_details("admin_verb","Set Security Level [capitalize(level)]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/toggle_nuke(obj/machinery/nuclearbomb/N in GLOB.nuke_list) - set name = "Toggle Nuke" - set category = "Fun" - set popup_menu = 0 - if(!check_rights(R_DEBUG)) - return - - if(!N.timing) - var/newtime = input(usr, "Set activation timer.", "Activate Nuke", "[N.timer_set]") as num - if(!newtime) - return - N.timer_set = newtime - N.set_safety() - N.set_active() - - log_admin("[key_name(usr)] [N.timing ? "activated" : "deactivated"] a nuke at ([N.x],[N.y],[N.z]).") - message_admins("[ADMIN_LOOKUPFLW(usr)] [N.timing ? "activated" : "deactivated"] a nuke at [ADMIN_COORDJMP(N)].") - SSblackbox.add_details("admin_toggle","Toggle Nuke|[N.timing]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits - -/client/proc/create_outfits() - set category = "Debug" - set name = "Create Custom Outfit" - - if(!check_rights(R_DEBUG)) - return - - holder.create_outfit() - -/datum/admins/proc/create_outfit() - var/list/uniforms = typesof(/obj/item/clothing/under) - var/list/suits = typesof(/obj/item/clothing/suit) - var/list/gloves = typesof(/obj/item/clothing/gloves) - var/list/shoes = typesof(/obj/item/clothing/shoes) - var/list/headwear = typesof(/obj/item/clothing/head) - var/list/glasses = typesof(/obj/item/clothing/glasses) - var/list/masks = typesof(/obj/item/clothing/mask) - var/list/ids = typesof(/obj/item/card/id) - - var/uniform_select = "" - - var/suit_select = "" - - var/gloves_select = "" - - var/shoes_select = "" - - var/head_select = "" - - var/glasses_select = "" - - var/mask_select = "" - - var/id_select = "" - - var/dat = {" - Create Outfit -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name: - -
Uniform: - [uniform_select] -
Suit: - [suit_select] -
Back: - -
Belt: - -
Gloves: - [gloves_select] -
Shoes: - [shoes_select] -
Head: - [head_select] -
Mask: - [mask_select] -
Ears: - -
Glasses: - [glasses_select] -
ID: - [id_select] -
Left Pocket: - -
Right Pocket: - -
Suit Store: - -
Right Hand: - -
Left Hand: - -
-
- -
- "} - usr << browse(dat, "window=dressup;size=550x600") - -/client/proc/toggle_antag_hud() - set category = "Admin" - set name = "Toggle AntagHUD" - set desc = "Toggles the Admin AntagHUD" - - if(!holder) return - - var/adding_hud = !has_antag_hud() - - for(var/datum/atom_hud/H in GLOB.huds) - if(istype(H, /datum/atom_hud/antag)) - (adding_hud) ? H.add_hud_to(usr) : H.remove_hud_from(usr) - - for(var/datum/gang/G in SSticker.mode.gangs) - var/datum/atom_hud/antag/H = G.ganghud - (adding_hud) ? H.add_hud_to(usr) : H.remove_hud_from(usr) - - to_chat(usr, "You toggled your admin antag HUD [adding_hud ? "ON" : "OFF"].") - message_admins("[key_name_admin(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].") - log_admin("[key_name(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].") - SSblackbox.add_details("admin_toggle","Toggle Antag HUD|[adding_hud]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/has_antag_hud() - var/datum/atom_hud/A = GLOB.huds[ANTAG_HUD_TRAITOR] - return A.hudusers[mob] - -/client/proc/open_shuttle_manipulator() - set category = "Admin" - set name = "Shuttle Manipulator" - set desc = "Opens the shuttle manipulator UI." - - for(var/obj/machinery/shuttle_manipulator/M in GLOB.machines) - M.ui_interact(usr) - -/client/proc/mass_zombie_infection() - set category = "Fun" - set name = "Mass Zombie Infection" - set desc = "Infects all humans with a latent organ that will zombify \ - them on death." - - if(!holder) - return - - var/confirm = alert(src, "Please confirm you want to add latent zombie organs in all humans?", "Confirm Zombies", "Yes", "No") - if(confirm != "Yes") - return - - for(var/mob/living/carbon/human/H in GLOB.mob_list) - new /obj/item/organ/zombie_infection(H) - - message_admins("[key_name_admin(usr)] added a latent zombie infection to all humans.") - log_admin("[key_name(usr)] added a latent zombie infection to all humans.") - SSblackbox.add_details("admin_verb","Mass Zombie Infection") - -/client/proc/mass_zombie_cure() - set category = "Fun" - set name = "Mass Zombie Cure" - set desc = "Removes the zombie infection from all humans, returning them to normal." - if(!holder) - return - - var/confirm = alert(src, "Please confirm you want to cure all zombies?", "Confirm Zombie Cure", "Yes", "No") - if(confirm != "Yes") - return - - for(var/obj/item/organ/zombie_infection/I in GLOB.zombie_infection_list) - qdel(I) - - message_admins("[key_name_admin(usr)] cured all zombies.") - log_admin("[key_name(usr)] cured all zombies.") - SSblackbox.add_details("admin_verb","Mass Zombie Cure") - -/client/proc/polymorph_all() - set category = "Fun" - set name = "Polymorph All" - set desc = "Applies the effects of the bolt of change to every single mob." - - if(!holder) - return - - var/confirm = alert(src, "Please confirm you want polymorph all mobs?", "Confirm Polymorph", "Yes", "No") - if(confirm != "Yes") - return - - var/list/mobs = shuffle(GLOB.living_mob_list.Copy()) // might change while iterating - var/who_did_it = key_name_admin(usr) - - message_admins("[key_name_admin(usr)] started polymorphed all living mobs.") - log_admin("[key_name(usr)] polymorphed all living mobs.") - SSblackbox.add_details("admin_verb","Polymorph All") - - for(var/mob/living/M in mobs) - CHECK_TICK - - if(!M) - continue - - M.audible_message("...wabbajack...wabbajack...") - playsound(M.loc, 'sound/magic/staff_change.ogg', 50, 1, -1) - - wabbajack(M) - - message_admins("Mass polymorph started by [who_did_it] is complete.") - - -/client/proc/show_tip() - set category = "Admin" - set name = "Show Tip" - set desc = "Sends a tip (that you specify) to all players. After all \ - you're the experienced player here." - - if(!holder) - return - - var/input = input(usr, "Please specify your tip that you want to send to the players.", "Tip", "") as message|null - if(!input) - return - - if(!SSticker) - return - - SSticker.selected_tip = input - - // If we've already tipped, then send it straight away. - if(SSticker.tipped) - SSticker.send_tip_of_the_round() - - - message_admins("[key_name_admin(usr)] sent a tip of the round.") - log_admin("[key_name(usr)] sent \"[input]\" as the Tip of the Round.") - SSblackbox.add_details("admin_verb","Show Tip") - -#define ON_PURRBATION(H) (!(H.dna.features["tail_human"] == "None" && H.dna.features["ears"] == "None")) - -/proc/mass_purrbation() - for(var/M in GLOB.mob_list) - if(ishumanbasic(M)) - purrbation_apply(M) - CHECK_TICK - -/proc/mass_remove_purrbation() - for(var/M in GLOB.mob_list) - if(ishumanbasic(M)) - purrbation_remove(M) - CHECK_TICK - -/proc/purrbation_toggle(mob/living/carbon/human/H) - if(!ishumanbasic(H)) - return - if(!ON_PURRBATION(H)) - purrbation_apply(H) - . = TRUE - else - purrbation_remove(H) - . = FALSE - -/proc/purrbation_apply(mob/living/carbon/human/H) - if(!ishuman(H)) - return - if(ON_PURRBATION(H)) - return - to_chat(H, "Something is nya~t right.") - H.dna.features["tail_human"] = "Cat" - H.dna.features["ears"] = "Cat" - H.regenerate_icons() - playsound(get_turf(H), 'sound/effects/meow1.ogg', 50, 1, -1) - -/proc/purrbation_remove(mob/living/carbon/human/H) - if(!ishuman(H)) - return - if(!ON_PURRBATION(H)) - return - to_chat(H, "You are no longer a cat.") - H.dna.features["tail_human"] = "None" - H.dna.features["ears"] = "None" - H.regenerate_icons() - -#undef ON_PURRBATION - -/client/proc/modify_goals() - set category = "Debug" - set name = "Modify goals" - - if(!check_rights(R_ADMIN)) - return - - holder.modify_goals() - -/datum/admins/proc/modify_goals() - var/dat = "" - for(var/datum/station_goal/S in SSticker.mode.station_goals) - dat += "[S.name] - Announce | Remove
" - dat += "
Add New Goal" - usr << browse(dat, "window=goals;size=400x400") - - -/client/proc/toggle_hub() - set category = "Server" - set name = "Toggle Hub" - + log_admin("[key_name(usr)] changed their view range to [view].") + //message_admins("\blue [key_name_admin(usr)] changed their view range to [view].") //why? removed by order of XSI + + SSblackbox.add_details("admin_toggle","Change View Range|[view]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/admin_call_shuttle() + + set category = "Admin" + set name = "Call Shuttle" + + if(EMERGENCY_AT_LEAST_DOCKED) + return + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") + if(confirm != "Yes") + return + + SSshuttle.emergency.request() + SSblackbox.add_details("admin_verb","Call Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + log_admin("[key_name(usr)] admin-called the emergency shuttle.") + message_admins("[key_name_admin(usr)] admin-called the emergency shuttle.") + return + +/client/proc/admin_cancel_shuttle() + set category = "Admin" + set name = "Cancel Shuttle" + if(!check_rights(0)) + return + if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes") + return + + if(EMERGENCY_AT_LEAST_DOCKED) + return + + SSshuttle.emergency.cancel() + SSblackbox.add_details("admin_verb","Cancel Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + log_admin("[key_name(usr)] admin-recalled the emergency shuttle.") + message_admins("[key_name_admin(usr)] admin-recalled the emergency shuttle.") + + return + +/client/proc/everyone_random() + set category = "Fun" + set name = "Make Everyone Random" + set desc = "Make everyone have a random appearance. You can only use this before rounds!" + + if(SSticker.HasRoundStarted()) + to_chat(usr, "Nope you can't do this, the game's already started. This only works before rounds!") + return + + if(config.force_random_names) + config.force_random_names = 0 + message_admins("Admin [key_name_admin(usr)] has disabled \"Everyone is Special\" mode.") + to_chat(usr, "Disabled.") + return + + + var/notifyplayers = alert(src, "Do you want to notify the players?", "Options", "Yes", "No", "Cancel") + if(notifyplayers == "Cancel") + return + + log_admin("Admin [key_name(src)] has forced the players to have random appearances.") + message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.") + + if(notifyplayers == "Yes") + to_chat(world, "Admin [usr.key] has forced the players to have completely random identities!") + + to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") + + config.force_random_names = 1 + SSblackbox.add_details("admin_verb","Make Everyone Random") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + +/client/proc/toggle_random_events() + set category = "Server" + set name = "Toggle random events on/off" + set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off" + if(!config.allow_random_events) + config.allow_random_events = 1 + to_chat(usr, "Random events enabled") + message_admins("Admin [key_name_admin(usr)] has enabled random events.") + else + config.allow_random_events = 0 + to_chat(usr, "Random events disabled") + message_admins("Admin [key_name_admin(usr)] has disabled random events.") + SSblackbox.add_details("admin_toggle","Toggle Random Events|[config.allow_random_events]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + +/client/proc/admin_change_sec_level() + set category = "Special Verbs" + set name = "Set Security Level" + set desc = "Changes the security level. Announcement only, i.e. setting to Delta won't activate nuke" + + if (!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/level = input("Select security level to change to","Set Security Level") as null|anything in list("green","blue","red","delta") + if(level) + set_security_level(level) + + log_admin("[key_name(usr)] changed the security level to [level]") + message_admins("[key_name_admin(usr)] changed the security level to [level]") + SSblackbox.add_details("admin_verb","Set Security Level [capitalize(level)]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/toggle_nuke(obj/machinery/nuclearbomb/N in GLOB.nuke_list) + set name = "Toggle Nuke" + set category = "Fun" + set popup_menu = 0 + if(!check_rights(R_DEBUG)) + return + + if(!N.timing) + var/newtime = input(usr, "Set activation timer.", "Activate Nuke", "[N.timer_set]") as num + if(!newtime) + return + N.timer_set = newtime + N.set_safety() + N.set_active() + + log_admin("[key_name(usr)] [N.timing ? "activated" : "deactivated"] a nuke at ([N.x],[N.y],[N.z]).") + message_admins("[ADMIN_LOOKUPFLW(usr)] [N.timing ? "activated" : "deactivated"] a nuke at [ADMIN_COORDJMP(N)].") + SSblackbox.add_details("admin_toggle","Toggle Nuke|[N.timing]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits + +/client/proc/create_outfits() + set category = "Debug" + set name = "Create Custom Outfit" + + if(!check_rights(R_DEBUG)) + return + + holder.create_outfit() + +/datum/admins/proc/create_outfit() + var/list/uniforms = typesof(/obj/item/clothing/under) + var/list/suits = typesof(/obj/item/clothing/suit) + var/list/gloves = typesof(/obj/item/clothing/gloves) + var/list/shoes = typesof(/obj/item/clothing/shoes) + var/list/headwear = typesof(/obj/item/clothing/head) + var/list/glasses = typesof(/obj/item/clothing/glasses) + var/list/masks = typesof(/obj/item/clothing/mask) + var/list/ids = typesof(/obj/item/card/id) + + var/uniform_select = "" + + var/suit_select = "" + + var/gloves_select = "" + + var/shoes_select = "" + + var/head_select = "" + + var/glasses_select = "" + + var/mask_select = "" + + var/id_select = "" + + var/dat = {" + Create Outfit +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name: + +
Uniform: + [uniform_select] +
Suit: + [suit_select] +
Back: + +
Belt: + +
Gloves: + [gloves_select] +
Shoes: + [shoes_select] +
Head: + [head_select] +
Mask: + [mask_select] +
Ears: + +
Glasses: + [glasses_select] +
ID: + [id_select] +
Left Pocket: + +
Right Pocket: + +
Suit Store: + +
Right Hand: + +
Left Hand: + +
+
+ +
+ "} + usr << browse(dat, "window=dressup;size=550x600") + +/client/proc/toggle_antag_hud() + set category = "Admin" + set name = "Toggle AntagHUD" + set desc = "Toggles the Admin AntagHUD" + + if(!holder) return + + var/adding_hud = !has_antag_hud() + + for(var/datum/atom_hud/H in GLOB.huds) + if(istype(H, /datum/atom_hud/antag)) + (adding_hud) ? H.add_hud_to(usr) : H.remove_hud_from(usr) + + for(var/datum/gang/G in SSticker.mode.gangs) + var/datum/atom_hud/antag/H = G.ganghud + (adding_hud) ? H.add_hud_to(usr) : H.remove_hud_from(usr) + + to_chat(usr, "You toggled your admin antag HUD [adding_hud ? "ON" : "OFF"].") + message_admins("[key_name_admin(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].") + log_admin("[key_name(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].") + SSblackbox.add_details("admin_toggle","Toggle Antag HUD|[adding_hud]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/has_antag_hud() + var/datum/atom_hud/A = GLOB.huds[ANTAG_HUD_TRAITOR] + return A.hudusers[mob] + +/client/proc/open_shuttle_manipulator() + set category = "Admin" + set name = "Shuttle Manipulator" + set desc = "Opens the shuttle manipulator UI." + + for(var/obj/machinery/shuttle_manipulator/M in GLOB.machines) + M.ui_interact(usr) + +/client/proc/mass_zombie_infection() + set category = "Fun" + set name = "Mass Zombie Infection" + set desc = "Infects all humans with a latent organ that will zombify \ + them on death." + + if(!holder) + return + + var/confirm = alert(src, "Please confirm you want to add latent zombie organs in all humans?", "Confirm Zombies", "Yes", "No") + if(confirm != "Yes") + return + + for(var/mob/living/carbon/human/H in GLOB.mob_list) + new /obj/item/organ/zombie_infection(H) + + message_admins("[key_name_admin(usr)] added a latent zombie infection to all humans.") + log_admin("[key_name(usr)] added a latent zombie infection to all humans.") + SSblackbox.add_details("admin_verb","Mass Zombie Infection") + +/client/proc/mass_zombie_cure() + set category = "Fun" + set name = "Mass Zombie Cure" + set desc = "Removes the zombie infection from all humans, returning them to normal." + if(!holder) + return + + var/confirm = alert(src, "Please confirm you want to cure all zombies?", "Confirm Zombie Cure", "Yes", "No") + if(confirm != "Yes") + return + + for(var/obj/item/organ/zombie_infection/I in GLOB.zombie_infection_list) + qdel(I) + + message_admins("[key_name_admin(usr)] cured all zombies.") + log_admin("[key_name(usr)] cured all zombies.") + SSblackbox.add_details("admin_verb","Mass Zombie Cure") + +/client/proc/polymorph_all() + set category = "Fun" + set name = "Polymorph All" + set desc = "Applies the effects of the bolt of change to every single mob." + + if(!holder) + return + + var/confirm = alert(src, "Please confirm you want polymorph all mobs?", "Confirm Polymorph", "Yes", "No") + if(confirm != "Yes") + return + + var/list/mobs = shuffle(GLOB.living_mob_list.Copy()) // might change while iterating + var/who_did_it = key_name_admin(usr) + + message_admins("[key_name_admin(usr)] started polymorphed all living mobs.") + log_admin("[key_name(usr)] polymorphed all living mobs.") + SSblackbox.add_details("admin_verb","Polymorph All") + + for(var/mob/living/M in mobs) + CHECK_TICK + + if(!M) + continue + + M.audible_message("...wabbajack...wabbajack...") + playsound(M.loc, 'sound/magic/staff_change.ogg', 50, 1, -1) + + wabbajack(M) + + message_admins("Mass polymorph started by [who_did_it] is complete.") + + +/client/proc/show_tip() + set category = "Admin" + set name = "Show Tip" + set desc = "Sends a tip (that you specify) to all players. After all \ + you're the experienced player here." + + if(!holder) + return + + var/input = input(usr, "Please specify your tip that you want to send to the players.", "Tip", "") as message|null + if(!input) + return + + if(!SSticker) + return + + SSticker.selected_tip = input + + // If we've already tipped, then send it straight away. + if(SSticker.tipped) + SSticker.send_tip_of_the_round() + + + message_admins("[key_name_admin(usr)] sent a tip of the round.") + log_admin("[key_name(usr)] sent \"[input]\" as the Tip of the Round.") + SSblackbox.add_details("admin_verb","Show Tip") + +#define ON_PURRBATION(H) (!(H.dna.features["tail_human"] == "None" && H.dna.features["ears"] == "None")) + +/proc/mass_purrbation() + for(var/M in GLOB.mob_list) + if(ishumanbasic(M)) + purrbation_apply(M) + CHECK_TICK + +/proc/mass_remove_purrbation() + for(var/M in GLOB.mob_list) + if(ishumanbasic(M)) + purrbation_remove(M) + CHECK_TICK + +/proc/purrbation_toggle(mob/living/carbon/human/H) + if(!ishumanbasic(H)) + return + if(!ON_PURRBATION(H)) + purrbation_apply(H) + . = TRUE + else + purrbation_remove(H) + . = FALSE + +/proc/purrbation_apply(mob/living/carbon/human/H) + if(!ishuman(H)) + return + if(ON_PURRBATION(H)) + return + to_chat(H, "Something is nya~t right.") + H.dna.features["tail_human"] = "Cat" + H.dna.features["ears"] = "Cat" + H.regenerate_icons() + playsound(get_turf(H), 'sound/effects/meow1.ogg', 50, 1, -1) + +/proc/purrbation_remove(mob/living/carbon/human/H) + if(!ishuman(H)) + return + if(!ON_PURRBATION(H)) + return + to_chat(H, "You are no longer a cat.") + H.dna.features["tail_human"] = "None" + H.dna.features["ears"] = "None" + H.regenerate_icons() + +#undef ON_PURRBATION + +/client/proc/modify_goals() + set category = "Debug" + set name = "Modify goals" + + if(!check_rights(R_ADMIN)) + return + + holder.modify_goals() + +/datum/admins/proc/modify_goals() + var/dat = "" + for(var/datum/station_goal/S in SSticker.mode.station_goals) + dat += "[S.name] - Announce | Remove
" + dat += "
Add New Goal" + usr << browse(dat, "window=goals;size=400x400") + + +/client/proc/toggle_hub() + set category = "Server" + set name = "Toggle Hub" world.update_hub_visibility(!GLOB.hub_visibility) - + log_admin("[key_name(usr)] has toggled the server's hub status for the round, it is now [(GLOB.hub_visibility?"on":"off")] the hub.") message_admins("[key_name_admin(usr)] has toggled the server's hub status for the round, it is now [(GLOB.hub_visibility?"on":"off")] the hub.") if (GLOB.hub_visibility && !world.reachable) - message_admins("WARNING: The server will not show up on the hub because byond is detecting that a filewall is blocking incoming connections.") - + message_admins("WARNING: The server will not show up on the hub because byond is detecting that a filewall is blocking incoming connections.") + SSblackbox.add_details("admin_toggle","Toggled Hub Visibility|[GLOB.hub_visibility]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/smite(mob/living/carbon/human/target as mob) - set name = "Smite" - set category = "Fun" - if(!holder) - return - - var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA) - - var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list - - if(QDELETED(target) || !punishment) - return - - switch(punishment) - if(ADMIN_PUNISHMENT_LIGHTNING) - var/turf/T = get_step(get_step(target, NORTH), NORTH) - T.Beam(target, icon_state="lightning[rand(1,12)]", time = 5) - target.adjustFireLoss(75) - target.electrocution_animation(40) - to_chat(target, "The gods have punished you for your sins!") - if(ADMIN_PUNISHMENT_BRAINDAMAGE) - target.adjustBrainLoss(75) - if(ADMIN_PUNISHMENT_GIB) - target.gib(FALSE) - if(ADMIN_PUNISHMENT_BSA) - bluespace_artillery(target) - - var/msg = "[key_name_admin(usr)] punished [key_name_admin(target)] with [punishment]." - message_admins(msg) - admin_ticket_log(target, msg) - log_admin("[key_name(usr)] punished [key_name(target)] with [punishment].") - - -/client/proc/trigger_centcom_recall() - if(!holder) - return - var/message = pick(GLOB.admiral_messages) - message = input("Enter message from the on-call admiral to be put in the recall report.", "Admiral Message", message) as text|null - - if(!message) - return - + +/client/proc/smite(mob/living/carbon/human/target as mob) + set name = "Smite" + set category = "Fun" + if(!holder) + return + + var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA) + + var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list + + if(QDELETED(target) || !punishment) + return + + switch(punishment) + if(ADMIN_PUNISHMENT_LIGHTNING) + var/turf/T = get_step(get_step(target, NORTH), NORTH) + T.Beam(target, icon_state="lightning[rand(1,12)]", time = 5) + target.adjustFireLoss(75) + target.electrocution_animation(40) + to_chat(target, "The gods have punished you for your sins!") + if(ADMIN_PUNISHMENT_BRAINDAMAGE) + target.adjustBrainLoss(75) + if(ADMIN_PUNISHMENT_GIB) + target.gib(FALSE) + if(ADMIN_PUNISHMENT_BSA) + bluespace_artillery(target) + + var/msg = "[key_name_admin(usr)] punished [key_name_admin(target)] with [punishment]." + message_admins(msg) + admin_ticket_log(target, msg) + log_admin("[key_name(usr)] punished [key_name(target)] with [punishment].") + + +/client/proc/trigger_centcom_recall() + if(!holder) + return + var/message = pick(GLOB.admiral_messages) + message = input("Enter message from the on-call admiral to be put in the recall report.", "Admiral Message", message) as text|null + + if(!message) + return + message_admins("[key_name_admin(usr)] triggered a CentCom recall, with the admiral message of: [message]") log_game("[key_name(usr)] triggered a CentCom recall, with the message of: [message]") - SSshuttle.centcom_recall(SSshuttle.emergency.timer, message) + SSshuttle.centcom_recall(SSshuttle.emergency.timer, message) + +/client/proc/cmd_admin_check_player_exp() //Allows admins to determine who the newer players are. + set category = "Admin" + set name = "Player Playtime" + if(!check_rights(R_ADMIN)) + return + + var/list/msg = list() + msg += "Playtime ReportPlaytime:
" + src << browse(msg.Join(), "window=Player_playtime_check") + +/datum/admins/proc/cmd_show_exp_panel(client/C) + if(!check_rights(R_ADMIN)) + return + if(!C) + to_chat(usr, "ERROR: Client not found.") + return + + var/list/body = list() + body += "Playtime for [C.key]
Playtime:" + body += C.get_exp_report() + body += "Toggle Exempt status" + body += "" + usr << browse(body.Join(), "window=playerplaytime[C.ckey];size=550x615") + +/datum/admins/proc/toggle_exempt_status(client/C) + if(!check_rights(R_ADMIN)) + return + if(!C) + to_chat(usr, "ERROR: Client not found.") + return + + if(!C.set_db_player_flags()) + to_chat(usr, "ERROR: Unable read player flags from database. Please check logs.") + var/dbflags = C.prefs.db_flags + var/newstate = FALSE + if(dbflags & DB_FLAG_EXEMPT) + newstate = FALSE + else + newstate = TRUE + + if(C.update_flag_db(DB_FLAG_EXEMPT, newstate)) + to_chat(usr, "ERROR: Unable to update player flags. Please check logs.") + else + message_admins("[key_name_admin(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name_admin(C)]") + log_admin("[key_name(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name(C)]") diff --git a/code/modules/admin/verbs/randomverbs.dm.rej b/code/modules/admin/verbs/randomverbs.dm.rej new file mode 100644 index 0000000000..9941251566 --- /dev/null +++ b/code/modules/admin/verbs/randomverbs.dm.rej @@ -0,0 +1,25 @@ +diff a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm (rejected hunks) +@@ -1246,7 +1246,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits + to_chat(usr, "ERROR: Client not found.") + return + +- C.set_db_player_flags() ++ if(!C.set_db_player_flags()) ++ to_chat(usr, "ERROR: Unable read player flags from database. Please check logs.") + var/dbflags = C.prefs.db_flags + var/newstate = FALSE + if(dbflags & DB_FLAG_EXEMPT) +@@ -1254,6 +1255,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits + else + newstate = TRUE + +- message_admins("[key_name_admin(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name_admin(C)]") +- log_admin("[key_name(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name(C)]") +- C.update_flag_db(DB_FLAG_EXEMPT, newstate) +\ No newline at end of file ++ if(C.update_flag_db(DB_FLAG_EXEMPT, newstate)) ++ to_chat(usr, "ERROR: Unable to update player flags. Please check logs.") ++ else ++ message_admins("[key_name_admin(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name_admin(C)]") ++ log_admin("[key_name(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name(C)]") +\ No newline at end of file diff --git a/code/modules/assembly/bomb.dm.rej b/code/modules/assembly/bomb.dm.rej deleted file mode 100644 index f3c0e1ff20..0000000000 --- a/code/modules/assembly/bomb.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm (rejected hunks) -@@ -8,7 +8,7 @@ - w_class = WEIGHT_CLASS_NORMAL - throw_speed = 2 - throw_range = 4 -- flags = CONDUCT -+ flags_1 = CONDUCT_1 - var/status = FALSE //0 - not readied //1 - bomb finished with welder - var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device - var/obj/item/tank/bombtank = null //the second part of the bomb is a plasma tank diff --git a/code/modules/atmospherics/machinery/airalarm.dm.rej b/code/modules/atmospherics/machinery/airalarm.dm.rej deleted file mode 100644 index bd403dcdff..0000000000 --- a/code/modules/atmospherics/machinery/airalarm.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm (rejected hunks) -@@ -734,7 +734,7 @@ - update_icon() - - /obj/machinery/airalarm/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/metal(loc, 2) - var/obj/item/I = new /obj/item/electronics/airalarm(loc) - if(!disassembled) diff --git a/code/modules/awaymissions/capture_the_flag.dm.rej b/code/modules/awaymissions/capture_the_flag.dm.rej deleted file mode 100644 index 3cd73a1ae5..0000000000 --- a/code/modules/awaymissions/capture_the_flag.dm.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm (rejected hunks) -@@ -473,14 +473,14 @@ - W.registered_name = H.real_name - W.update_label(W.registered_name, W.assignment) - -- // The shielded hardsuit is already NODROP -+ // The shielded hardsuit is already NODROP_1 - no_drops += H.get_item_by_slot(slot_gloves) - no_drops += H.get_item_by_slot(slot_shoes) - no_drops += H.get_item_by_slot(slot_w_uniform) - no_drops += H.get_item_by_slot(slot_ears) - for(var/i in no_drops) - var/obj/item/I = i -- I.flags |= NODROP -+ I.flags_1 |= NODROP_1 - - /datum/outfit/ctf/instagib - r_hand = /obj/item/gun/energy/laser/instakill diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index a5ea4e9a0a..0014f92378 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -46,10 +46,13 @@ create() else GLOB.poi_list |= src + LAZYADD(GLOB.mob_spawners[name], src) /obj/effect/mob_spawn/Destroy() - GLOB.poi_list.Remove(src) - . = ..() + GLOB.poi_list -= src + var/list/spawners = GLOB.mob_spawners[name] + LAZYREMOVE(spawners, src) + return ..() /obj/effect/mob_spawn/proc/special(mob/M) return diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm index a5a5f8e904..e3af2a99d7 100644 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ b/code/modules/awaymissions/mission_code/stationCollision.dm @@ -28,6 +28,8 @@ B.deity_name = "Narsie" B.icon_state = "melted" B.item_state = "melted" + B.lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' + B.righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' new /obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible(B) new /obj/item/pen(B) qdel(src) diff --git a/code/modules/cargo/console.dm.rej b/code/modules/cargo/console.dm.rej deleted file mode 100644 index e8798f179a..0000000000 --- a/code/modules/cargo/console.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm (rejected hunks) -@@ -145,7 +145,7 @@ - - var/reason = "" - if(requestonly) -- reason = stripped_input("Reason:", name, "") as text|null -+ reason = stripped_input("Reason:", name, "") - if(isnull(reason) || ..()) - return - diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index fbf00bdeff..8bdbc328ad 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -811,7 +811,7 @@ /obj/item/reagent_containers/glass/bottle/magnitis, /obj/item/reagent_containers/glass/bottle/pierrot_throat, /obj/item/reagent_containers/glass/bottle/brainrot, - /obj/item/reagent_containers/glass/bottle/hullucigen_virion, + /obj/item/reagent_containers/glass/bottle/hallucigen_virion, /obj/item/reagent_containers/glass/bottle/anxiety, /obj/item/reagent_containers/glass/bottle/beesease, /obj/item/storage/box/syringes, diff --git a/code/modules/cargo/vg_clothing_packs.dm b/code/modules/cargo/vg_clothing_packs.dm index 315d8b9ba4..99812627e3 100644 --- a/code/modules/cargo/vg_clothing_packs.dm +++ b/code/modules/cargo/vg_clothing_packs.dm @@ -1,3 +1,4 @@ +/* // Can't be bothered to maintain this, mostly just memes anyway. /datum/supply_pack/misc/vidyacon name = "Vidya-Con Surplus Crate" cost = 3250 @@ -30,4 +31,4 @@ datum/supply_pack/misc/reenactor /obj/item/clothing/under/officeruniform,/obj/item/clothing/head/naziofficer,/obj/item/clothing/suit/officercoat, /obj/item/clothing/head/panzer, /obj/item/clothing/suit/russofurcoat,/obj/item/clothing/head/russofurhat,/obj/item/clothing/under/soviet) - crate_name = "historical reanactor crate" \ No newline at end of file + crate_name = "historical reanactor crate" */ diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 29236d580d..6135e6ac9d 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -361,35 +361,34 @@ GLOBAL_LIST(external_rsc_urls) holder.owner = null GLOB.admins -= src if (!GLOB.admins.len && SSticker.IsRoundInProgress()) //Only report this stuff if we are currently playing. - if(!GLOB.admins.len) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell. - var/cheesy_message = pick( - "I have no admins online!",\ - "I'm all alone... :(",\ - "I'm feeling lonely. :(",\ - "I'm so lonely. :(",\ - "Why does nobody love me? :(",\ - "I want a man. :(",\ - "Where has everyone gone?",\ - "I need a hug. :(",\ - "Someone come hold me. :(",\ - "I need someone on me :(",\ - "What happened? Where has everyone gone?",\ - "My nipples are so stiff, but Zelda ain't here. :(",\ - "Leon senpai, play more Spessmans. :(",\ - "If only Serdy were here...",\ - "Panic bunker can't keep my love for you out.",\ - "Cebu needs to Awoo herself back into my heart.",\ - "I don't even have a Turry to snuggle viciously here.",\ - "MOM, WHERE ARE YOU??? D:",\ - "It's a beautiful day outside. Birds are singing, flowers are blooming. On days like this...kids like you...SHOULD BE BURNING IN HELL.",\ - "Sometimes when I have sex, I think about putting an entire peanut butter and jelly sandwich in the VCR.",\ - "Oh good, no-one around to watch me lick Goofball's nipples. :D",\ - "I've replaced Beepsky with a fidget spinner, glory be autism abuse.",\ - "i shure hop dere are no PRED arund!!!!",\ - "NO PRED CAN eVER CATCH MI"\ - ) + var/cheesy_message = pick( + "I have no admins online!",\ + "I'm all alone... :(",\ + "I'm feeling lonely. :(",\ + "I'm so lonely. :(",\ + "Why does nobody love me? :(",\ + "I want a man. :(",\ + "Where has everyone gone?",\ + "I need a hug. :(",\ + "Someone come hold me. :(",\ + "I need someone on me :(",\ + "What happened? Where has everyone gone?",\ + "My nipples are so stiff, but Zelda ain't here. :(",\ + "Leon senpai, play more Spessmans. :(",\ + "If only Serdy were here...",\ + "Panic bunker can't keep my love for you out.",\ + "Cebu needs to Awoo herself back into my heart.",\ + "I don't even have a Turry to snuggle viciously here.",\ + "MOM, WHERE ARE YOU??? D:",\ + "It's a beautiful day outside. Birds are singing, flowers are blooming. On days like this...kids like you...SHOULD BE BURNING IN HELL.",\ + "Sometimes when I have sex, I think about putting an entire peanut butter and jelly sandwich in the VCR.",\ + "Oh good, no-one around to watch me lick Goofball's nipples. :D",\ + "I've replaced Beepsky with a fidget spinner, glory be autism abuse.",\ + "i shure hop dere are no PRED arund!!!!",\ + "NO PRED CAN eVER CATCH MI"\ + ) - send2irc("Server", "[cheesy_message] (No admins online)") + send2irc("Server", "[cheesy_message] (No admins online)") GLOB.ahelp_tickets.ClientLogout(src) GLOB.directory -= ckey diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 9104b3d767..1df28192db 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1,1649 +1,1653 @@ - - -GLOBAL_LIST_EMPTY(preferences_datums) - - - -/datum/preferences - var/client/parent - //doohickeys for savefiles - var/path - var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used - var/max_save_slots = 10 - - //non-preference stuff - var/muted = 0 - var/last_ip - var/last_id - - //game-preferences - var/lastchangelog = "" //Saved changlog filesize to detect if there was a change - var/ooccolor = null - var/enable_tips = TRUE - var/tip_delay = 500 //tip delay in milliseconds - - //Antag preferences - var/list/be_special = list() //Special role selection - var/tmp/old_be_special = 0 //Bitflag version of be_special, used to update old savefiles and nothing more - //If it's 0, that's good, if it's anything but 0, the owner of this prefs file's antag choices were, - //autocorrected this round, not that you'd need to check that. - - - var/UI_style = "Midnight" - var/buttons_locked = FALSE - var/hotkeys = FALSE - var/tgui_fancy = TRUE - var/tgui_lock = TRUE - var/windowflashing = TRUE - var/toggles = TOGGLES_DEFAULT - var/chat_toggles = TOGGLES_DEFAULT_CHAT - var/ghost_form = "ghost" - var/ghost_orbit = GHOST_ORBIT_CIRCLE - var/ghost_accs = GHOST_ACCS_DEFAULT_OPTION - var/ghost_others = GHOST_OTHERS_DEFAULT_OPTION - var/ghost_hud = 1 - var/inquisitive_ghost = 1 - var/allow_midround_antag = 1 - var/preferred_map = null - - var/uses_glasses_colour = 0 - - //character preferences - var/real_name //our character's name - var/be_random_name = 0 //whether we'll have a random name every round - var/be_random_body = 0 //whether we'll have a random body every round - var/gender = MALE //gender of character (well duh) - var/age = 30 //age of character - var/underwear = "Nude" //underwear type - var/undershirt = "Nude" //undershirt type - var/socks = "Nude" //socks type - var/backbag = DBACKPACK //backpack type - var/hair_style = "Bald" //Hair type - var/hair_color = "000" //Hair color - var/facial_hair_style = "Shaved" //Face hair type - var/facial_hair_color = "000" //Facial hair color - var/skin_tone = "caucasian1" //Skin color - var/eye_color = "000" //Eye color - var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/list/features = list("mcolor" = "FFF", - "mcolor2" = "FFF", - "mcolor3" = "FFF", - "tail_lizard" = "Smooth", - "tail_human" = "None", - "snout" = "Round", - "horns" = "None", - "ears" = "None", - "wings" = "None", - "frills" = "None", - "spines" = "None", - "body_markings" = "None", - "mam_body_markings" = "None", - "mam_ears" = "None", - "mam_tail" = "None", - "mam_tail_animated" = "None", - "xenodorsal" = "None", - "xenohead" = "None", - "xenotail" = "None", - "legs" = "Normal Legs", - "taur" = "None", - "exhibitionist" = FALSE, - "genitals_use_skintone" = FALSE, - "has_cock" = FALSE, - "cock_shape" = "Human", - "cock_length" = 6, - "cock_girth_ratio" = COCK_GIRTH_RATIO_DEF, - "cock_color" = "fff", - "has_sheath" = FALSE, - "sheath_color" = "fff", - "has_balls" = FALSE, - "balls_internal" = FALSE, - "balls_color" = "fff", - "balls_amount" = 2, - "balls_sack_size" = BALLS_SACK_SIZE_DEF, - "balls_size" = BALLS_SIZE_DEF, - "balls_cum_rate" = CUM_RATE, - "balls_cum_mult" = CUM_RATE_MULT, - "balls_efficiency" = CUM_EFFICIENCY, - "balls_fluid" = "semen", - "has_ovi" = FALSE, - "ovi_shape" = "knotted", - "ovi_length" = 6, - "ovi_color" = "fff", - "has_eggsack" = FALSE, - "eggsack_internal" = TRUE, - "eggsack_color" = "fff", - "eggsack_size" = BALLS_SACK_SIZE_DEF, - "eggsack_egg_color" = "fff", - "eggsack_egg_size" = EGG_GIRTH_DEF, - "has_breasts" = FALSE, - "breasts_color" = "fff", - "breasts_size" = "C", - "breasts_shape" = "Pair", - "breasts_fluid" = "milk", - "has_vag" = FALSE, - "vag_shape" = "Human", - "vag_color" = "fff", - "vag_clits" = 1, - "vag_clit_diam" = 0.25, - "vag_clit_len" = 0.25, - "has_womb" = FALSE, - "womb_cum_rate" = CUM_RATE, - "womb_cum_mult" = CUM_RATE_MULT, - "womb_efficiency" = CUM_EFFICIENCY, - "womb_fluid" = "femcum", - "flavor_text" = "" - )//MAKE SURE TO UPDATE THE LIST IN MOBS.DM IF YOU'RE GOING TO ADD TO THIS LIST, OTHERWISE THINGS MIGHT GET FUCKEY - - var/list/custom_names = list("clown", "mime", "ai", "cyborg", "religion", "deity") - var/prefered_security_department = SEC_DEPT_RANDOM - - //Mob preview - var/icon/preview_icon = null - - //Jobs, uses bitflags - var/job_civilian_high = 0 - var/job_civilian_med = 0 - var/job_civilian_low = 0 - - var/job_medsci_high = 0 - var/job_medsci_med = 0 - var/job_medsci_low = 0 - - var/job_engsec_high = 0 - var/job_engsec_med = 0 - var/job_engsec_low = 0 - - // Want randomjob if preferences already filled - Donkie - var/joblessrole = BERANDOMJOB //defaults to 1 for fewer assistants - - // 0 = character settings, 1 = game preferences, 2 = character appearance - var/current_tab = 0 - - // OOC Metadata: - var/metadata = "" - - var/unlock_content = 0 - - var/list/ignoring = list() - - var/clientfps = 0 - - var/parallax - - var/uplink_spawn_loc = UPLINK_PDA - - var/list/menuoptions - - //citadel code - var/arousable = TRUE //Allows players to disable arousal from the character creation menu - -/datum/preferences/New(client/C) - parent = C - custom_names["ai"] = pick(GLOB.ai_names) - custom_names["cyborg"] = pick(GLOB.ai_names) - custom_names["clown"] = pick(GLOB.clown_names) - custom_names["mime"] = pick(GLOB.mime_names) - if(istype(C)) - if(!IsGuestKey(C.key)) - load_path(C.ckey) - unlock_content = C.IsByondMember() - if(unlock_content) - max_save_slots = 16 - var/loaded_preferences_successfully = load_preferences() - if(loaded_preferences_successfully) - if(load_character()) - return - //we couldn't load character data so just randomize the character appearance + name - random_character() //let's create a random character then - rather than a fat, bald and naked man. - real_name = pref_species.random_name(gender,1) - if(!loaded_preferences_successfully) - save_preferences() - save_character() //let's save this new random character so it doesn't keep generating new ones. - menuoptions = list() - return - -/datum/preferences/proc/ShowChoices(mob/user) - if(!user || !user.client) - return - if(current_tab == 2) - update_preview_icon(nude=TRUE) - else - update_preview_icon(nude=FALSE) - user << browse_rsc(preview_icon, "previewicon.png") - var/dat = "
" - - dat += "Character Settings" - dat += "Character Appearance" - dat += "Game Preferences" - - if(!path) - dat += "
Please create an account to save your preferences
" - - dat += "
" - - dat += "
" - - switch(current_tab) - if (0) // Character Settings# - if(path) - var/savefile/S = new /savefile(path) - if(S) - dat += "
" - var/name - for(var/i=1, i<=max_save_slots, i++) - S.cd = "/character[i]" - S["real_name"] >> name - if(!name) - name = "Character[i]" - //if(i!=1) dat += " | " - dat += "[name] " - dat += "
" - - dat += "

Occupation Choices

" - dat += "Set Occupation Preferences
" - dat += "

Identity

" - dat += "" - - dat += "
" - if(jobban_isbanned(user, "appearance")) - dat += "You are banned from using custom names and appearances. You can continue to adjust your characters, but you will be randomised once you join the game.
" - dat += "Random Name " - dat += "Always Random Name: [be_random_name ? "Yes" : "No"]
" - - dat += "Name: " - dat += "[real_name]
" - - dat += "Gender: [gender == MALE ? "Male" : "Female"]
" - dat += "Age: [age]
" - dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" - dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" - dat += "Special Names:
" - dat += "Clown: [custom_names["clown"]] " - dat += "Mime:[custom_names["mime"]]
" - dat += "AI: [custom_names["ai"]] " - dat += "Cyborg: [custom_names["cyborg"]]
" - dat += "Chaplain religion: [custom_names["religion"]] " - dat += "Chaplain deity: [custom_names["deity"]]
" - - dat += "Custom job preferences:
" - dat += "Prefered security department: [prefered_security_department]
" - - dat += "
" - - dat += "
" -// dat += "Size: [character_size]
" - dat += "
" - - if (1) // Game Preferences - dat += "
" - dat += "

General Settings

" - dat += "UI Style: [UI_style]
" - dat += "Keybindings: [(hotkeys) ? "Hotkeys" : "Default"]
" - dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
" - dat += "tgui Style: [(tgui_fancy) ? "Fancy" : "No Frills"]
" - dat += "tgui Monitors: [(tgui_lock) ? "Primary" : "All"]
" - dat += "Window Flashing: [(windowflashing) ? "Yes" : "No"]
" - dat += "Play admin midis: [(toggles & SOUND_MIDI) ? "Yes" : "No"]
" - dat += "Play lobby music: [(toggles & SOUND_LOBBY) ? "Yes" : "No"]
" - dat += "Ghost ears: [(chat_toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" - dat += "Ghost sight: [(chat_toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" - dat += "Ghost whispers: [(chat_toggles & CHAT_GHOSTWHISPER) ? "All Speech" : "Nearest Creatures"]
" - dat += "Ghost radio: [(chat_toggles & CHAT_GHOSTRADIO) ? "Yes" : "No"]
" - dat += "Ghost pda: [(chat_toggles & CHAT_GHOSTPDA) ? "All Messages" : "Nearest Creatures"]
" - dat += "Pull requests: [(chat_toggles & CHAT_PULLR) ? "Yes" : "No"]
" - dat += "Midround Antagonist: [(toggles & MIDROUND_ANTAG) ? "Yes" : "No"]
" - if(config.allow_Metadata) - dat += "OOC Notes: Edit
" - - if(user.client) - if(user.client.holder) - dat += "Adminhelp Sound: [(toggles & SOUND_ADMINHELP)?"On":"Off"]
" - dat += "Announce Login: [(toggles & ANNOUNCE_LOGIN)?"On":"Off"]
" - - if(unlock_content || check_rights_for(user.client, R_ADMIN)) - dat += "OOC:     Change
" - - if(unlock_content) - dat += "BYOND Membership Publicity: [(toggles & MEMBER_PUBLIC) ? "Public" : "Hidden"]
" - dat += "Ghost Form: [ghost_form]
" - dat += "Ghost Orbit: [ghost_orbit]
" - - var/button_name = "If you see this something went wrong." - switch(ghost_accs) - if(GHOST_ACCS_FULL) - button_name = GHOST_ACCS_FULL_NAME - if(GHOST_ACCS_DIR) - button_name = GHOST_ACCS_DIR_NAME - if(GHOST_ACCS_NONE) - button_name = GHOST_ACCS_NONE_NAME - - dat += "Ghost Accessories: [button_name]
" - - switch(ghost_others) - if(GHOST_OTHERS_THEIR_SETTING) - button_name = GHOST_OTHERS_THEIR_SETTING_NAME - if(GHOST_OTHERS_DEFAULT_SPRITE) - button_name = GHOST_OTHERS_DEFAULT_SPRITE_NAME - if(GHOST_OTHERS_SIMPLE) - button_name = GHOST_OTHERS_SIMPLE_NAME - - dat += "Ghosts of Others: [button_name]
" - - if (config.maprotation) - var/p_map = preferred_map - if (!p_map) - p_map = "Default" - if (config.defaultmap) - p_map += " ([config.defaultmap.map_name])" - else - if (p_map in config.maplist) - var/datum/map_config/VM = config.maplist[p_map] - if (!VM) - p_map += " (No longer exists)" - else - p_map = VM.map_name - else - p_map += " (No longer exists)" - if(config.allow_map_voting) - dat += "Preferred Map: [p_map]
" - - dat += "FPS: [clientfps]
" - - dat += "Parallax (Fancy Space): " - switch (parallax) - if (PARALLAX_LOW) - dat += "Low" - if (PARALLAX_MED) - dat += "Medium" - if (PARALLAX_INSANE) - dat += "Insane" - if (PARALLAX_DISABLE) - dat += "Disabled" - else - dat += "High" - dat += "
" - - dat += "
" - - dat += "

Special Role Settings

" - - if(jobban_isbanned(user, "Syndicate")) - dat += "You are banned from antagonist roles." - src.be_special = list() - - - for (var/i in GLOB.special_roles) - if(jobban_isbanned(user, i)) - dat += "Be [capitalize(i)]: BANNED
" - else - var/days_remaining = null - if(config.use_age_restriction_for_jobs && ispath(GLOB.special_roles[i])) //If it's a game mode antag, check if the player meets the minimum age - var/mode_path = GLOB.special_roles[i] - var/datum/game_mode/temp_mode = new mode_path - days_remaining = temp_mode.get_remaining_days(user.client) - - if(days_remaining) - dat += "Be [capitalize(i)]: \[IN [days_remaining] DAYS]
" - else - dat += "Be [capitalize(i)]: [(i in be_special) ? "Yes" : "No"]
" - - dat += "
" - - //Character Appearance - if(2) - dat += "" - */ - - - dat += "
" - dat += "

" - dat += "Set Flavor Text
" - if(lentext(features["flavor_text"]) <= 40) - if(!lentext(features["flavor_text"])) - dat += "\[...\]" - else - dat += "[features["flavor_text"]]" - else - dat += "[TextPreview(features["flavor_text"])]...
" - if(config.mutant_races)//really don't need this check, but fuck un-tabbing all those lines - dat += "

Body

" - dat += "Gender: [gender == MALE ? "Male" : "Female"]
" - dat += "Species:[pref_species.id]
" - dat += "Random Body
" - dat += "Always Random Body: [be_random_body ? "Yes" : "No"]
" - if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits)) - dat += "Primary Color:     Change
" - dat += "Secondary Color:     Change
" - dat += "Tertiary Color:     Change
" - if(pref_species.use_skintones) - dat += "Skin Tone: [skin_tone]
" - dat += "Genitals Use Skintone:[features["genitals_use_skintone"] == TRUE ? "Enabled" : "Disabled"]
" - - if(HAIR in pref_species.species_traits) - dat += "Hair Style: [hair_style]
" - dat += "Hair Color:     Change
" - dat += "Facial Hair Style: [facial_hair_style]
" - dat += "Facial Hair Color:     Change
" - if(EYECOLOR in pref_species.species_traits) - dat += "Eye Color:     Change
" - if("tail_lizard" in pref_species.mutant_bodyparts) - dat += "Tail: [features["tail_lizard"]]
" - else if("mam_tail" in pref_species.mutant_bodyparts) - dat += "Tail: [features["mam_tail"]]
" - else if("tail_human" in pref_species.mutant_bodyparts) - dat += "Tail: [features["tail_human"]]
" - if("snout" in pref_species.mutant_bodyparts) - dat += "Snout: [features["snout"]]
" - if("horns" in pref_species.mutant_bodyparts) - dat += "Horns: [features["horns"]]
" - if("frills" in pref_species.mutant_bodyparts) - dat += "Frills: [features["frills"]]
" - if("spines" in pref_species.mutant_bodyparts) - dat += "Spines: [features["spines"]]
" - if("body_markings" in pref_species.mutant_bodyparts) - dat += "Body Markings: [features["body_markings"]]
" - else if("mam_body_markings" in pref_species.mutant_bodyparts) - dat += "Body Markings: [features["mam_body_markings"]]
" - if("mam_ears" in pref_species.mutant_bodyparts) - dat += "Ears: [features["mam_ears"]]
" - else if("ears" in pref_species.mutant_bodyparts) - dat += "Ears: [features["ears"]]
" - if("legs" in pref_species.mutant_bodyparts) - dat += "Legs: [features["legs"]]
" - if("taur" in pref_species.mutant_bodyparts) - dat += "Taur: [features["taur"]]
" - if("wings" in pref_species.mutant_bodyparts && GLOB.r_wings_list.len >1) - dat += "Wings: [features["wings"]]
" - if("xenohead" in pref_species.mutant_bodyparts) - dat += "Caste: [features["xenohead"]]
" - if("xenotail" in pref_species.mutant_bodyparts) - dat += "Tail: [features["xenotail"]]
" - if("xenodorsal" in pref_species.mutant_bodyparts) - dat += "Dorsal Tubes: [features["xenodorsal"]]
" - - dat += "
" - - - dat += "

Clothing & Equipment

" -//underwear will be refactored later so it fits in with other wearable equipment and isn't just an overlay -// dat += "Underwear:[underwear]
" -// dat += "Undershirt:[undershirt]
" -// dat += "Socks:[socks]
" - dat += "Backpack:[backbag]
" - dat += "Uplink Location:[uplink_spawn_loc]
" - - dat += "

Genitals

" - if(NOGENITALS in pref_species.species_traits) - dat += "Your species ([pref_species.name]) does not support genitals!
" - else - dat += "Has Penis:[features["has_cock"] == TRUE ? "Yes" : "No"]
" - if(features["has_cock"] == TRUE) - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Penis Color:   (Skin tone overriding)
" - else - dat += "Penis Color:    Change
" -// dat += "
" - dat += "Penis Shape: [features["cock_shape"]]
" - dat += "Penis Length: [features["cock_length"]] inch(es)
" - dat += "Has Testicles:[features["has_balls"] == TRUE ? "Yes" : "No"]
" - if(features["has_balls"] == TRUE) - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Testicles Color:   (Skin tone overriding)
" - else - dat += "Testicles Color:    Change
" - dat += "Has Vagina:[features["has_vag"] == TRUE ? "Yes" : "No"]
" - if(features["has_vag"]) - dat += "Vagina Type: [features["vag_shape"]]
" - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Vagina Color:   (Skin tone overriding)
" - else - dat += "Vagina Color:    Change
" - dat += "Has Womb:[features["has_womb"] == TRUE ? "Yes" : "No"]
" - dat += "Has Breasts:[features["has_breasts"] == TRUE ? "Yes" : "No"]
" - if(features["has_breasts"]) - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Color:   (Skin tone overriding)
" - else - dat += "Color:    Change
" - dat += "Cup Size:[features["breasts_size"]]
" - dat += "Breast Shape:[features["breasts_shape"]]
" - /* - dat += "

Ovipositor

" - dat += "Has Ovipositor:[features["has_ovi"] == TRUE ? "Yes" : "No"]" - if(features["has_ovi"]) - dat += "Ovi Color:    Change" - dat += "

Eggsack

" - dat += "Has Eggsack:[features["has_eggsack"] == TRUE ? "Yes" : "No"]
" - if(features["has_eggsack"] == TRUE) - dat += "Color:    Change" - dat += "Egg Color:    Change" - dat += "Egg Size:[features["eggsack_egg_size"]]\" Diameter" - - dat += "
" - dat += "
" - - if(!IsGuestKey(user.key)) - dat += "Undo " - dat += "Save Setup " - - dat += "Reset Setup" - dat += "
" - - var/datum/browser/popup = new(user, "preferences", "
Character Setup
", 640, 770) - popup.set_content(dat) - popup.open(0) - -/datum/preferences/proc/SetChoices(mob/user, limit = 17, list/splitJobs = list("Chief Engineer"), widthPerColumn = 295, height = 620) - if(!SSjob) - return - - //limit - The amount of jobs allowed per column. Defaults to 17 to make it look nice. - //splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. - //widthPerColumn - Screen's width for every column. - //height - Screen's height. - - var/width = widthPerColumn - - var/HTML = "
" - if(SSjob.occupations.len <= 0) - HTML += "The job ticker is not yet finished creating jobs, please try again later" - HTML += "
Done

" // Easier to press up here. - - else - HTML += "Choose occupation chances
" - HTML += "
Left-click to raise an occupation preference, right-click to lower it.
" - HTML += "
Done

" // Easier to press up here. - HTML += "" - HTML += "
" // Table within a table for alignment, also allows you to easily add more colomns. - HTML += "" - var/index = -1 - - //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. - var/datum/job/lastJob - - for(var/datum/job/job in SSjob.occupations) - - index += 1 - if((index >= limit) || (job.title in splitJobs)) - width += widthPerColumn - if((index < limit) && (lastJob != null)) - //If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with - //the last job's selection color. Creating a rather nice effect. - for(var/i = 0, i < (limit - index), i += 1) - HTML += "" - HTML += "
  
" - index = 0 - - HTML += "" - continue - if(!job.player_old_enough(user.client)) - var/available_in_days = job.available_in_days(user.client) - HTML += "[rank]" - continue - if((job_civilian_low & ASSISTANT) && (rank != "Assistant") && !jobban_isbanned(user, "Assistant")) - HTML += "[rank]" - continue - if(config.enforce_human_authority && !user.client.prefs.pref_species.qualifies_for_rank(rank, user.client.prefs.features)) - if(user.client.prefs.pref_species.id == "human") - HTML += "[rank]" - else - HTML += "[rank]" - continue - if((rank in GLOB.command_positions) || (rank == "AI"))//Bold head jobs - HTML += "[rank]" - else - HTML += "[rank]" - - HTML += "" - continue - - HTML += "[prefLevelLabel]" - HTML += "" - - for(var/i = 1, i < (limit - index), i += 1) // Finish the column so it is even - HTML += "" - - HTML += "
" - var/rank = job.title - lastJob = job - if(jobban_isbanned(user, rank)) - HTML += "[rank] BANNED
\[IN [(available_in_days)] DAYS\]
\[MUTANT\]
\[NON-HUMAN\]
" - - var/prefLevelLabel = "ERROR" - var/prefLevelColor = "pink" - var/prefUpperLevel = -1 // level to assign on left click - var/prefLowerLevel = -1 // level to assign on right click - - if(GetJobDepartment(job, 1) & job.flag) - prefLevelLabel = "High" - prefLevelColor = "slateblue" - prefUpperLevel = 4 - prefLowerLevel = 2 - else if(GetJobDepartment(job, 2) & job.flag) - prefLevelLabel = "Medium" - prefLevelColor = "green" - prefUpperLevel = 1 - prefLowerLevel = 3 - else if(GetJobDepartment(job, 3) & job.flag) - prefLevelLabel = "Low" - prefLevelColor = "orange" - prefUpperLevel = 2 - prefLowerLevel = 4 - else - prefLevelLabel = "NEVER" - prefLevelColor = "red" - prefUpperLevel = 3 - prefLowerLevel = 1 - - - HTML += "" - - if(rank == "Assistant")//Assistant is special - if(job_civilian_low & ASSISTANT) - HTML += "Yes" - else - HTML += "No" - HTML += "
  
" - HTML += "
" - - var/message = "Be an Assistant if preferences unavailable" - if(joblessrole == BERANDOMJOB) - message = "Get random job if preferences unavailable" - else if(joblessrole == RETURNTOLOBBY) - message = "Return to lobby if preferences unavailable" - HTML += "

[message]
" - HTML += "
Reset Preferences
" - - user << browse(null, "window=preferences") - var/datum/browser/popup = new(user, "mob_occupation", "
Occupation Preferences
", width, height) - popup.set_window_options("can_close=0") - popup.set_content(HTML) - popup.open(0) - return - -/datum/preferences/proc/SetJobPreferenceLevel(datum/job/job, level) - if (!job) - return 0 - - if (level == 1) // to high - // remove any other job(s) set to high - job_civilian_med |= job_civilian_high - job_engsec_med |= job_engsec_high - job_medsci_med |= job_medsci_high - job_civilian_high = 0 - job_engsec_high = 0 - job_medsci_high = 0 - - if (job.department_flag == CIVILIAN) - job_civilian_low &= ~job.flag - job_civilian_med &= ~job.flag - job_civilian_high &= ~job.flag - - switch(level) - if (1) - job_civilian_high |= job.flag - if (2) - job_civilian_med |= job.flag - if (3) - job_civilian_low |= job.flag - - return 1 - else if (job.department_flag == ENGSEC) - job_engsec_low &= ~job.flag - job_engsec_med &= ~job.flag - job_engsec_high &= ~job.flag - - switch(level) - if (1) - job_engsec_high |= job.flag - if (2) - job_engsec_med |= job.flag - if (3) - job_engsec_low |= job.flag - - return 1 - else if (job.department_flag == MEDSCI) - job_medsci_low &= ~job.flag - job_medsci_med &= ~job.flag - job_medsci_high &= ~job.flag - - switch(level) - if (1) - job_medsci_high |= job.flag - if (2) - job_medsci_med |= job.flag - if (3) - job_medsci_low |= job.flag - - return 1 - - return 0 - -/datum/preferences/proc/UpdateJobPreference(mob/user, role, desiredLvl) - if(!SSjob || SSjob.occupations.len <= 0) - return - var/datum/job/job = SSjob.GetJob(role) - - if(!job) - user << browse(null, "window=mob_occupation") - ShowChoices(user) - return - - if (!isnum(desiredLvl)) - to_chat(user, "UpdateJobPreference - desired level was not a number. Please notify coders!") - ShowChoices(user) - return - - if(role == "Assistant") - if(job_civilian_low & job.flag) - job_civilian_low &= ~job.flag - else - job_civilian_low |= job.flag - SetChoices(user) - return 1 - - SetJobPreferenceLevel(job, desiredLvl) - SetChoices(user) - - return 1 - - -/datum/preferences/proc/ResetJobs() - - job_civilian_high = 0 - job_civilian_med = 0 - job_civilian_low = 0 - - job_medsci_high = 0 - job_medsci_med = 0 - job_medsci_low = 0 - - job_engsec_high = 0 - job_engsec_med = 0 - job_engsec_low = 0 - - -/datum/preferences/proc/GetJobDepartment(datum/job/job, level) - if(!job || !level) - return 0 - switch(job.department_flag) - if(CIVILIAN) - switch(level) - if(1) - return job_civilian_high - if(2) - return job_civilian_med - if(3) - return job_civilian_low - if(MEDSCI) - switch(level) - if(1) - return job_medsci_high - if(2) - return job_medsci_med - if(3) - return job_medsci_low - if(ENGSEC) - switch(level) - if(1) - return job_engsec_high - if(2) - return job_engsec_med - if(3) - return job_engsec_low - return 0 - -/datum/preferences/proc/process_link(mob/user, list/href_list) - if(href_list["jobbancheck"]) - var/job = sanitizeSQL(href_list["jobbancheck"]) - var/sql_ckey = sanitizeSQL(user.ckey) - var/datum/DBQuery/query_get_jobban = SSdbcore.NewQuery("SELECT reason, bantime, duration, expiration_time, a_ckey FROM [format_table_name("ban")] WHERE ckey = '[sql_ckey]' AND (bantype = 'JOB_PERMABAN' OR (bantype = 'JOB_TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned) AND job = '[job]'") - if(!query_get_jobban.warn_execute()) - return - if(query_get_jobban.NextRow()) - var/reason = query_get_jobban.item[1] - var/bantime = query_get_jobban.item[2] - var/duration = query_get_jobban.item[3] - var/expiration_time = query_get_jobban.item[4] - var/a_ckey = query_get_jobban.item[5] - var/text - text = "You, or another user of this computer, ([user.ckey]) is banned from playing [job]. The ban reason is:
[reason]
This ban was applied by [a_ckey] on [bantime]" - if(text2num(duration) > 0) - text += ". The ban is for [duration] minutes and expires on [expiration_time] (server time)" - text += ".
" - to_chat(user, text) - return - - if(href_list["preference"] == "job") - switch(href_list["task"]) - if("close") - user << browse(null, "window=mob_occupation") - ShowChoices(user) - if("reset") - ResetJobs() - SetChoices(user) - if("random") - switch(joblessrole) - if(RETURNTOLOBBY) - if(jobban_isbanned(user, "Assistant")) - joblessrole = BERANDOMJOB - else - joblessrole = BEASSISTANT - if(BEASSISTANT) - joblessrole = BERANDOMJOB - if(BERANDOMJOB) - joblessrole = RETURNTOLOBBY - SetChoices(user) - if("setJobLevel") - UpdateJobPreference(user, href_list["text"], text2num(href_list["level"])) - else - SetChoices(user) - return 1 - - switch(href_list["task"]) - if("random") - switch(href_list["preference"]) - if("name") - real_name = pref_species.random_name(gender,1) - if("age") - age = rand(AGE_MIN, AGE_MAX) - if("hair") - hair_color = random_short_color() - if("hair_style") - hair_style = random_hair_style(gender) - if("facial") - facial_hair_color = random_short_color() - if("facial_hair_style") - facial_hair_style = random_facial_hair_style(gender) - if("underwear") - underwear = random_underwear(gender) - if("undershirt") - undershirt = random_undershirt(gender) - if("socks") - socks = random_socks() - if("eyes") - eye_color = random_eye_color() - if("s_tone") - skin_tone = random_skin_tone() - if("bag") - backbag = pick(GLOB.backbaglist) - if("all") - random_character() - - if("input") - switch(href_list["preference"]) - if("ghostform") - if(unlock_content) - var/new_form = input(user, "Thanks for supporting BYOND - Choose your ghostly form:","Thanks for supporting BYOND",null) as null|anything in GLOB.ghost_forms - if(new_form) - ghost_form = new_form - if("ghostorbit") - if(unlock_content) - var/new_orbit = input(user, "Thanks for supporting BYOND - Choose your ghostly orbit:","Thanks for supporting BYOND", null) as null|anything in GLOB.ghost_orbits - if(new_orbit) - ghost_orbit = new_orbit - - if("ghostaccs") - var/new_ghost_accs = alert("Do you want your ghost to show full accessories where possible, hide accessories but still use the directional sprites where possible, or also ignore the directions and stick to the default sprites?",,GHOST_ACCS_FULL_NAME, GHOST_ACCS_DIR_NAME, GHOST_ACCS_NONE_NAME) - switch(new_ghost_accs) - if(GHOST_ACCS_FULL_NAME) - ghost_accs = GHOST_ACCS_FULL - if(GHOST_ACCS_DIR_NAME) - ghost_accs = GHOST_ACCS_DIR - if(GHOST_ACCS_NONE_NAME) - ghost_accs = GHOST_ACCS_NONE - - if("ghostothers") - var/new_ghost_others = alert("Do you want the ghosts of others to show up as their own setting, as their default sprites or always as the default white ghost?",,GHOST_OTHERS_THEIR_SETTING_NAME, GHOST_OTHERS_DEFAULT_SPRITE_NAME, GHOST_OTHERS_SIMPLE_NAME) - switch(new_ghost_others) - if(GHOST_OTHERS_THEIR_SETTING_NAME) - ghost_others = GHOST_OTHERS_THEIR_SETTING - if(GHOST_OTHERS_DEFAULT_SPRITE_NAME) - ghost_others = GHOST_OTHERS_DEFAULT_SPRITE - if(GHOST_OTHERS_SIMPLE_NAME) - ghost_others = GHOST_OTHERS_SIMPLE - - if("name") - var/new_name = reject_bad_name( input(user, "Choose your character's name:", "Character Preference") as text|null ) - if(new_name) - real_name = new_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") - - if("age") - var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null - if(new_age) - age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) - - if("flavor_text") - var/msg = input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"])) as message - if(msg != null) - msg = copytext(msg, 1, MAX_MESSAGE_LEN) - msg = html_encode(msg) - features["flavor_text"] = msg - - if("metadata") - var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null - if(new_metadata) - metadata = sanitize(copytext(new_metadata,1,MAX_MESSAGE_LEN)) - - if("hair") - var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as null|color - if(new_hair) - hair_color = sanitize_hexcolor(new_hair) - - - if("hair_style") - var/new_hair_style - if(gender == MALE) - new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in GLOB.hair_styles_male_list - else - new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in GLOB.hair_styles_female_list - if(new_hair_style) - hair_style = new_hair_style - - if("next_hair_style") - if (gender == MALE) - hair_style = next_list_item(hair_style, GLOB.hair_styles_male_list) - else - hair_style = next_list_item(hair_style, GLOB.hair_styles_female_list) - - if("previous_hair_style") - if (gender == MALE) - hair_style = previous_list_item(hair_style, GLOB.hair_styles_male_list) - else - hair_style = previous_list_item(hair_style, GLOB.hair_styles_female_list) - - if("facial") - var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference") as null|color - if(new_facial) - facial_hair_color = sanitize_hexcolor(new_facial) - - if("facial_hair_style") - var/new_facial_hair_style - if(gender == MALE) - new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_male_list - else - new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_female_list - if(new_facial_hair_style) - facial_hair_style = new_facial_hair_style - - if("next_facehair_style") - if (gender == MALE) - facial_hair_style = next_list_item(facial_hair_style, GLOB.facial_hair_styles_male_list) - else - facial_hair_style = next_list_item(facial_hair_style, GLOB.facial_hair_styles_female_list) - - if("previous_facehair_style") - if (gender == MALE) - facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_male_list) - else - facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_female_list) - - if("underwear") - var/new_underwear - if(gender == MALE) - new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_m - else - new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_f - if(new_underwear) - underwear = new_underwear - - if("undershirt") - var/new_undershirt - if(gender == MALE) - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_m - else - new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_f - if(new_undershirt) - undershirt = new_undershirt - - if("socks") - var/new_socks - new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in GLOB.socks_list - if(new_socks) - socks = new_socks - - if("eyes") - var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference") as color|null - if(new_eyes) - eye_color = sanitize_hexcolor(new_eyes) - - if("species") - - var/result = input(user, "Select a species", "Species Selection") as null|anything in GLOB.roundstart_species - - if(result) - var/newtype = GLOB.roundstart_species[result] - pref_species = new newtype() - //Now that we changed our species, we must verify that the mutant colour is still allowed. - var/temp_hsv = RGBtoHSV(features["mcolor"]) - if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) - features["mcolor"] = pref_species.default_color - if(features["mcolor2"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) - features["mcolor2"] = pref_species.default_color - if(features["mcolor3"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) - features["mcolor3"] = pref_species.default_color - - if("mutant_color") - var/new_mutantcolor = input(user, "Choose your character's primary alien/mutant color:", "Character Preference") as color|null - if(new_mutantcolor) - var/temp_hsv = RGBtoHSV(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin - features["mcolor"] = sanitize_hexcolor(new_mutantcolor) - else - to_chat(user, "Invalid color. Your color is not bright enough.") - - if("mutant_color2") - var/new_mutantcolor = input(user, "Choose your character's secondary alien/mutant color:", "Character Preference") as color|null - if(new_mutantcolor) - var/temp_hsv = RGBtoHSV(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor2"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin - features["mcolor2"] = sanitize_hexcolor(new_mutantcolor) - else - to_chat(user, "Invalid color. Your color is not bright enough.") - - if("mutant_color3") - var/new_mutantcolor = input(user, "Choose your character's tertiary alien/mutant color:", "Character Preference") as color|null - if(new_mutantcolor) - var/temp_hsv = RGBtoHSV(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor3"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin - features["mcolor3"] = sanitize_hexcolor(new_mutantcolor) - else - to_chat(user, "Invalid color. Your color is not bright enough.") - - if("tail_lizard") - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_lizard - if(new_tail) - features["tail_lizard"] = new_tail - if(new_tail != "None") - features["taur"] = "None" - - if("tail_human") - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_human - if(new_tail) - features["tail_human"] = new_tail - if(new_tail != "None") - features["taur"] = "None" - if("mam_tail") - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.mam_tails_list - if(new_tail) - features["mam_tail"] = new_tail - if(new_tail != "None") - features["taur"] = "None" - - if("taur") - var/new_taur - new_taur = input(user, "Choose your character's tauric body:", "Character Preference") as null|anything in GLOB.taur_list - if(new_taur) - features["taur"] = new_taur - if(new_taur != "None") - features["mam_tail"] = "None" - features["xenotail"] = "None" - -/* Doesn't exist yet. will include facial overlays to mimic 5th port species heads. - if("mam_snout") - var/new_snout - new_snout = input(user, "Choose your character's snout:", "Character Preference") as null|anything in GLOB.mam_snouts_list - if(new_snout) - features["snout"] = new_snout -*/ - - if("snout") - var/new_snout - new_snout = input(user, "Choose your character's snout:", "Character Preference") as null|anything in GLOB.snouts_list - if(new_snout) - features["snout"] = new_snout - - if("horns") - var/new_horns - new_horns = input(user, "Choose your character's horns:", "Character Preference") as null|anything in GLOB.horns_list - if(new_horns) - features["horns"] = new_horns - - if("mam_ears") - var/new_ears - new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.mam_ears_list - if(new_ears) - features["mam_ears"] = new_ears - - if("ears") - var/new_ears - new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.ears_list - if(new_ears) - features["ears"] = new_ears - - if("wings") - var/new_wings - new_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.r_wings_list - if(new_wings) - features["wings"] = new_wings - - if("frills") - var/new_frills - new_frills = input(user, "Choose your character's frills:", "Character Preference") as null|anything in GLOB.frills_list - if(new_frills) - features["frills"] = new_frills - - if("spines") - var/new_spines - new_spines = input(user, "Choose your character's spines:", "Character Preference") as null|anything in GLOB.spines_list - if(new_spines) - features["spines"] = new_spines - - if("body_markings") - var/new_body_markings - new_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in GLOB.body_markings_list - if(new_body_markings) - features["body_markings"] = new_body_markings - - if("mam_body_markings") - var/new_mam_body_markings - new_mam_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in GLOB.mam_body_markings_list - if(new_mam_body_markings) - features["mam_body_markings"] = new_mam_body_markings - - //Xeno Bodyparts - if("xenohead")//Head or caste type - var/new_head - new_head = input(user, "Choose your character's caste:", "Character Preference") as null|anything in GLOB.xeno_head_list - if(new_head) - features["xenohead"] = new_head - - if("xenotail")//Currently one one type, more maybe later if someone sprites them. Might include animated variants in the future. - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.xeno_tail_list - if(new_tail) - features["xenotail"] = new_tail - - if("xenodorsal") - var/new_dors - new_dors = input(user, "Choose your character's dorsal tube type:", "Character Preference") as null|anything in GLOB.xeno_dorsal_list - if(new_dors) - features["xenodorsal"] = new_dors - - if("legs") - var/new_legs - new_legs = input(user, "Choose your character's legs:", "Character Preference") as null|anything in GLOB.legs_list - if(new_legs) - features["legs"] = new_legs - - if("s_tone") - var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones - if(new_s_tone) - skin_tone = new_s_tone - - if("ooccolor") - var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference") as color|null - if(new_ooccolor) - ooccolor = sanitize_ooccolor(new_ooccolor) - - if("bag") - var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference") as null|anything in GLOB.backbaglist - if(new_backbag) - backbag = new_backbag - - if("uplink_loc") - var/new_loc = input(user, "Choose your character's traitor uplink spawn location:", "Character Preference") as null|anything in GLOB.uplink_spawn_loc_list - if(new_loc) - uplink_spawn_loc = new_loc - - if("clown_name") - var/new_clown_name = reject_bad_name( input(user, "Choose your character's clown name:", "Character Preference") as text|null ) - if(new_clown_name) - custom_names["clown"] = new_clown_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") - - if("mime_name") - var/new_mime_name = reject_bad_name( input(user, "Choose your character's mime name:", "Character Preference") as text|null ) - if(new_mime_name) - custom_names["mime"] = new_mime_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") - - if("ai_name") - var/new_ai_name = reject_bad_name( input(user, "Choose your character's AI name:", "Character Preference") as text|null, 1 ) - if(new_ai_name) - custom_names["ai"] = new_ai_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and .") - - if("cyborg_name") - var/new_cyborg_name = reject_bad_name( input(user, "Choose your character's cyborg name:", "Character Preference") as text|null, 1 ) - if(new_cyborg_name) - custom_names["cyborg"] = new_cyborg_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and .") - - if("religion_name") - var/new_religion_name = reject_bad_name( input(user, "Choose your character's religion:", "Character Preference") as text|null ) - if(new_religion_name) - custom_names["religion"] = new_religion_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") - - if("deity_name") - var/new_deity_name = reject_bad_name( input(user, "Choose your character's deity:", "Character Preference") as text|null ) - if(new_deity_name) - custom_names["deity"] = new_deity_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") - - if("sec_dept") - var/department = input(user, "Choose your prefered security department:", "Security Departments") as null|anything in GLOB.security_depts_prefs - if(department) - prefered_security_department = department - - if ("preferred_map") - var/maplist = list() - var/default = "Default" - if (config.defaultmap) - default += " ([config.defaultmap.map_name])" - for (var/M in config.maplist) - var/datum/map_config/VM = config.maplist[M] - var/friendlyname = "[VM.map_name] " - if (VM.voteweight <= 0) - friendlyname += " (disabled)" - maplist[friendlyname] = VM.map_name - maplist[default] = null - var/pickedmap = input(user, "Choose your preferred map. This will be used to help weight random map selection.", "Character Preference") as null|anything in maplist - if (pickedmap) - preferred_map = maplist[pickedmap] - - if ("clientfps") - var/version_message - if (user.client && user.client.byond_version < 511) - version_message = "\nYou need to be using byond version 511 or later to take advantage of this feature, your version of [user.client.byond_version] is too low" - if (world.byond_version < 511) - version_message += "\nThis server does not currently support client side fps. You can set now for when it does." - var/desiredfps = input(user, "Choose your desired fps.[version_message]\n(0 = synced with server tick rate (currently:[world.fps]))", "Character Preference", clientfps) as null|num - if (!isnull(desiredfps)) - clientfps = desiredfps - if (world.byond_version >= 511 && user.client && user.client.byond_version >= 511) - user.client.vars["fps"] = clientfps - if("ui") - var/pickedui = input(user, "Choose your UI style.", "Character Preference") as null|anything in list("Midnight", "Plasmafire", "Retro", "Slimecore", "Operative", "Clockwork") - if(pickedui) - UI_style = pickedui - - //citadel code - if("cock_color") - var/new_cockcolor = input(user, "Penis color:", "Character Preference") as color|null - if(new_cockcolor) - var/temp_hsv = RGBtoHSV(new_cockcolor) - if(new_cockcolor == "#000000") - features["cock_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["cock_color"] = sanitize_hexcolor(new_cockcolor) - else - user << "Invalid color. Your color is not bright enough." - - if("cock_length") - var/new_length = input(user, "Penis length in inches:\n([COCK_SIZE_MIN]-[COCK_SIZE_MAX])", "Character Preference") as num|null - if(new_length) - features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN) - - if("cock_shape") - var/new_shape - new_shape = input(user, "Penis shape:", "Character Preference") as null|anything in GLOB.cock_shapes_list - if(new_shape) - features["cock_shape"] = new_shape - - if("balls_color") - var/new_ballscolor = input(user, "Testicle Color:", "Character Preference") as color|null - if(new_ballscolor) - var/temp_hsv = RGBtoHSV(new_ballscolor) - if(new_ballscolor == "#000000") - features["balls_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["balls_color"] = sanitize_hexcolor(new_ballscolor) - else - user << "Invalid color. Your color is not bright enough." - - if("egg_size") - var/new_size - var/list/egg_sizes = list(1,2,3) - new_size = input(user, "Egg Diameter(inches):", "Egg Size") as null|anything in egg_sizes - if(new_size) - features["eggsack_egg_size"] = new_size - - if("egg_color") - var/new_egg_color = input(user, "Egg Color:", "Character Preference") as color|null - if(new_egg_color) - var/temp_hsv = RGBtoHSV(new_egg_color) - if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["eggsack_egg_color"] = sanitize_hexcolor(new_egg_color) - else - user << "Invalid color. Your color is not bright enough." - if("breasts_size") - var/new_size - new_size = input(user, "Breast Size", "Character Preference") as null|anything in GLOB.breasts_size_list - if(new_size) - features["breasts_size"] = new_size - - if("breasts_shape") - var/new_shape - new_shape = input(user, "Breast Shape", "Character Preference") as null|anything in GLOB.breasts_shapes_list - if(new_shape) - features["breasts_shape"] = new_shape - - if("breasts_color") - var/new_breasts_color = input(user, "Breast Color:", "Character Preference") as color|null - if(new_breasts_color) - var/temp_hsv = RGBtoHSV(new_breasts_color) - if(new_breasts_color == "#000000") - features["breasts_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["breasts_color"] = sanitize_hexcolor(new_breasts_color) - else - user << "Invalid color. Your color is not bright enough." - if("vag_shape") - var/new_shape - new_shape = input(user, "Vagina Type", "Character Preference") as null|anything in GLOB.vagina_shapes_list - if(new_shape) - features["vag_shape"] = new_shape - if("vag_color") - var/new_vagcolor = input(user, "Vagina color:", "Character Preference") as color|null - if(new_vagcolor) - var/temp_hsv = RGBtoHSV(new_vagcolor) - if(new_vagcolor == "#000000") - features["vag_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["vag_color"] = sanitize_hexcolor(new_vagcolor) - else - user << "Invalid color. Your color is not bright enough." - - else - switch(href_list["preference"]) - - //citadel code - if("genital_colour") - switch(features["genitals_use_skintone"]) - if(TRUE) - features["genitals_use_skintone"] = FALSE - if(FALSE) - features["genitals_use_skintone"] = TRUE - else - features["genitals_use_skintone"] = FALSE - if("arousable") - switch(arousable) - if(TRUE) - arousable = FALSE - if(FALSE) - arousable = TRUE - else//failsafe - arousable = FALSE - if("has_cock") - switch(features["has_cock"]) - if(TRUE) - features["has_cock"] = FALSE - if(FALSE) - features["has_cock"] = TRUE - features["has_ovi"] = FALSE - features["has_eggsack"] = FALSE - else - features["has_cock"] = FALSE - features["has_ovi"] = FALSE - if("has_balls") - switch(features["has_balls"]) - if(TRUE) - features["has_balls"] = FALSE - if(FALSE) - features["has_balls"] = TRUE - features["has_eggsack"] = FALSE - else - features["has_balls"] = FALSE - features["has_eggsack"] = FALSE - - if("has_ovi") - switch(features["has_ovi"]) - if(TRUE) - features["has_ovi"] = FALSE - if(FALSE) - features["has_ovi"] = TRUE - features["has_cock"] = FALSE - features["has_balls"] = FALSE - else - features["has_ovi"] = FALSE - features["has_cock"] = FALSE - - if("has_eggsack") - switch(features["has_eggsack"]) - if(TRUE) - features["has_eggsack"] = FALSE - if(FALSE) - features["has_eggsack"] = TRUE - features["has_balls"] = FALSE - else - features["has_eggsack"] = FALSE - features["has_balls"] = FALSE - - if("balls_internal") - switch(features["balls_internal"]) - if(TRUE) - features["balls_internal"] = FALSE - if(FALSE) - features["balls_internal"] = TRUE - features["eggsack_internal"] = FALSE - else - features["balls_internal"] = FALSE - features["eggsack_internal"] = FALSE - - if("eggsack_internal") - switch(features["eggsack_internal"]) - if(TRUE) - features["eggsack_internal"] = FALSE - if(FALSE) - features["eggsack_internal"] = TRUE - features["balls_internal"] = FALSE - else - features["eggsack_internal"] = FALSE - features["balls_internal"] = FALSE - - if("has_breasts") - switch(features["has_breasts"]) - if(TRUE) - features["has_breasts"] = FALSE - if(FALSE) - features["has_breasts"] = TRUE - else - features["has_breasts"] = FALSE - if("has_vag") - switch(features["has_vag"]) - if(TRUE) - features["has_vag"] = FALSE - if(FALSE) - features["has_vag"] = TRUE - else - features["has_vag"] = FALSE - if("has_womb") - switch(features["has_womb"]) - if(TRUE) - features["has_womb"] = FALSE - if(FALSE) - features["has_womb"] = TRUE - else - features["has_womb"] = FALSE - if("exhibitionist") - switch(features["exhibitionist"]) - if(TRUE) - features["exhibitionist"] = FALSE - if(FALSE) - features["exhibitionist"] = TRUE - else - features["exhibitionist"] = FALSE - - if("publicity") - if(unlock_content) - toggles ^= MEMBER_PUBLIC - if("gender") - if(gender == MALE) - gender = FEMALE - else - gender = MALE - underwear = "Nude" - undershirt = "Nude" - socks = "Nude" - facial_hair_style = "Shaved" - hair_style = "Bald" - - if("hotkeys") - hotkeys = !hotkeys - if("action_buttons") - buttons_locked = !buttons_locked - if("tgui_fancy") - tgui_fancy = !tgui_fancy - if("tgui_lock") - tgui_lock = !tgui_lock - if("winflash") - windowflashing = !windowflashing - if("hear_adminhelps") - toggles ^= SOUND_ADMINHELP - if("announce_login") - toggles ^= ANNOUNCE_LOGIN - - if("be_special") - var/be_special_type = href_list["be_special_type"] - if(be_special_type in be_special) - be_special -= be_special_type - else - be_special += be_special_type - - if("name") - be_random_name = !be_random_name - - if("all") - be_random_body = !be_random_body - - if("hear_midis") - toggles ^= SOUND_MIDI - - if("lobby_music") - toggles ^= SOUND_LOBBY - if((toggles & SOUND_LOBBY) && user.client) - user.client.playtitlemusic() - else - user.stop_sound_channel(CHANNEL_LOBBYMUSIC) - - if("ghost_ears") - chat_toggles ^= CHAT_GHOSTEARS - - if("ghost_sight") - chat_toggles ^= CHAT_GHOSTSIGHT - - if("ghost_whispers") - chat_toggles ^= CHAT_GHOSTWHISPER - - if("ghost_radio") - chat_toggles ^= CHAT_GHOSTRADIO - - if("ghost_pda") - chat_toggles ^= CHAT_GHOSTPDA - - if("pull_requests") - chat_toggles ^= CHAT_PULLR - - if("allow_midround_antag") - toggles ^= MIDROUND_ANTAG - - if("parallaxup") - parallax = Wrap(parallax + 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) - if (parent && parent.mob && parent.mob.hud_used) - parent.mob.hud_used.update_parallax_pref(parent.mob) - - if("parallaxdown") - parallax = Wrap(parallax - 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) - if (parent && parent.mob && parent.mob.hud_used) - parent.mob.hud_used.update_parallax_pref(parent.mob) - - if("save") - save_preferences() - save_character() - - if("load") - load_preferences() - load_character() - attempt_vr(parent.prefs_vr,"load_vore","") - - if("changeslot") - attempt_vr(parent.prefs_vr,"load_vore","") - if(!load_character(text2num(href_list["num"]))) - random_character() - real_name = random_unique_name(gender) - save_character() - - if("tab") - if (href_list["tab"]) - current_tab = text2num(href_list["tab"]) - - ShowChoices(user) - return 1 - -/datum/preferences/proc/copy_to(mob/living/carbon/human/character, icon_updates = 1) - if(be_random_name) - real_name = pref_species.random_name(gender) - - if(be_random_body) - random_character(gender) - - if(config.humans_need_surnames) - var/firstspace = findtext(real_name, " ") - var/name_length = length(real_name) - if(!firstspace) //we need a surname - real_name += " [pick(GLOB.last_names)]" - else if(firstspace == name_length) - real_name += "[pick(GLOB.last_names)]" - - character.real_name = real_name - character.name = character.real_name - - character.gender = gender - character.age = age - - character.eye_color = eye_color - var/obj/item/organ/eyes/organ_eyes = character.getorgan(/obj/item/organ/eyes) - if(organ_eyes) - if(!initial(organ_eyes.eye_color)) - organ_eyes.eye_color = eye_color - organ_eyes.old_eye_color = eye_color - character.hair_color = hair_color - character.facial_hair_color = facial_hair_color - - character.skin_tone = skin_tone - character.hair_style = hair_style - character.facial_hair_style = facial_hair_style - character.underwear = underwear - character.undershirt = undershirt - character.socks = socks - - character.backbag = backbag - - character.dna.features = features.Copy() //Flavor text is now a DNA feature - character.dna.real_name = character.real_name - var/datum/species/chosen_species - if(pref_species != /datum/species/human && config.mutant_races) - chosen_species = pref_species.type - else - chosen_species = /datum/species/human - character.set_species(chosen_species, icon_update=0) - - //citadel code - character.give_genitals() - character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially - character.canbearoused = arousable - - if(icon_updates) - character.update_body() - character.update_hair() - character.update_body_parts() - character.update_genitals() +GLOBAL_LIST_EMPTY(preferences_datums) + + + +/datum/preferences + var/client/parent + //doohickeys for savefiles + var/path + var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used + var/max_save_slots = 10 + + //non-preference stuff + var/muted = 0 + var/last_ip + var/last_id + + //game-preferences + var/lastchangelog = "" //Saved changlog filesize to detect if there was a change + var/ooccolor = null + var/enable_tips = TRUE + var/tip_delay = 500 //tip delay in milliseconds + + //Antag preferences + var/list/be_special = list() //Special role selection + var/tmp/old_be_special = 0 //Bitflag version of be_special, used to update old savefiles and nothing more + //If it's 0, that's good, if it's anything but 0, the owner of this prefs file's antag choices were, + //autocorrected this round, not that you'd need to check that. + + + var/UI_style = "Midnight" + var/buttons_locked = FALSE + var/hotkeys = FALSE + var/tgui_fancy = TRUE + var/tgui_lock = TRUE + var/windowflashing = TRUE + var/toggles = TOGGLES_DEFAULT + var/db_flags + var/chat_toggles = TOGGLES_DEFAULT_CHAT + var/ghost_form = "ghost" + var/ghost_orbit = GHOST_ORBIT_CIRCLE + var/ghost_accs = GHOST_ACCS_DEFAULT_OPTION + var/ghost_others = GHOST_OTHERS_DEFAULT_OPTION + var/ghost_hud = 1 + var/inquisitive_ghost = 1 + var/allow_midround_antag = 1 + var/preferred_map = null + + var/uses_glasses_colour = 0 + + //character preferences + var/real_name //our character's name + var/be_random_name = 0 //whether we'll have a random name every round + var/be_random_body = 0 //whether we'll have a random body every round + var/gender = MALE //gender of character (well duh) + var/age = 30 //age of character + var/underwear = "Nude" //underwear type + var/undershirt = "Nude" //undershirt type + var/socks = "Nude" //socks type + var/backbag = DBACKPACK //backpack type + var/hair_style = "Bald" //Hair type + var/hair_color = "000" //Hair color + var/facial_hair_style = "Shaved" //Face hair type + var/facial_hair_color = "000" //Facial hair color + var/skin_tone = "caucasian1" //Skin color + var/eye_color = "000" //Eye color + var/datum/species/pref_species = new /datum/species/human() //Mutant race + var/list/features = list("mcolor" = "FFF", + "mcolor2" = "FFF", + "mcolor3" = "FFF", + "tail_lizard" = "Smooth", + "tail_human" = "None", + "snout" = "Round", + "horns" = "None", + "ears" = "None", + "wings" = "None", + "frills" = "None", + "spines" = "None", + "body_markings" = "None", + "mam_body_markings" = "None", + "mam_ears" = "None", + "mam_tail" = "None", + "mam_tail_animated" = "None", + "xenodorsal" = "None", + "xenohead" = "None", + "xenotail" = "None", + "legs" = "Normal Legs", + "taur" = "None", + "exhibitionist" = FALSE, + "genitals_use_skintone" = FALSE, + "has_cock" = FALSE, + "cock_shape" = "Human", + "cock_length" = 6, + "cock_girth_ratio" = COCK_GIRTH_RATIO_DEF, + "cock_color" = "fff", + "has_sheath" = FALSE, + "sheath_color" = "fff", + "has_balls" = FALSE, + "balls_internal" = FALSE, + "balls_color" = "fff", + "balls_amount" = 2, + "balls_sack_size" = BALLS_SACK_SIZE_DEF, + "balls_size" = BALLS_SIZE_DEF, + "balls_cum_rate" = CUM_RATE, + "balls_cum_mult" = CUM_RATE_MULT, + "balls_efficiency" = CUM_EFFICIENCY, + "balls_fluid" = "semen", + "has_ovi" = FALSE, + "ovi_shape" = "knotted", + "ovi_length" = 6, + "ovi_color" = "fff", + "has_eggsack" = FALSE, + "eggsack_internal" = TRUE, + "eggsack_color" = "fff", + "eggsack_size" = BALLS_SACK_SIZE_DEF, + "eggsack_egg_color" = "fff", + "eggsack_egg_size" = EGG_GIRTH_DEF, + "has_breasts" = FALSE, + "breasts_color" = "fff", + "breasts_size" = "C", + "breasts_shape" = "Pair", + "breasts_fluid" = "milk", + "has_vag" = FALSE, + "vag_shape" = "Human", + "vag_color" = "fff", + "vag_clits" = 1, + "vag_clit_diam" = 0.25, + "vag_clit_len" = 0.25, + "has_womb" = FALSE, + "womb_cum_rate" = CUM_RATE, + "womb_cum_mult" = CUM_RATE_MULT, + "womb_efficiency" = CUM_EFFICIENCY, + "womb_fluid" = "femcum", + "flavor_text" = "" + )//MAKE SURE TO UPDATE THE LIST IN MOBS.DM IF YOU'RE GOING TO ADD TO THIS LIST, OTHERWISE THINGS MIGHT GET FUCKEY + + var/list/custom_names = list("clown", "mime", "ai", "cyborg", "religion", "deity") + var/prefered_security_department = SEC_DEPT_RANDOM + + //Mob preview + var/icon/preview_icon = null + + //Jobs, uses bitflags + var/job_civilian_high = 0 + var/job_civilian_med = 0 + var/job_civilian_low = 0 + + var/job_medsci_high = 0 + var/job_medsci_med = 0 + var/job_medsci_low = 0 + + var/job_engsec_high = 0 + var/job_engsec_med = 0 + var/job_engsec_low = 0 + + // Want randomjob if preferences already filled - Donkie + var/joblessrole = BERANDOMJOB //defaults to 1 for fewer assistants + + // 0 = character settings, 1 = game preferences, 2 = character appearance + var/current_tab = 0 + + // OOC Metadata: + var/metadata = "" + + var/unlock_content = 0 + + var/list/ignoring = list() + + var/clientfps = 0 + + var/parallax + + var/uplink_spawn_loc = UPLINK_PDA + + var/list/exp + var/list/menuoptions + + //citadel code + var/arousable = TRUE //Allows players to disable arousal from the character creation menu + +/datum/preferences/New(client/C) + parent = C + custom_names["ai"] = pick(GLOB.ai_names) + custom_names["cyborg"] = pick(GLOB.ai_names) + custom_names["clown"] = pick(GLOB.clown_names) + custom_names["mime"] = pick(GLOB.mime_names) + if(istype(C)) + if(!IsGuestKey(C.key)) + load_path(C.ckey) + unlock_content = C.IsByondMember() + if(unlock_content) + max_save_slots = 16 + var/loaded_preferences_successfully = load_preferences() + if(loaded_preferences_successfully) + if(load_character()) + return + //we couldn't load character data so just randomize the character appearance + name + random_character() //let's create a random character then - rather than a fat, bald and naked man. + real_name = pref_species.random_name(gender,1) + if(!loaded_preferences_successfully) + save_preferences() + save_character() //let's save this new random character so it doesn't keep generating new ones. + menuoptions = list() + return + +/datum/preferences/proc/ShowChoices(mob/user) + if(!user || !user.client) + return + if(current_tab == 2) + update_preview_icon(nude=TRUE) + else + update_preview_icon(nude=FALSE) + user << browse_rsc(preview_icon, "previewicon.png") + var/dat = "
" + + dat += "Character Settings" + dat += "Character Appearance" + dat += "Game Preferences" + + if(!path) + dat += "
Please create an account to save your preferences
" + + dat += "
" + + dat += "
" + + switch(current_tab) + if (0) // Character Settings# + if(path) + var/savefile/S = new /savefile(path) + if(S) + dat += "
" + var/name + for(var/i=1, i<=max_save_slots, i++) + S.cd = "/character[i]" + S["real_name"] >> name + if(!name) + name = "Character[i]" + //if(i!=1) dat += " | " + dat += "[name] " + dat += "
" + + dat += "

Occupation Choices

" + dat += "Set Occupation Preferences
" + dat += "

Identity

" + dat += "" + + dat += "
" + if(jobban_isbanned(user, "appearance")) + dat += "You are banned from using custom names and appearances. You can continue to adjust your characters, but you will be randomised once you join the game.
" + dat += "Random Name " + dat += "Always Random Name: [be_random_name ? "Yes" : "No"]
" + + dat += "Name: " + dat += "[real_name]
" + + dat += "Gender: [gender == MALE ? "Male" : "Female"]
" + dat += "Age: [age]
" + dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" + dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" + dat += "Special Names:
" + dat += "Clown: [custom_names["clown"]] " + dat += "Mime:[custom_names["mime"]]
" + dat += "AI: [custom_names["ai"]] " + dat += "Cyborg: [custom_names["cyborg"]]
" + dat += "Chaplain religion: [custom_names["religion"]] " + dat += "Chaplain deity: [custom_names["deity"]]
" + + dat += "Custom job preferences:
" + dat += "Prefered security department: [prefered_security_department]
" + + dat += "
" + + dat += "
" +// dat += "Size: [character_size]
" + dat += "
" + + if (1) // Game Preferences + dat += "
" + dat += "

General Settings

" + dat += "UI Style: [UI_style]
" + dat += "Keybindings: [(hotkeys) ? "Hotkeys" : "Default"]
" + dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
" + dat += "tgui Style: [(tgui_fancy) ? "Fancy" : "No Frills"]
" + dat += "tgui Monitors: [(tgui_lock) ? "Primary" : "All"]
" + dat += "Window Flashing: [(windowflashing) ? "Yes" : "No"]
" + dat += "Play admin midis: [(toggles & SOUND_MIDI) ? "Yes" : "No"]
" + dat += "Play lobby music: [(toggles & SOUND_LOBBY) ? "Yes" : "No"]
" + dat += "Ghost ears: [(chat_toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" + dat += "Ghost sight: [(chat_toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" + dat += "Ghost whispers: [(chat_toggles & CHAT_GHOSTWHISPER) ? "All Speech" : "Nearest Creatures"]
" + dat += "Ghost radio: [(chat_toggles & CHAT_GHOSTRADIO) ? "Yes" : "No"]
" + dat += "Ghost pda: [(chat_toggles & CHAT_GHOSTPDA) ? "All Messages" : "Nearest Creatures"]
" + dat += "Pull requests: [(chat_toggles & CHAT_PULLR) ? "Yes" : "No"]
" + dat += "Midround Antagonist: [(toggles & MIDROUND_ANTAG) ? "Yes" : "No"]
" + if(config.allow_Metadata) + dat += "OOC Notes: Edit
" + + if(user.client) + if(user.client.holder) + dat += "Adminhelp Sound: [(toggles & SOUND_ADMINHELP)?"On":"Off"]
" + dat += "Announce Login: [(toggles & ANNOUNCE_LOGIN)?"On":"Off"]
" + + if(unlock_content || check_rights_for(user.client, R_ADMIN)) + dat += "OOC:     Change
" + + if(unlock_content) + dat += "BYOND Membership Publicity: [(toggles & MEMBER_PUBLIC) ? "Public" : "Hidden"]
" + dat += "Ghost Form: [ghost_form]
" + dat += "Ghost Orbit: [ghost_orbit]
" + + var/button_name = "If you see this something went wrong." + switch(ghost_accs) + if(GHOST_ACCS_FULL) + button_name = GHOST_ACCS_FULL_NAME + if(GHOST_ACCS_DIR) + button_name = GHOST_ACCS_DIR_NAME + if(GHOST_ACCS_NONE) + button_name = GHOST_ACCS_NONE_NAME + + dat += "Ghost Accessories: [button_name]
" + + switch(ghost_others) + if(GHOST_OTHERS_THEIR_SETTING) + button_name = GHOST_OTHERS_THEIR_SETTING_NAME + if(GHOST_OTHERS_DEFAULT_SPRITE) + button_name = GHOST_OTHERS_DEFAULT_SPRITE_NAME + if(GHOST_OTHERS_SIMPLE) + button_name = GHOST_OTHERS_SIMPLE_NAME + + dat += "Ghosts of Others: [button_name]
" + + if (config.maprotation) + var/p_map = preferred_map + if (!p_map) + p_map = "Default" + if (config.defaultmap) + p_map += " ([config.defaultmap.map_name])" + else + if (p_map in config.maplist) + var/datum/map_config/VM = config.maplist[p_map] + if (!VM) + p_map += " (No longer exists)" + else + p_map = VM.map_name + else + p_map += " (No longer exists)" + if(config.allow_map_voting) + dat += "Preferred Map: [p_map]
" + + dat += "FPS: [clientfps]
" + + dat += "Parallax (Fancy Space): " + switch (parallax) + if (PARALLAX_LOW) + dat += "Low" + if (PARALLAX_MED) + dat += "Medium" + if (PARALLAX_INSANE) + dat += "Insane" + if (PARALLAX_DISABLE) + dat += "Disabled" + else + dat += "High" + dat += "
" + + dat += "
" + + dat += "

Special Role Settings

" + + if(jobban_isbanned(user, "Syndicate")) + dat += "You are banned from antagonist roles." + src.be_special = list() + + + for (var/i in GLOB.special_roles) + if(jobban_isbanned(user, i)) + dat += "Be [capitalize(i)]: BANNED
" + else + var/days_remaining = null + if(config.use_age_restriction_for_jobs && ispath(GLOB.special_roles[i])) //If it's a game mode antag, check if the player meets the minimum age + var/mode_path = GLOB.special_roles[i] + var/datum/game_mode/temp_mode = new mode_path + days_remaining = temp_mode.get_remaining_days(user.client) + + if(days_remaining) + dat += "Be [capitalize(i)]: \[IN [days_remaining] DAYS]
" + else + dat += "Be [capitalize(i)]: [(i in be_special) ? "Yes" : "No"]
" + + dat += "
" + + //Character Appearance + if(2) + dat += "" + */ + + + dat += "
" + dat += "

" + dat += "Set Flavor Text
" + if(lentext(features["flavor_text"]) <= 40) + if(!lentext(features["flavor_text"])) + dat += "\[...\]" + else + dat += "[features["flavor_text"]]" + else + dat += "[TextPreview(features["flavor_text"])]...
" + if(config.mutant_races)//really don't need this check, but fuck un-tabbing all those lines + dat += "

Body

" + dat += "Gender: [gender == MALE ? "Male" : "Female"]
" + dat += "Species:[pref_species.id]
" + dat += "Random Body
" + dat += "Always Random Body: [be_random_body ? "Yes" : "No"]
" + if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits)) + dat += "Primary Color:     Change
" + dat += "Secondary Color:     Change
" + dat += "Tertiary Color:     Change
" + if(pref_species.use_skintones) + dat += "Skin Tone: [skin_tone]
" + dat += "Genitals Use Skintone:[features["genitals_use_skintone"] == TRUE ? "Enabled" : "Disabled"]
" + + if(HAIR in pref_species.species_traits) + dat += "Hair Style: [hair_style]
" + dat += "Hair Color:     Change
" + dat += "Facial Hair Style: [facial_hair_style]
" + dat += "Facial Hair Color:     Change
" + if(EYECOLOR in pref_species.species_traits) + dat += "Eye Color:     Change
" + if("tail_lizard" in pref_species.mutant_bodyparts) + dat += "Tail: [features["tail_lizard"]]
" + else if("mam_tail" in pref_species.mutant_bodyparts) + dat += "Tail: [features["mam_tail"]]
" + else if("tail_human" in pref_species.mutant_bodyparts) + dat += "Tail: [features["tail_human"]]
" + if("snout" in pref_species.mutant_bodyparts) + dat += "Snout: [features["snout"]]
" + if("horns" in pref_species.mutant_bodyparts) + dat += "Snout: [features["horns"]]
" + if("frills" in pref_species.mutant_bodyparts) + dat += "Frills: [features["frills"]]
" + if("spines" in pref_species.mutant_bodyparts) + dat += "Spines: [features["spines"]]
" + if("body_markings" in pref_species.mutant_bodyparts) + dat += "Body Markings: [features["body_markings"]]
" + else if("mam_body_markings" in pref_species.mutant_bodyparts) + dat += "Body Markings: [features["mam_body_markings"]]
" + if("mam_ears" in pref_species.mutant_bodyparts) + dat += "Ears: [features["mam_ears"]]
" + else if("ears" in pref_species.mutant_bodyparts) + dat += "Ears: [features["ears"]]
" + if("legs" in pref_species.mutant_bodyparts) + dat += "Legs: [features["legs"]]
" + if("taur" in pref_species.mutant_bodyparts) + dat += "Taur: [features["taur"]]
" + if("wings" in pref_species.mutant_bodyparts && GLOB.r_wings_list.len >1) + dat += "Wings: [features["wings"]]
" + if("xenohead" in pref_species.mutant_bodyparts) + dat += "Caste: [features["xenohead"]]
" + if("xenotail" in pref_species.mutant_bodyparts) + dat += "Tail: [features["xenotail"]]
" + if("xenodorsal" in pref_species.mutant_bodyparts) + dat += "Dorsal Tubes: [features["xenodorsal"]]
" + + dat += "
" + + + dat += "

Clothing & Equipment

" +//underwear will be refactored later so it fits in with other wearable equipment and isn't just an overlay +// dat += "Underwear:[underwear]
" +// dat += "Undershirt:[undershirt]
" +// dat += "Socks:[socks]
" + dat += "Backpack:[backbag]
" + dat += "Uplink Location:[uplink_spawn_loc]
" + + dat += "

Genitals

" + if(NOGENITALS in pref_species.species_traits) + dat += "Your species ([pref_species.name]) does not support genitals!
" + else + dat += "Has Penis:[features["has_cock"] == TRUE ? "Yes" : "No"]
" + if(features["has_cock"] == TRUE) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + dat += "Penis Color:   (Skin tone overriding)
" + else + dat += "Penis Color:    Change
" +// dat += "
" + dat += "Penis Shape: [features["cock_shape"]]
" + dat += "Penis Length: [features["cock_length"]] inch(es)
" + dat += "Has Testicles:[features["has_balls"] == TRUE ? "Yes" : "No"]
" + if(features["has_balls"] == TRUE) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + dat += "Testicles Color:   (Skin tone overriding)
" + else + dat += "Testicles Color:    Change
" + dat += "Has Vagina:[features["has_vag"] == TRUE ? "Yes" : "No"]
" + if(features["has_vag"]) + dat += "Vagina Type: [features["vag_shape"]]
" + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + dat += "Vagina Color:   (Skin tone overriding)
" + else + dat += "Vagina Color:    Change
" + dat += "Has Womb:[features["has_womb"] == TRUE ? "Yes" : "No"]
" + dat += "Has Breasts:[features["has_breasts"] == TRUE ? "Yes" : "No"]
" + if(features["has_breasts"]) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + dat += "Color:   (Skin tone overriding)
" + else + dat += "Color:    Change
" + dat += "Cup Size:[features["breasts_size"]]
" + dat += "Breast Shape:[features["breasts_shape"]]
" + /* + dat += "

Ovipositor

" + dat += "Has Ovipositor:[features["has_ovi"] == TRUE ? "Yes" : "No"]" + if(features["has_ovi"]) + dat += "Ovi Color:    Change" + dat += "

Eggsack

" + dat += "Has Eggsack:[features["has_eggsack"] == TRUE ? "Yes" : "No"]
" + if(features["has_eggsack"] == TRUE) + dat += "Color:    Change" + dat += "Egg Color:    Change" + dat += "Egg Size:[features["eggsack_egg_size"]]\" Diameter" + + dat += "
" + dat += "
" + + if(!IsGuestKey(user.key)) + dat += "Undo " + dat += "Save Setup " + + dat += "Reset Setup" + dat += "
" + + var/datum/browser/popup = new(user, "preferences", "
Character Setup
", 640, 770) + popup.set_content(dat) + popup.open(0) + +/datum/preferences/proc/SetChoices(mob/user, limit = 17, list/splitJobs = list("Chief Engineer"), widthPerColumn = 295, height = 620) + if(!SSjob) + return + + //limit - The amount of jobs allowed per column. Defaults to 17 to make it look nice. + //splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. + //widthPerColumn - Screen's width for every column. + //height - Screen's height. + + var/width = widthPerColumn + + var/HTML = "
" + if(SSjob.occupations.len <= 0) + HTML += "The job ticker is not yet finished creating jobs, please try again later" + HTML += "
Done

" // Easier to press up here. + + else + HTML += "Choose occupation chances
" + HTML += "
Left-click to raise an occupation preference, right-click to lower it.
" + HTML += "
Done

" // Easier to press up here. + HTML += "" + HTML += "
" // Table within a table for alignment, also allows you to easily add more colomns. + HTML += "" + var/index = -1 + + //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. + var/datum/job/lastJob + + for(var/datum/job/job in SSjob.occupations) + + index += 1 + if((index >= limit) || (job.title in splitJobs)) + width += widthPerColumn + if((index < limit) && (lastJob != null)) + //If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with + //the last job's selection color. Creating a rather nice effect. + for(var/i = 0, i < (limit - index), i += 1) + HTML += "" + HTML += "
  
" + index = 0 + + HTML += "" + continue + var/required_playtime_remaining = job.required_playtime_remaining(user.client) + if(required_playtime_remaining) + HTML += "[rank]" + continue + if(!job.player_old_enough(user.client)) + var/available_in_days = job.available_in_days(user.client) + HTML += "[rank]" + continue + if((job_civilian_low & ASSISTANT) && (rank != "Assistant") && !jobban_isbanned(user, "Assistant")) + HTML += "[rank]" + continue + if(config.enforce_human_authority && !user.client.prefs.pref_species.qualifies_for_rank(rank, user.client.prefs.features)) + if(user.client.prefs.pref_species.id == "human") + HTML += "[rank]" + else + HTML += "[rank]" + continue + if((rank in GLOB.command_positions) || (rank == "AI"))//Bold head jobs + HTML += "[rank]" + else + HTML += "[rank]" + + HTML += "" + continue + + HTML += "[prefLevelLabel]" + HTML += "" + + for(var/i = 1, i < (limit - index), i += 1) // Finish the column so it is even + HTML += "" + + HTML += "
" + var/rank = job.title + lastJob = job + if(jobban_isbanned(user, rank)) + HTML += "[rank] BANNED
\[ [get_exp_format(required_playtime_remaining)] as [job.get_exp_req_type()] \]
\[IN [(available_in_days)] DAYS\]
\[MUTANT\]
\[NON-HUMAN\]
" + + var/prefLevelLabel = "ERROR" + var/prefLevelColor = "pink" + var/prefUpperLevel = -1 // level to assign on left click + var/prefLowerLevel = -1 // level to assign on right click + + if(GetJobDepartment(job, 1) & job.flag) + prefLevelLabel = "High" + prefLevelColor = "slateblue" + prefUpperLevel = 4 + prefLowerLevel = 2 + else if(GetJobDepartment(job, 2) & job.flag) + prefLevelLabel = "Medium" + prefLevelColor = "green" + prefUpperLevel = 1 + prefLowerLevel = 3 + else if(GetJobDepartment(job, 3) & job.flag) + prefLevelLabel = "Low" + prefLevelColor = "orange" + prefUpperLevel = 2 + prefLowerLevel = 4 + else + prefLevelLabel = "NEVER" + prefLevelColor = "red" + prefUpperLevel = 3 + prefLowerLevel = 1 + + + HTML += "" + + if(rank == "Assistant")//Assistant is special + if(job_civilian_low & ASSISTANT) + HTML += "Yes" + else + HTML += "No" + HTML += "
  
" + HTML += "
" + + var/message = "Be an Assistant if preferences unavailable" + if(joblessrole == BERANDOMJOB) + message = "Get random job if preferences unavailable" + else if(joblessrole == RETURNTOLOBBY) + message = "Return to lobby if preferences unavailable" + HTML += "

[message]
" + HTML += "
Reset Preferences
" + + user << browse(null, "window=preferences") + var/datum/browser/popup = new(user, "mob_occupation", "
Occupation Preferences
", width, height) + popup.set_window_options("can_close=0") + popup.set_content(HTML) + popup.open(0) + return + +/datum/preferences/proc/SetJobPreferenceLevel(datum/job/job, level) + if (!job) + return 0 + + if (level == 1) // to high + // remove any other job(s) set to high + job_civilian_med |= job_civilian_high + job_engsec_med |= job_engsec_high + job_medsci_med |= job_medsci_high + job_civilian_high = 0 + job_engsec_high = 0 + job_medsci_high = 0 + + if (job.department_flag == CIVILIAN) + job_civilian_low &= ~job.flag + job_civilian_med &= ~job.flag + job_civilian_high &= ~job.flag + + switch(level) + if (1) + job_civilian_high |= job.flag + if (2) + job_civilian_med |= job.flag + if (3) + job_civilian_low |= job.flag + + return 1 + else if (job.department_flag == ENGSEC) + job_engsec_low &= ~job.flag + job_engsec_med &= ~job.flag + job_engsec_high &= ~job.flag + + switch(level) + if (1) + job_engsec_high |= job.flag + if (2) + job_engsec_med |= job.flag + if (3) + job_engsec_low |= job.flag + + return 1 + else if (job.department_flag == MEDSCI) + job_medsci_low &= ~job.flag + job_medsci_med &= ~job.flag + job_medsci_high &= ~job.flag + + switch(level) + if (1) + job_medsci_high |= job.flag + if (2) + job_medsci_med |= job.flag + if (3) + job_medsci_low |= job.flag + + return 1 + + return 0 + +/datum/preferences/proc/UpdateJobPreference(mob/user, role, desiredLvl) + if(!SSjob || SSjob.occupations.len <= 0) + return + var/datum/job/job = SSjob.GetJob(role) + + if(!job) + user << browse(null, "window=mob_occupation") + ShowChoices(user) + return + + if (!isnum(desiredLvl)) + to_chat(user, "UpdateJobPreference - desired level was not a number. Please notify coders!") + ShowChoices(user) + return + + if(role == "Assistant") + if(job_civilian_low & job.flag) + job_civilian_low &= ~job.flag + else + job_civilian_low |= job.flag + SetChoices(user) + return 1 + + SetJobPreferenceLevel(job, desiredLvl) + SetChoices(user) + + return 1 + + +/datum/preferences/proc/ResetJobs() + + job_civilian_high = 0 + job_civilian_med = 0 + job_civilian_low = 0 + + job_medsci_high = 0 + job_medsci_med = 0 + job_medsci_low = 0 + + job_engsec_high = 0 + job_engsec_med = 0 + job_engsec_low = 0 + + +/datum/preferences/proc/GetJobDepartment(datum/job/job, level) + if(!job || !level) + return 0 + switch(job.department_flag) + if(CIVILIAN) + switch(level) + if(1) + return job_civilian_high + if(2) + return job_civilian_med + if(3) + return job_civilian_low + if(MEDSCI) + switch(level) + if(1) + return job_medsci_high + if(2) + return job_medsci_med + if(3) + return job_medsci_low + if(ENGSEC) + switch(level) + if(1) + return job_engsec_high + if(2) + return job_engsec_med + if(3) + return job_engsec_low + return 0 + +/datum/preferences/proc/process_link(mob/user, list/href_list) + if(href_list["jobbancheck"]) + var/job = sanitizeSQL(href_list["jobbancheck"]) + var/sql_ckey = sanitizeSQL(user.ckey) + var/datum/DBQuery/query_get_jobban = SSdbcore.NewQuery("SELECT reason, bantime, duration, expiration_time, a_ckey FROM [format_table_name("ban")] WHERE ckey = '[sql_ckey]' AND (bantype = 'JOB_PERMABAN' OR (bantype = 'JOB_TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned) AND job = '[job]'") + if(!query_get_jobban.warn_execute()) + return + if(query_get_jobban.NextRow()) + var/reason = query_get_jobban.item[1] + var/bantime = query_get_jobban.item[2] + var/duration = query_get_jobban.item[3] + var/expiration_time = query_get_jobban.item[4] + var/a_ckey = query_get_jobban.item[5] + var/text + text = "You, or another user of this computer, ([user.ckey]) is banned from playing [job]. The ban reason is:
[reason]
This ban was applied by [a_ckey] on [bantime]" + if(text2num(duration) > 0) + text += ". The ban is for [duration] minutes and expires on [expiration_time] (server time)" + text += ".
" + to_chat(user, text) + return + + if(href_list["preference"] == "job") + switch(href_list["task"]) + if("close") + user << browse(null, "window=mob_occupation") + ShowChoices(user) + if("reset") + ResetJobs() + SetChoices(user) + if("random") + switch(joblessrole) + if(RETURNTOLOBBY) + if(jobban_isbanned(user, "Assistant")) + joblessrole = BERANDOMJOB + else + joblessrole = BEASSISTANT + if(BEASSISTANT) + joblessrole = BERANDOMJOB + if(BERANDOMJOB) + joblessrole = RETURNTOLOBBY + SetChoices(user) + if("setJobLevel") + UpdateJobPreference(user, href_list["text"], text2num(href_list["level"])) + else + SetChoices(user) + return 1 + + switch(href_list["task"]) + if("random") + switch(href_list["preference"]) + if("name") + real_name = pref_species.random_name(gender,1) + if("age") + age = rand(AGE_MIN, AGE_MAX) + if("hair") + hair_color = random_short_color() + if("hair_style") + hair_style = random_hair_style(gender) + if("facial") + facial_hair_color = random_short_color() + if("facial_hair_style") + facial_hair_style = random_facial_hair_style(gender) + if("underwear") + underwear = random_underwear(gender) + if("undershirt") + undershirt = random_undershirt(gender) + if("socks") + socks = random_socks() + if("eyes") + eye_color = random_eye_color() + if("s_tone") + skin_tone = random_skin_tone() + if("bag") + backbag = pick(GLOB.backbaglist) + if("all") + random_character() + + if("input") + switch(href_list["preference"]) + if("ghostform") + if(unlock_content) + var/new_form = input(user, "Thanks for supporting BYOND - Choose your ghostly form:","Thanks for supporting BYOND",null) as null|anything in GLOB.ghost_forms + if(new_form) + ghost_form = new_form + if("ghostorbit") + if(unlock_content) + var/new_orbit = input(user, "Thanks for supporting BYOND - Choose your ghostly orbit:","Thanks for supporting BYOND", null) as null|anything in GLOB.ghost_orbits + if(new_orbit) + ghost_orbit = new_orbit + + if("ghostaccs") + var/new_ghost_accs = alert("Do you want your ghost to show full accessories where possible, hide accessories but still use the directional sprites where possible, or also ignore the directions and stick to the default sprites?",,GHOST_ACCS_FULL_NAME, GHOST_ACCS_DIR_NAME, GHOST_ACCS_NONE_NAME) + switch(new_ghost_accs) + if(GHOST_ACCS_FULL_NAME) + ghost_accs = GHOST_ACCS_FULL + if(GHOST_ACCS_DIR_NAME) + ghost_accs = GHOST_ACCS_DIR + if(GHOST_ACCS_NONE_NAME) + ghost_accs = GHOST_ACCS_NONE + + if("ghostothers") + var/new_ghost_others = alert("Do you want the ghosts of others to show up as their own setting, as their default sprites or always as the default white ghost?",,GHOST_OTHERS_THEIR_SETTING_NAME, GHOST_OTHERS_DEFAULT_SPRITE_NAME, GHOST_OTHERS_SIMPLE_NAME) + switch(new_ghost_others) + if(GHOST_OTHERS_THEIR_SETTING_NAME) + ghost_others = GHOST_OTHERS_THEIR_SETTING + if(GHOST_OTHERS_DEFAULT_SPRITE_NAME) + ghost_others = GHOST_OTHERS_DEFAULT_SPRITE + if(GHOST_OTHERS_SIMPLE_NAME) + ghost_others = GHOST_OTHERS_SIMPLE + + if("name") + var/new_name = reject_bad_name( input(user, "Choose your character's name:", "Character Preference") as text|null ) + if(new_name) + real_name = new_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + + if("age") + var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null + if(new_age) + age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) + + if("flavor_text") + var/msg = input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"])) as message + if(msg != null) + msg = copytext(msg, 1, MAX_MESSAGE_LEN) + msg = html_encode(msg) + features["flavor_text"] = msg + + if("metadata") + var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null + if(new_metadata) + metadata = sanitize(copytext(new_metadata,1,MAX_MESSAGE_LEN)) + + if("hair") + var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as null|color + if(new_hair) + hair_color = sanitize_hexcolor(new_hair) + + + if("hair_style") + var/new_hair_style + if(gender == MALE) + new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in GLOB.hair_styles_male_list + else + new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in GLOB.hair_styles_female_list + if(new_hair_style) + hair_style = new_hair_style + + if("next_hair_style") + if (gender == MALE) + hair_style = next_list_item(hair_style, GLOB.hair_styles_male_list) + else + hair_style = next_list_item(hair_style, GLOB.hair_styles_female_list) + + if("previous_hair_style") + if (gender == MALE) + hair_style = previous_list_item(hair_style, GLOB.hair_styles_male_list) + else + hair_style = previous_list_item(hair_style, GLOB.hair_styles_female_list) + + if("facial") + var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference") as null|color + if(new_facial) + facial_hair_color = sanitize_hexcolor(new_facial) + + if("facial_hair_style") + var/new_facial_hair_style + if(gender == MALE) + new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_male_list + else + new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_female_list + if(new_facial_hair_style) + facial_hair_style = new_facial_hair_style + + if("next_facehair_style") + if (gender == MALE) + facial_hair_style = next_list_item(facial_hair_style, GLOB.facial_hair_styles_male_list) + else + facial_hair_style = next_list_item(facial_hair_style, GLOB.facial_hair_styles_female_list) + + if("previous_facehair_style") + if (gender == MALE) + facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_male_list) + else + facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_female_list) + + if("underwear") + var/new_underwear + if(gender == MALE) + new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_m + else + new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_f + if(new_underwear) + underwear = new_underwear + + if("undershirt") + var/new_undershirt + if(gender == MALE) + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_m + else + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_f + if(new_undershirt) + undershirt = new_undershirt + + if("socks") + var/new_socks + new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in GLOB.socks_list + if(new_socks) + socks = new_socks + + if("eyes") + var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference") as color|null + if(new_eyes) + eye_color = sanitize_hexcolor(new_eyes) + + if("species") + + var/result = input(user, "Select a species", "Species Selection") as null|anything in GLOB.roundstart_species + + if(result) + var/newtype = GLOB.roundstart_species[result] + pref_species = new newtype() + //Now that we changed our species, we must verify that the mutant colour is still allowed. + var/temp_hsv = RGBtoHSV(features["mcolor"]) + if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + features["mcolor"] = pref_species.default_color + if(features["mcolor2"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + features["mcolor2"] = pref_species.default_color + if(features["mcolor3"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + features["mcolor3"] = pref_species.default_color + + if("mutant_color") + var/new_mutantcolor = input(user, "Choose your character's primary alien/mutant color:", "Character Preference") as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + if(new_mutantcolor == "#000000") + features["mcolor"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + features["mcolor"] = sanitize_hexcolor(new_mutantcolor) + else + to_chat(user, "Invalid color. Your color is not bright enough.") + + if("mutant_color2") + var/new_mutantcolor = input(user, "Choose your character's secondary alien/mutant color:", "Character Preference") as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + if(new_mutantcolor == "#000000") + features["mcolor2"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + features["mcolor2"] = sanitize_hexcolor(new_mutantcolor) + else + to_chat(user, "Invalid color. Your color is not bright enough.") + + if("mutant_color3") + var/new_mutantcolor = input(user, "Choose your character's tertiary alien/mutant color:", "Character Preference") as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + if(new_mutantcolor == "#000000") + features["mcolor3"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + features["mcolor3"] = sanitize_hexcolor(new_mutantcolor) + else + to_chat(user, "Invalid color. Your color is not bright enough.") + + if("tail_lizard") + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_lizard + if(new_tail) + features["tail_lizard"] = new_tail + if(new_tail != "None") + features["taur"] = "None" + + if("tail_human") + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_human + if(new_tail) + features["tail_human"] = new_tail + if(new_tail != "None") + features["taur"] = "None" + if("mam_tail") + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.mam_tails_list + if(new_tail) + features["mam_tail"] = new_tail + if(new_tail != "None") + features["taur"] = "None" + + if("taur") + var/new_taur + new_taur = input(user, "Choose your character's tauric body:", "Character Preference") as null|anything in GLOB.taur_list + if(new_taur) + features["taur"] = new_taur + if(new_taur != "None") + features["mam_tail"] = "None" + features["xenotail"] = "None" + +/* Doesn't exist yet. will include facial overlays to mimic 5th port species heads. + if("mam_snout") + var/new_snout + new_snout = input(user, "Choose your character's snout:", "Character Preference") as null|anything in GLOB.mam_snouts_list + if(new_snout) + features["snout"] = new_snout +*/ + + if("snout") + var/new_snout + new_snout = input(user, "Choose your character's snout:", "Character Preference") as null|anything in GLOB.snouts_list + if(new_snout) + features["snout"] = new_snout + + if("horns") + var/new_horns + new_horns = input(user, "Choose your character's horns:", "Character Preference") as null|anything in GLOB.horns_list + if(new_horns) + features["horns"] = new_horns + + if("mam_ears") + var/new_ears + new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.mam_ears_list + if(new_ears) + features["mam_ears"] = new_ears + + if("ears") + var/new_ears + new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.ears_list + if(new_ears) + features["ears"] = new_ears + + if("wings") + var/new_wings + new_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.r_wings_list + if(new_wings) + features["wings"] = new_wings + + if("frills") + var/new_frills + new_frills = input(user, "Choose your character's frills:", "Character Preference") as null|anything in GLOB.frills_list + if(new_frills) + features["frills"] = new_frills + + if("spines") + var/new_spines + new_spines = input(user, "Choose your character's spines:", "Character Preference") as null|anything in GLOB.spines_list + if(new_spines) + features["spines"] = new_spines + + if("body_markings") + var/new_body_markings + new_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in GLOB.body_markings_list + if(new_body_markings) + features["body_markings"] = new_body_markings + + if("mam_body_markings") + var/new_mam_body_markings + new_mam_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in GLOB.mam_body_markings_list + if(new_mam_body_markings) + features["mam_body_markings"] = new_mam_body_markings + + //Xeno Bodyparts + if("xenohead")//Head or caste type + var/new_head + new_head = input(user, "Choose your character's caste:", "Character Preference") as null|anything in GLOB.xeno_head_list + if(new_head) + features["xenohead"] = new_head + + if("xenotail")//Currently one one type, more maybe later if someone sprites them. Might include animated variants in the future. + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.xeno_tail_list + if(new_tail) + features["xenotail"] = new_tail + + if("xenodorsal") + var/new_dors + new_dors = input(user, "Choose your character's dorsal tube type:", "Character Preference") as null|anything in GLOB.xeno_dorsal_list + if(new_dors) + features["xenodorsal"] = new_dors + + if("legs") + var/new_legs + new_legs = input(user, "Choose your character's legs:", "Character Preference") as null|anything in GLOB.legs_list + if(new_legs) + features["legs"] = new_legs + + if("s_tone") + var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones + if(new_s_tone) + skin_tone = new_s_tone + + if("ooccolor") + var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference") as color|null + if(new_ooccolor) + ooccolor = sanitize_ooccolor(new_ooccolor) + + if("bag") + var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference") as null|anything in GLOB.backbaglist + if(new_backbag) + backbag = new_backbag + + if("uplink_loc") + var/new_loc = input(user, "Choose your character's traitor uplink spawn location:", "Character Preference") as null|anything in GLOB.uplink_spawn_loc_list + if(new_loc) + uplink_spawn_loc = new_loc + + if("clown_name") + var/new_clown_name = reject_bad_name( input(user, "Choose your character's clown name:", "Character Preference") as text|null ) + if(new_clown_name) + custom_names["clown"] = new_clown_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + + if("mime_name") + var/new_mime_name = reject_bad_name( input(user, "Choose your character's mime name:", "Character Preference") as text|null ) + if(new_mime_name) + custom_names["mime"] = new_mime_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + + if("ai_name") + var/new_ai_name = reject_bad_name( input(user, "Choose your character's AI name:", "Character Preference") as text|null, 1 ) + if(new_ai_name) + custom_names["ai"] = new_ai_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and .") + + if("cyborg_name") + var/new_cyborg_name = reject_bad_name( input(user, "Choose your character's cyborg name:", "Character Preference") as text|null, 1 ) + if(new_cyborg_name) + custom_names["cyborg"] = new_cyborg_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and .") + + if("religion_name") + var/new_religion_name = reject_bad_name( input(user, "Choose your character's religion:", "Character Preference") as text|null ) + if(new_religion_name) + custom_names["religion"] = new_religion_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + + if("deity_name") + var/new_deity_name = reject_bad_name( input(user, "Choose your character's deity:", "Character Preference") as text|null ) + if(new_deity_name) + custom_names["deity"] = new_deity_name + else + to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") + + if("sec_dept") + var/department = input(user, "Choose your prefered security department:", "Security Departments") as null|anything in GLOB.security_depts_prefs + if(department) + prefered_security_department = department + + if ("preferred_map") + var/maplist = list() + var/default = "Default" + if (config.defaultmap) + default += " ([config.defaultmap.map_name])" + for (var/M in config.maplist) + var/datum/map_config/VM = config.maplist[M] + var/friendlyname = "[VM.map_name] " + if (VM.voteweight <= 0) + friendlyname += " (disabled)" + maplist[friendlyname] = VM.map_name + maplist[default] = null + var/pickedmap = input(user, "Choose your preferred map. This will be used to help weight random map selection.", "Character Preference") as null|anything in maplist + if (pickedmap) + preferred_map = maplist[pickedmap] + + if ("clientfps") + var/version_message + if (user.client && user.client.byond_version < 511) + version_message = "\nYou need to be using byond version 511 or later to take advantage of this feature, your version of [user.client.byond_version] is too low" + if (world.byond_version < 511) + version_message += "\nThis server does not currently support client side fps. You can set now for when it does." + var/desiredfps = input(user, "Choose your desired fps.[version_message]\n(0 = synced with server tick rate (currently:[world.fps]))", "Character Preference", clientfps) as null|num + if (!isnull(desiredfps)) + clientfps = desiredfps + if (world.byond_version >= 511 && user.client && user.client.byond_version >= 511) + user.client.vars["fps"] = clientfps + if("ui") + var/pickedui = input(user, "Choose your UI style.", "Character Preference") as null|anything in list("Midnight", "Plasmafire", "Retro", "Slimecore", "Operative", "Clockwork") + if(pickedui) + UI_style = pickedui + + //citadel code + if("cock_color") + var/new_cockcolor = input(user, "Penis color:", "Character Preference") as color|null + if(new_cockcolor) + var/temp_hsv = RGBtoHSV(new_cockcolor) + if(new_cockcolor == "#000000") + features["cock_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["cock_color"] = sanitize_hexcolor(new_cockcolor) + else + user << "Invalid color. Your color is not bright enough." + + if("cock_length") + var/new_length = input(user, "Penis length in inches:\n([COCK_SIZE_MIN]-[COCK_SIZE_MAX])", "Character Preference") as num|null + if(new_length) + features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN) + + if("cock_shape") + var/new_shape + new_shape = input(user, "Penis shape:", "Character Preference") as null|anything in GLOB.cock_shapes_list + if(new_shape) + features["cock_shape"] = new_shape + + if("balls_color") + var/new_ballscolor = input(user, "Testicle Color:", "Character Preference") as color|null + if(new_ballscolor) + var/temp_hsv = RGBtoHSV(new_ballscolor) + if(new_ballscolor == "#000000") + features["balls_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["balls_color"] = sanitize_hexcolor(new_ballscolor) + else + user << "Invalid color. Your color is not bright enough." + + if("egg_size") + var/new_size + var/list/egg_sizes = list(1,2,3) + new_size = input(user, "Egg Diameter(inches):", "Egg Size") as null|anything in egg_sizes + if(new_size) + features["eggsack_egg_size"] = new_size + + if("egg_color") + var/new_egg_color = input(user, "Egg Color:", "Character Preference") as color|null + if(new_egg_color) + var/temp_hsv = RGBtoHSV(new_egg_color) + if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["eggsack_egg_color"] = sanitize_hexcolor(new_egg_color) + else + user << "Invalid color. Your color is not bright enough." + if("breasts_size") + var/new_size + new_size = input(user, "Breast Size", "Character Preference") as null|anything in GLOB.breasts_size_list + if(new_size) + features["breasts_size"] = new_size + + if("breasts_shape") + var/new_shape + new_shape = input(user, "Breast Shape", "Character Preference") as null|anything in GLOB.breasts_shapes_list + if(new_shape) + features["breasts_shape"] = new_shape + + if("breasts_color") + var/new_breasts_color = input(user, "Breast Color:", "Character Preference") as color|null + if(new_breasts_color) + var/temp_hsv = RGBtoHSV(new_breasts_color) + if(new_breasts_color == "#000000") + features["breasts_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["breasts_color"] = sanitize_hexcolor(new_breasts_color) + else + user << "Invalid color. Your color is not bright enough." + if("vag_shape") + var/new_shape + new_shape = input(user, "Vagina Type", "Character Preference") as null|anything in GLOB.vagina_shapes_list + if(new_shape) + features["vag_shape"] = new_shape + if("vag_color") + var/new_vagcolor = input(user, "Vagina color:", "Character Preference") as color|null + if(new_vagcolor) + var/temp_hsv = RGBtoHSV(new_vagcolor) + if(new_vagcolor == "#000000") + features["vag_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["vag_color"] = sanitize_hexcolor(new_vagcolor) + else + user << "Invalid color. Your color is not bright enough." + + else + switch(href_list["preference"]) + + //citadel code + if("genital_colour") + switch(features["genitals_use_skintone"]) + if(TRUE) + features["genitals_use_skintone"] = FALSE + if(FALSE) + features["genitals_use_skintone"] = TRUE + else + features["genitals_use_skintone"] = FALSE + if("arousable") + switch(arousable) + if(TRUE) + arousable = FALSE + if(FALSE) + arousable = TRUE + else//failsafe + arousable = FALSE + if("has_cock") + switch(features["has_cock"]) + if(TRUE) + features["has_cock"] = FALSE + if(FALSE) + features["has_cock"] = TRUE + features["has_ovi"] = FALSE + features["has_eggsack"] = FALSE + else + features["has_cock"] = FALSE + features["has_ovi"] = FALSE + if("has_balls") + switch(features["has_balls"]) + if(TRUE) + features["has_balls"] = FALSE + if(FALSE) + features["has_balls"] = TRUE + features["has_eggsack"] = FALSE + else + features["has_balls"] = FALSE + features["has_eggsack"] = FALSE + + if("has_ovi") + switch(features["has_ovi"]) + if(TRUE) + features["has_ovi"] = FALSE + if(FALSE) + features["has_ovi"] = TRUE + features["has_cock"] = FALSE + features["has_balls"] = FALSE + else + features["has_ovi"] = FALSE + features["has_cock"] = FALSE + + if("has_eggsack") + switch(features["has_eggsack"]) + if(TRUE) + features["has_eggsack"] = FALSE + if(FALSE) + features["has_eggsack"] = TRUE + features["has_balls"] = FALSE + else + features["has_eggsack"] = FALSE + features["has_balls"] = FALSE + + if("balls_internal") + switch(features["balls_internal"]) + if(TRUE) + features["balls_internal"] = FALSE + if(FALSE) + features["balls_internal"] = TRUE + features["eggsack_internal"] = FALSE + else + features["balls_internal"] = FALSE + features["eggsack_internal"] = FALSE + + if("eggsack_internal") + switch(features["eggsack_internal"]) + if(TRUE) + features["eggsack_internal"] = FALSE + if(FALSE) + features["eggsack_internal"] = TRUE + features["balls_internal"] = FALSE + else + features["eggsack_internal"] = FALSE + features["balls_internal"] = FALSE + + if("has_breasts") + switch(features["has_breasts"]) + if(TRUE) + features["has_breasts"] = FALSE + if(FALSE) + features["has_breasts"] = TRUE + else + features["has_breasts"] = FALSE + if("has_vag") + switch(features["has_vag"]) + if(TRUE) + features["has_vag"] = FALSE + if(FALSE) + features["has_vag"] = TRUE + else + features["has_vag"] = FALSE + if("has_womb") + switch(features["has_womb"]) + if(TRUE) + features["has_womb"] = FALSE + if(FALSE) + features["has_womb"] = TRUE + else + features["has_womb"] = FALSE + if("exhibitionist") + switch(features["exhibitionist"]) + if(TRUE) + features["exhibitionist"] = FALSE + if(FALSE) + features["exhibitionist"] = TRUE + else + features["exhibitionist"] = FALSE + + if("publicity") + if(unlock_content) + toggles ^= MEMBER_PUBLIC + if("gender") + if(gender == MALE) + gender = FEMALE + else + gender = MALE + underwear = "Nude" + undershirt = "Nude" + socks = "Nude" + facial_hair_style = "Shaved" + hair_style = "Bald" + + if("hotkeys") + hotkeys = !hotkeys + if("action_buttons") + buttons_locked = !buttons_locked + if("tgui_fancy") + tgui_fancy = !tgui_fancy + if("tgui_lock") + tgui_lock = !tgui_lock + if("winflash") + windowflashing = !windowflashing + if("hear_adminhelps") + toggles ^= SOUND_ADMINHELP + if("announce_login") + toggles ^= ANNOUNCE_LOGIN + + if("be_special") + var/be_special_type = href_list["be_special_type"] + if(be_special_type in be_special) + be_special -= be_special_type + else + be_special += be_special_type + + if("name") + be_random_name = !be_random_name + + if("all") + be_random_body = !be_random_body + + if("hear_midis") + toggles ^= SOUND_MIDI + + if("lobby_music") + toggles ^= SOUND_LOBBY + if((toggles & SOUND_LOBBY) && user.client) + user.client.playtitlemusic() + else + user.stop_sound_channel(CHANNEL_LOBBYMUSIC) + + if("ghost_ears") + chat_toggles ^= CHAT_GHOSTEARS + + if("ghost_sight") + chat_toggles ^= CHAT_GHOSTSIGHT + + if("ghost_whispers") + chat_toggles ^= CHAT_GHOSTWHISPER + + if("ghost_radio") + chat_toggles ^= CHAT_GHOSTRADIO + + if("ghost_pda") + chat_toggles ^= CHAT_GHOSTPDA + + if("pull_requests") + chat_toggles ^= CHAT_PULLR + + if("allow_midround_antag") + toggles ^= MIDROUND_ANTAG + + if("parallaxup") + parallax = Wrap(parallax + 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) + if (parent && parent.mob && parent.mob.hud_used) + parent.mob.hud_used.update_parallax_pref(parent.mob) + + if("parallaxdown") + parallax = Wrap(parallax - 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) + if (parent && parent.mob && parent.mob.hud_used) + parent.mob.hud_used.update_parallax_pref(parent.mob) + + if("save") + save_preferences() + save_character() + + if("load") + load_preferences() + load_character() + attempt_vr(parent.prefs_vr,"load_vore","") + + if("changeslot") + attempt_vr(parent.prefs_vr,"load_vore","") + if(!load_character(text2num(href_list["num"]))) + random_character() + real_name = random_unique_name(gender) + save_character() + + if("tab") + if (href_list["tab"]) + current_tab = text2num(href_list["tab"]) + + ShowChoices(user) + return 1 + +/datum/preferences/proc/copy_to(mob/living/carbon/human/character, icon_updates = 1) + if(be_random_name) + real_name = pref_species.random_name(gender) + + if(be_random_body) + random_character(gender) + + if(config.humans_need_surnames) + var/firstspace = findtext(real_name, " ") + var/name_length = length(real_name) + if(!firstspace) //we need a surname + real_name += " [pick(GLOB.last_names)]" + else if(firstspace == name_length) + real_name += "[pick(GLOB.last_names)]" + + character.real_name = real_name + character.name = character.real_name + + character.gender = gender + character.age = age + + character.eye_color = eye_color + var/obj/item/organ/eyes/organ_eyes = character.getorgan(/obj/item/organ/eyes) + if(organ_eyes) + if(!initial(organ_eyes.eye_color)) + organ_eyes.eye_color = eye_color + organ_eyes.old_eye_color = eye_color + character.hair_color = hair_color + character.facial_hair_color = facial_hair_color + + character.skin_tone = skin_tone + character.hair_style = hair_style + character.facial_hair_style = facial_hair_style + character.underwear = underwear + character.undershirt = undershirt + character.socks = socks + + character.backbag = backbag + + character.dna.features = features.Copy() //Flavor text is now a DNA feature + character.dna.real_name = character.real_name + var/datum/species/chosen_species + if(pref_species != /datum/species/human && config.mutant_races) + chosen_species = pref_species.type + else + chosen_species = /datum/species/human + character.set_species(chosen_species, icon_update=0) + + //citadel code + character.give_genitals() + character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially + character.canbearoused = arousable + + if(icon_updates) + character.update_body() + character.update_hair() + character.update_body_parts() + character.update_genitals() diff --git a/code/modules/client/preferences.dm.rej b/code/modules/client/preferences.dm.rej new file mode 100644 index 0000000000..02e6ad2d76 --- /dev/null +++ b/code/modules/client/preferences.dm.rej @@ -0,0 +1,14 @@ +diff a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm (rejected hunks) +@@ -130,12 +130,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) + menuoptions = list() + return + +-/datum/preferences/vv_edit_var(var_name, var_value) +- var/static/list/banned_edits = list("exp") +- if(var_name in banned_edits) +- return FALSE +- return ..() +- + /datum/preferences/proc/ShowChoices(mob/user) + if(!user || !user.client) + return diff --git a/code/modules/client/preferences_savefile.dm.rej b/code/modules/client/preferences_savefile.dm.rej deleted file mode 100644 index 3cdbf2cd44..0000000000 --- a/code/modules/client/preferences_savefile.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm (rejected hunks) -@@ -193,7 +193,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car - return 0 - S.cd = "/" - -- WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date) -+ WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date - - //general preferences - WRITE_FILE(S["ooccolor"], ooccolor) diff --git a/code/modules/client/verbs/ping.dm b/code/modules/client/verbs/ping.dm index 41bd1b889c..de19d0d52c 100644 --- a/code/modules/client/verbs/ping.dm +++ b/code/modules/client/verbs/ping.dm @@ -9,7 +9,7 @@ avgping = MC_AVERAGE_SLOW(avgping, ping) /client/proc/pingfromtime(time) - return ((world.time+world.tick_lag*world.tick_usage/100)-time)*100 + return ((world.time+world.tick_lag*TICK_USAGE_REAL/100)-time)*100 /client/verb/display_ping(time as num) set instant = TRUE @@ -19,4 +19,4 @@ /client/verb/ping() set name = "Ping" set category = "OOC" - winset(src, null, "command=.display_ping+[world.time+world.tick_lag*world.tick_usage/100]") \ No newline at end of file + winset(src, null, "command=.display_ping+[world.time+world.tick_lag*TICK_USAGE_REAL/100]") \ No newline at end of file diff --git a/code/modules/clothing/chameleon.dm.rej b/code/modules/clothing/chameleon.dm.rej deleted file mode 100644 index 3825f8d9ff..0000000000 --- a/code/modules/clothing/chameleon.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm (rejected hunks) -@@ -384,7 +384,7 @@ - item_color = "black" - desc = "A pair of black shoes." - permeability_coefficient = 0.05 -- flags = NOSLIP -+ flags_1 = NOSLIP_1 - origin_tech = "syndicate=2" - resistance_flags = 0 - pockets = /obj/item/storage/internal/pocket/shoes diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 88ec800c00..1447d03ef7 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -7,7 +7,7 @@ var/flash_protect = 0 //What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS var/tint = 0 //Sets the item's level of visual impairment tint, normally set to the same as flash_protect var/up = 0 //but separated to allow items to protect but not impair vision, like space helmets - var/visor_flags = 0 //flags_1 that are added/removed when an item is adjusted up/down + var/visor_flags = 0 //flags that are added/removed when an item is adjusted up/down var/visor_flags_inv = 0 //same as visor_flags, but for flags_inv var/visor_flags_cover = 0 //same as above, but for flags_cover //what to toggle when toggled with weldingvisortoggle() @@ -193,7 +193,6 @@ var/invis_view = SEE_INVISIBLE_LIVING var/invis_override = 0 //Override to allow glasses to set higher than normal see_invis var/lighting_alpha - var/emagged = FALSE var/list/icon/current = list() //the current hud icons var/vision_correction = 0 //does wearing these glasses correct some of our vision defects? strip_delay = 20 @@ -475,6 +474,8 @@ BLIND // can't see anything permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50, fire = 80, acid = 70) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + dynamic_hair_suffix = "" + dynamic_fhair_suffix = "" cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -783,7 +784,7 @@ BLIND // can't see anything A.UpdateButtonIcon() return TRUE -/obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags_1 +/obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags up = !up flags_1 ^= visor_flags flags_inv ^= visor_flags_inv diff --git a/code/modules/clothing/clothing.dm.rej b/code/modules/clothing/clothing.dm.rej deleted file mode 100644 index 38da963c2b..0000000000 --- a/code/modules/clothing/clothing.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm (rejected hunks) -@@ -494,7 +494,7 @@ BLIND // can't see anything - w_class = WEIGHT_CLASS_BULKY - gas_transfer_coefficient = 0.01 - permeability_coefficient = 0.02 -- flags = STOPSPRESSUREDMAGE | THICKMATERIAL -+ flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals) - slowdown = 1 diff --git a/code/modules/clothing/glasses/glasses.dm.rej b/code/modules/clothing/glasses/glasses.dm.rej deleted file mode 100644 index df7958aaba..0000000000 --- a/code/modules/clothing/glasses/glasses.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm (rejected hunks) -@@ -331,7 +331,7 @@ - vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS - darkness_view = 8 - scan_reagents = 1 -- flags = NODROP -+ flags_1 = NODROP_1 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - - /obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params) diff --git a/code/modules/clothing/head/collectable.dm.rej b/code/modules/clothing/head/collectable.dm.rej deleted file mode 100644 index 82a9962cb8..0000000000 --- a/code/modules/clothing/head/collectable.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm (rejected hunks) -@@ -4,7 +4,6 @@ - /obj/item/clothing/head/collectable - name = "collectable hat" - desc = "A rare collectable hat." -- dynamic_hair_suffix = "+detective" - - - /obj/item/clothing/head/collectable/petehat diff --git a/code/modules/clothing/head/misc.dm.rej b/code/modules/clothing/head/misc.dm.rej deleted file mode 100644 index df85f74b20..0000000000 --- a/code/modules/clothing/head/misc.dm.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm (rejected hunks) -@@ -250,7 +250,7 @@ - name = "jester hat" - desc = "A hat with bells, to add some merriness to the suit." - icon_state = "jester_hat" -- dynamic_hair_suffix = "null" -+ dynamic_hair_suffix = "" - - /obj/item/clothing/head/rice_hat - name = "rice hat" -@@ -302,4 +302,4 @@ - name = "jester hat" - desc = "A hat with bells, to add some merriness to the suit." - icon_state = "jester_hat2" -- dynamic_hair_suffix = "null" -+ dynamic_hair_suffix = "" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index d15c7dd5f4..5cbbd1d3d5 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -125,17 +125,18 @@ desc = "A pair of kitty ears. Meow!" icon_state = "kitty" color = "#999999" - dynamic_hair_suffix = "" + dynamic_hair_suffix = "" dog_fashion = /datum/dog_fashion/head/kitty -/obj/item/clothing/head/kitty/equipped(mob/user, slot) - if(user && slot == slot_head) +/obj/item/clothing/head/kitty/equipped(mob/living/carbon/human/user, slot) + if(ishuman(user) && slot == slot_head) update_icon(user) + user.update_inv_head() //Color might have been changed by update_icon. ..() /obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user) - if(istype(user)) + if(ishuman(user)) add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) /obj/item/clothing/head/kitty/genuine @@ -151,7 +152,7 @@ flags_inv = 0 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) brightness_on = 1 //luminosity when on - dynamic_hair_suffix = "" + dynamic_hair_suffix = "" dog_fashion = /datum/dog_fashion/head/reindeer diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 404f931490..c5af37506c 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -57,6 +57,8 @@ Contains: name = "officer's beret" desc = "An armored beret commonly used by special operations officers. Uses advanced force field technology to protect the head from space." icon_state = "beret_badge" + dynamic_hair_suffix = "+generic" + dynamic_fhair_suffix = "+generic" flags_1 = STOPSPRESSUREDMAGE_1 flags_inv = 0 armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) diff --git a/code/modules/clothing/suits/armor.dm.rej b/code/modules/clothing/suits/armor.dm.rej deleted file mode 100644 index 6f11586f40..0000000000 --- a/code/modules/clothing/suits/armor.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm (rejected hunks) -@@ -348,7 +348,7 @@ - w_class = WEIGHT_CLASS_BULKY - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals/emergency_oxygen) -- flags = THICKMATERIAL -+ flags_1 = THICKMATERIAL_1 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/suits/bio.dm.rej b/code/modules/clothing/suits/bio.dm.rej deleted file mode 100644 index d39f7fa08f..0000000000 --- a/code/modules/clothing/suits/bio.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm (rejected hunks) -@@ -18,7 +18,7 @@ - w_class = WEIGHT_CLASS_BULKY - gas_transfer_coefficient = 0.01 - permeability_coefficient = 0.01 -- flags = THICKMATERIAL -+ flags_1 = THICKMATERIAL_1 - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - slowdown = 1 - allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/pen, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray) diff --git a/code/modules/clothing/suits/utility.dm.rej b/code/modules/clothing/suits/utility.dm.rej deleted file mode 100644 index 9570c7bb6c..0000000000 --- a/code/modules/clothing/suits/utility.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm (rejected hunks) -@@ -21,7 +21,7 @@ - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/extinguisher, /obj/item/crowbar) - slowdown = 1 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT -- flags = STOPSPRESSUREDMAGE | THICKMATERIAL -+ flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS -@@ -124,7 +124,7 @@ - w_class = WEIGHT_CLASS_BULKY - gas_transfer_coefficient = 0.90 - permeability_coefficient = 0.50 -- flags = THICKMATERIAL -+ flags_1 = THICKMATERIAL_1 - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/geiger_counter) - slowdown = 1.5 diff --git a/code/modules/crafting/craft.dm.rej b/code/modules/crafting/craft.dm.rej deleted file mode 100644 index c1aa21cb9c..0000000000 --- a/code/modules/crafting/craft.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm (rejected hunks) -@@ -96,7 +96,7 @@ - else - if(istype(I, /obj/item/reagent_containers)) - var/obj/item/reagent_containers/RC = I -- if(RC.container_type & OPENCONTAINER) -+ if(RC.container_type & OPENCONTAINER_1) - for(var/datum/reagent/A in RC.reagents.reagent_list) - .[A.type] += A.volume - .[I.type] += 1 diff --git a/code/modules/events/radiation_storm.dm b/code/modules/events/radiation_storm.dm index 5f461933ad..e4f2b6b1a7 100644 --- a/code/modules/events/radiation_storm.dm +++ b/code/modules/events/radiation_storm.dm @@ -16,4 +16,5 @@ //sound not longer matches the text, but an audible warning is probably good /datum/round_event/radiation_storm/start() - SSweather.run_weather("radiation storm",ZLEVEL_STATION) \ No newline at end of file + SSweather.run_weather("radiation storm",ZLEVEL_STATION) + make_maint_all_access() diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 5fe3d018fb..1feb7aa116 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -69,43 +69,6 @@ return -/datum/spacevine_mutation/space_covering - name = "space protective" - hue = "#aa77aa" - quality = POSITIVE - -/datum/spacevine_mutation/space_covering - var/static/list/coverable_turfs - -/datum/spacevine_mutation/space_covering/New() - . = ..() - if(!coverable_turfs) - coverable_turfs = typecacheof(list(/turf/open/space)) - /turf/open/space/transit - -/datum/spacevine_mutation/space_covering/on_grow(obj/structure/spacevine/holder) - process_mutation(holder) - -/datum/spacevine_mutation/space_covering/process_mutation(obj/structure/spacevine/holder) - var/turf/T = get_turf(holder) - if(is_type_in_typecache(T, coverable_turfs)) - var/currtype = T.type - T.ChangeTurf(/turf/open/floor/vines) - T.baseturf = currtype - -/datum/spacevine_mutation/space_covering/on_death(obj/structure/spacevine/holder) - var/turf/T = get_turf(holder) - if(istype(T, /turf/open/floor/vines)) - T.ChangeTurf(T.baseturf) - -/datum/spacevine_mutation/bluespace - name = "bluespace" - hue = "#3333ff" - quality = MINOR_NEGATIVE - -/datum/spacevine_mutation/bluespace/on_spread(obj/structure/spacevine/holder, turf/target) - if(holder.energy > 1 && !locate(/obj/structure/spacevine) in target) - holder.master.spawn_spacevine_piece(target, holder) - /datum/spacevine_mutation/light name = "light" hue = "#ffff00" diff --git a/code/modules/fields/turf_objects.dm.rej b/code/modules/fields/turf_objects.dm.rej deleted file mode 100644 index de5d9adf07..0000000000 --- a/code/modules/fields/turf_objects.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/fields/turf_objects.dm b/code/modules/fields/turf_objects.dm (rejected hunks) -@@ -6,7 +6,7 @@ - icon_state = null - alpha = 0 - invisibility = INVISIBILITY_ABSTRACT -- flags = ABSTRACT|ON_BORDER -+ flags_1 = ABSTRACT_1|ON_BORDER_1 - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - var/datum/proximity_monitor/advanced/parent = null - diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 0bac8e36ff..ca27d00c19 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -759,7 +759,7 @@ GLOBAL_LIST_INIT(hallucinations_major, list( people += H if(person) //Basic talk var/image/speech_overlay = image('icons/mob/talk.dmi', person, "default0", layer = ABOVE_MOB_LAYER) - var/message = target.compose_message(person,understood_language,pick(speak_messages),null,person.get_spans()) + var/message = target.compose_message(person,understood_language,pick(speak_messages),null,person.get_spans(),face_name = TRUE) feedback_details += "Type: Talk, Source: [person.real_name], Message: [message]" to_chat(target, message) if(target.client) @@ -771,7 +771,7 @@ GLOBAL_LIST_INIT(hallucinations_major, list( for(var/mob/living/carbon/human/H in GLOB.living_mob_list) humans += H person = pick(humans) - var/message = target.compose_message(person,understood_language,pick(radio_messages),"1459",person.get_spans()) + var/message = target.compose_message(person,understood_language,pick(radio_messages),"1459",person.get_spans(),face_name = TRUE) feedback_details += "Type: Radio, Source: [person.real_name], Message: [message]" to_chat(target, message) qdel(src) diff --git a/code/modules/flufftext/Hallucination.dm.rej b/code/modules/flufftext/Hallucination.dm.rej deleted file mode 100644 index 3ea6505a61..0000000000 --- a/code/modules/flufftext/Hallucination.dm.rej +++ /dev/null @@ -1,1151 +0,0 @@ -/* -Ideas for the subtle effects of hallucination: - -Light up oxygen/plasma indicators (done) -Cause health to look critical/dead, even when standing (done) -Characters silently watching you -Brief flashes of fire/space/bombs/c4/dangerous shit (done) -Items that are rare/traitorous/don't exist appearing in your inventory slots (done) -Strange audio (should be rare) (done) -Gunshots/explosions/opening doors/less rare audio (done) - -*/ - -#define HAL_LINES_FILE "hallucination.json" - -/mob/living/carbon - var/image/halimage - var/image/halbody - var/obj/halitem - var/hal_screwyhud = SCREWYHUD_NONE - var/next_hallucination = 0 - -GLOBAL_LIST_INIT(hallucinations_minor, list( - /datum/hallucination/sounds, - /datum/hallucination/bolts, - /datum/hallucination/whispers, - /datum/hallucination/message, - /datum/hallucination/hudscrew)) - -GLOBAL_LIST_INIT(hallucinations_medium, list( - /datum/hallucination/fake_alert, - /datum/hallucination/items, - /datum/hallucination/items_other, - /datum/hallucination/dangerflash, - /datum/hallucination/bolts, - /datum/hallucination/fake_flood, - /datum/hallucination/husks, - /datum/hallucination/battle, - /datum/hallucination/fire, - /datum/hallucination/self_delusion)) - -GLOBAL_LIST_INIT(hallucinations_major, list( - /datum/hallucination/fakeattacker, - /datum/hallucination/death, - /datum/hallucination/xeno_attack, - /datum/hallucination/singularity_scare, - /datum/hallucination/delusion, - /datum/hallucination/oh_yeah)) - -/mob/living/carbon/proc/handle_hallucinations() - if(world.time < next_hallucination) - return - - if(hallucination) - var/list/current = GLOB.hallucinations_minor - if(prob(25) && hallucination > 100) - current = GLOB.hallucinations_medium - else if(prob(10) && hallucination > 200) - current = GLOB.hallucinations_major - var/halpick = pick(current) - new halpick(src, FALSE) - -/mob/living/carbon/proc/set_screwyhud(hud_type) - hal_screwyhud = hud_type - update_health_hud() - -/datum/hallucination - var/mob/living/carbon/target - var/cost = 5 //affects the amount of hallucination reduced, and cooldown until the next hallucination - var/feedback_details //extra info for investigate - -/datum/hallucination/New(mob/living/carbon/T, forced = TRUE) - set waitfor = 0 - target = T - if(!forced) - target.hallucination = max(0, target.hallucination - cost) - target.next_hallucination = world.time + (rand(cost * 0.5, cost * 3) * 10) - -/datum/hallucination/proc/wake_and_restore() - target.set_screwyhud(SCREWYHUD_NONE) - target.SetSleeping(0) - -/datum/hallucination/Destroy() - target.investigate_log("was afflicted with a hallucination of type [type]. [feedback_details]", INVESTIGATE_HALLUCINATIONS) - return ..() - -/obj/effect/hallucination - invisibility = INVISIBILITY_OBSERVER - var/mob/living/carbon/target = null - -/obj/effect/hallucination/simple - var/image_icon = 'icons/mob/alien.dmi' - var/image_state = "alienh_pounce" - var/px = 0 - var/py = 0 - var/col_mod = null - var/image/current_image = null - var/image_layer = MOB_LAYER - var/active = TRUE //qdelery - -/obj/effect/hallucination/simple/Initialize(mapload, var/mob/living/carbon/T) - ..() - target = T - current_image = GetImage() - if(target.client) - target.client.images |= current_image - -/obj/effect/hallucination/simple/proc/GetImage() - var/image/I = image(image_icon,src,image_state,image_layer,dir=src.dir) - I.pixel_x = px - I.pixel_y = py - if(col_mod) - I.color = col_mod - return I - -/obj/effect/hallucination/simple/proc/Show(update=1) - if(active) - if(target.client) - target.client.images.Remove(current_image) - if(update) - current_image = GetImage() - if(target.client) - target.client.images |= current_image - -/obj/effect/hallucination/simple/update_icon(new_state,new_icon,new_px=0,new_py=0) - image_state = new_state - if(new_icon) - image_icon = new_icon - else - image_icon = initial(image_icon) - px = new_px - py = new_py - Show() - -/obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir) - Show() - -/obj/effect/hallucination/simple/Destroy() - if(target.client) - target.client.images.Remove(current_image) - active = FALSE - return ..() - -#define FAKE_FLOOD_EXPAND_TIME 20 -#define FAKE_FLOOD_MAX_RADIUS 10 - -/datum/hallucination/fake_flood - //Plasma starts flooding from the nearby vent - var/turf/center - var/list/flood_images = list() - var/list/turf/flood_turfs = list() - var/image_icon = 'icons/effects/tile_effects.dmi' - var/image_state = "plasma" - var/radius = 0 - var/next_expand = 0 - cost = 25 - -/datum/hallucination/fake_flood/New(mob/living/carbon/T, forced = TRUE) - ..() - for(var/obj/machinery/atmospherics/components/unary/vent_pump/U in orange(7,target)) - if(!U.welded) - center = get_turf(U) - break - feedback_details += "Vent Coords: [center.x],[center.y],[center.z]" - flood_images += image(image_icon,center,image_state,MOB_LAYER) - flood_turfs += center - if(target.client) target.client.images |= flood_images - next_expand = world.time + FAKE_FLOOD_EXPAND_TIME - START_PROCESSING(SSobj, src) - -/datum/hallucination/fake_flood/process() - if(next_expand <= world.time) - radius++ - if(radius > FAKE_FLOOD_MAX_RADIUS) - qdel(src) - return - Expand() - if((get_turf(target) in flood_turfs) && !target.internal) - new /datum/hallucination/fake_alert(target, TRUE, "tox_in_air") - next_expand = world.time + FAKE_FLOOD_EXPAND_TIME - -/datum/hallucination/fake_flood/proc/Expand() - for(var/turf/FT in flood_turfs) - for(var/dir in GLOB.cardinals) - var/turf/T = get_step(FT, dir) - if((T in flood_turfs) || !FT.CanAtmosPass(T)) - continue - flood_images += image(image_icon,T,image_state,MOB_LAYER) - flood_turfs += T - if(target.client) - target.client.images |= flood_images - -/datum/hallucination/fake_flood/Destroy() - STOP_PROCESSING(SSobj, src) - qdel(flood_turfs) - flood_turfs = list() - if(target.client) - target.client.images.Remove(flood_images) - target = null - qdel(flood_images) - flood_images = list() - return ..() - -/obj/effect/hallucination/simple/xeno - image_icon = 'icons/mob/alien.dmi' - image_state = "alienh_pounce" - -/obj/effect/hallucination/simple/xeno/Initialize(mapload, mob/living/carbon/T) - ..() - name = "alien hunter ([rand(1, 1000)])" - -/obj/effect/hallucination/simple/xeno/throw_impact(A) - update_icon("alienh_pounce") - if(A == target && target.stat!=DEAD) - target.Knockdown(100) - target.visible_message("[target] flails around wildly.","[name] pounces on you!") - -/datum/hallucination/xeno_attack - //Xeno crawls from nearby vent,jumps at you, and goes back in - var/obj/machinery/atmospherics/components/unary/vent_pump/pump = null - var/obj/effect/hallucination/simple/xeno/xeno = null - cost = 25 - -/datum/hallucination/xeno_attack/New(mob/living/carbon/T, forced = TRUE) - ..() - for(var/obj/machinery/atmospherics/components/unary/vent_pump/U in orange(7,target)) - if(!U.welded) - pump = U - break - feedback_details += "Vent Coords: [pump.x],[pump.y],[pump.z]" - if(pump) - xeno = new(pump.loc,target) - sleep(10) - xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(target,7,1, spin = 0, diagonals_first = 1) - sleep(10) - xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(pump,7,1, spin = 0, diagonals_first = 1) - sleep(10) - var/xeno_name = xeno.name - to_chat(target, "[xeno_name] begins climbing into the ventilation system...") - sleep(30) - qdel(xeno) - to_chat(target, "[xeno_name] scrambles into the ventilation ducts!") - qdel(src) - -/obj/effect/hallucination/simple/clown - image_icon = 'icons/mob/animal.dmi' - image_state = "clown" - -/obj/effect/hallucination/simple/clown/Initialize(mapload, mob/living/carbon/T, duration) - ..(loc, T) - name = pick(GLOB.clown_names) - QDEL_IN(src,duration) - -/obj/effect/hallucination/simple/clown/scary - image_state = "scary_clown" - -/obj/effect/hallucination/simple/bubblegum - name = "Bubblegum" - image_icon = 'icons/mob/lavaland/96x96megafauna.dmi' - image_state = "bubblegum" - px = -32 - -/datum/hallucination/oh_yeah - var/obj/effect/hallucination/simple/bubblegum/bubblegum - var/image/fakebroken - var/image/fakerune - cost = 75 - -/datum/hallucination/oh_yeah/New(mob/living/carbon/T, forced = TRUE) - . = ..() - var/turf/closed/wall/wall - for(var/turf/closed/wall/W in range(7,target)) - wall = W - break - if(!wall) - return INITIALIZE_HINT_QDEL - feedback_details += "Source: [wall.x],[wall.y],[wall.z]" - - fakebroken = image('icons/turf/floors.dmi', wall, "plating", layer = TURF_LAYER) - var/turf/landing = get_turf(target) - var/turf/landing_image_turf = get_step(landing, SOUTHWEST) //the icon is 3x3 - fakerune = image('icons/effects/96x96.dmi', landing_image_turf, "landing", layer = ABOVE_OPEN_TURF_LAYER) - fakebroken.override = TRUE - if(target.client) - target.client.images |= fakebroken - target.client.images |= fakerune - target.playsound_local(wall,'sound/effects/meteorimpact.ogg', 150, 1) - bubblegum = new(wall, target) - addtimer(CALLBACK(src, .proc/bubble_attack, landing), 10) - -/datum/hallucination/oh_yeah/proc/bubble_attack(turf/landing) - var/charged = FALSE //only get hit once - while(get_turf(bubblegum) != landing && target && target.stat != DEAD) - bubblegum.forceMove(get_step_towards(bubblegum, landing)) - bubblegum.setDir(get_dir(bubblegum, landing)) - target.playsound_local(get_turf(bubblegum), 'sound/effects/meteorimpact.ogg', 150, 1) - shake_camera(target, 2, 1) - if(bubblegum.Adjacent(target) && !charged) - charged = TRUE - target.Knockdown(80) - target.adjustStaminaLoss(40) - step_away(target, bubblegum) - shake_camera(target, 4, 3) - target.visible_message("[target] jumps backwards, falling on the ground!","[bubblegum] slams into you!") - sleep(2) - sleep(30) - qdel(src) - -/datum/hallucination/oh_yeah/Destroy() - if(target.client) - target.client.images.Remove(fakebroken) - target.client.images.Remove(fakerune) - QDEL_NULL(fakebroken) - QDEL_NULL(fakerune) - QDEL_NULL(bubblegum) - return ..() - -/datum/hallucination/singularity_scare - //Singularity moving towards you. - //todo Hide where it moved with fake space images - var/obj/effect/hallucination/simple/singularity/s = null - cost = 75 - -/datum/hallucination/singularity_scare/New(mob/living/carbon/T, forced = TRUE) - ..() - var/turf/start = get_turf(T) - var/screen_border = pick(SOUTH,EAST,WEST,NORTH) - for(var/i in 1 to 13) - start = get_step(start,screen_border) - feedback_details += "Source: [start.x],[start.y],[start.z]" - s = new(start,target) - s.parent = src - for(var/i in 1 to 13) - sleep(10) - s.forceMove(get_step(get_turf(s),get_dir(s,target))) - s.Show() - s.Eat() - qdel(s) - -/obj/effect/hallucination/simple/singularity - image_icon = 'icons/effects/224x224.dmi' - image_state = "singularity_s7" - image_layer = MASSIVE_OBJ_LAYER - px = -96 - py = -96 - var/datum/hallucination/singularity_scare/parent - -/obj/effect/hallucination/simple/singularity/proc/Eat(atom/OldLoc, Dir) - var/target_dist = get_dist(src,target) - if(target_dist<=3) //"Eaten" - target.set_screwyhud(SCREWYHUD_DEAD) - target.SetUnconscious(160) - addtimer(CALLBACK(parent, /datum/hallucination/.proc/wake_and_restore), rand(30, 50)) - -/datum/hallucination/battle - cost = 15 - -/datum/hallucination/battle/New(mob/living/carbon/T, forced = TRUE, battle_type) - ..() - var/hits = rand(3,6) - if(!battle_type) - battle_type = pick("laser","esword","gun","stunprod","bomb") - feedback_details += "Type: [battle_type]" - switch(battle_type) - if("laser") //Laser fight - for(var/i in 1 to hits) - target.playsound_local(null, 'sound/weapons/laser.ogg', 25, 1) - if(prob(50)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, null, 'sound/weapons/sear.ogg', 25, 1), rand(10,20)) - else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, null, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(10,20)) - sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 8)) - target.playsound_local(null, get_sfx("bodyfall"), 25, 1) - if("esword") //Esword fight - target.playsound_local(null, 'sound/weapons/saberon.ogg',15, 1) - for(var/i=0,i...wabbajack...wabbajack...") - target.playsound_local(target,'sound/magic/staff_change.ogg', 50, 1) - delusion = A - target.client.images |= A - QDEL_IN(src, duration) - -/datum/hallucination/self_delusion/Destroy() - if(target.client) - target.client.images.Remove(delusion) - return ..() - -/datum/hallucination/fakeattacker/New(mob/living/carbon/T, forced = TRUE) - ..() - var/mob/living/carbon/human/clone = null - var/clone_weapon = null - - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) - if(H.stat || H.lying) - continue - clone = H - feedback_details += "Clone of: [H.real_name]" - break - - if(!clone) - return - - var/static/list/non_fakeattack_weapons = list(/obj/item/gun/ballistic, /obj/item/ammo_box/a357,\ - /obj/item/gun/energy/kinetic_accelerator/crossbow, /obj/item/melee/transforming/energy/sword/saber,\ - /obj/item/storage/box/syndicate, /obj/item/storage/box/emps,\ - /obj/item/cartridge/virus/syndicate, /obj/item/clothing/under/chameleon,\ - /obj/item/clothing/shoes/chameleon, /obj/item/card/id/syndicate,\ - /obj/item/clothing/mask/chameleon, /obj/item/clothing/glasses/thermal,\ - /obj/item/device/chameleon, /obj/item/card/emag, /obj/item/grenade/plastic/x4,\ - /obj/item/storage/toolbox/syndicate, /obj/item/aiModule,\ - /obj/item/device/radio/headset/syndicate, /obj/item/grenade/plastic/c4,\ - /obj/item/device/powersink, /obj/item/storage/box/syndie_kit,\ - /obj/item/toy/syndicateballoon, /obj/item/gun/energy/laser/captain,\ - /obj/item/hand_tele, /obj/item/construction/rcd, /obj/item/tank/jetpack,\ - /obj/item/clothing/under/rank/captain, /obj/item/device/aicard,\ - /obj/item/clothing/shoes/magboots, /obj/item/areaeditor/blueprints, /obj/item/disk/nuclear,\ - /obj/item/clothing/suit/space/nasavoid, /obj/item/tank) - - var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(get_turf(target),target) - - for(var/obj/item/I in clone.held_items) - if(!(locate(I) in non_fakeattack_weapons)) - clone_weapon = I.name - F.weap = I - - F.name = clone.name - F.my_target = target - F.weapon_name = clone_weapon - - F.left = image(clone,dir = WEST) - F.right = image(clone,dir = EAST) - F.up = image(clone,dir = NORTH) - F.down = image(clone,dir = SOUTH) - - F.updateimage() - qdel(src) - -/obj/effect/fake_attacker - icon = null - icon_state = null - name = "" - desc = "" - density = FALSE - anchored = TRUE - opacity = 0 - var/mob/living/carbon/human/my_target = null - var/weapon_name = null - var/obj/item/weap = null - var/image/stand_icon = null - var/image/currentimage = null - var/icon/base = null - var/skin_tone - var/mob/living/clone = null - var/image/left - var/image/right - var/image/up - var/collapse - var/image/down - - max_integrity = 100 - -/obj/effect/fake_attacker/attackby(obj/item/P, mob/living/user, params) - step_away(src,my_target,2) - user.changeNext_move(CLICK_CD_MELEE) - user.do_attack_animation(src) - my_target.playsound_local(src, P.hitsound, 1) - my_target.visible_message("[my_target] flails around wildly.", \ - "[my_target] has attacked [src]!") - - obj_integrity -= P.force - -/obj/effect/fake_attacker/Crossed(mob/M, somenumber) - if(M == my_target) - step_away(src,my_target,2) - if(prob(30)) - for(var/mob/O in oviewers(world.view , my_target)) - to_chat(O, "[my_target] stumbles around.") - -/obj/effect/fake_attacker/Initialize(mapload, mob/living/carbon/T) - ..() - my_target = T - QDEL_IN(src, 300) - step_away(src,my_target,2) - INVOKE_ASYNC(src, .proc/attack_loop) - - -/obj/effect/fake_attacker/proc/updateimage() -// del src.currentimage - if(src.dir == NORTH) - del src.currentimage - src.currentimage = new /image(up,src) - else if(src.dir == SOUTH) - del src.currentimage - src.currentimage = new /image(down,src) - else if(src.dir == EAST) - del src.currentimage - src.currentimage = new /image(right,src) - else if(src.dir == WEST) - del src.currentimage - src.currentimage = new /image(left,src) - SEND_IMAGE(my_target, currentimage) - - -/obj/effect/fake_attacker/proc/attack_loop() - while(1) - sleep(rand(5,10)) - if(obj_integrity < 0 || my_target.stat) - collapse() - continue - if(get_dist(src,my_target) > 1) - src.setDir(get_dir(src,my_target)) - step_towards(src,my_target) - updateimage() - else - if(prob(15)) - if(weapon_name) - my_target.playsound_local(my_target, weap.hitsound, weap.get_clamped_volume(), 1) - my_target.show_message("[src.name] has attacked [my_target] with [weapon_name]!", 1) - my_target.staminaloss += 30 - if(prob(20)) - my_target.blur_eyes(3) - if(prob(33)) - if(!locate(/obj/effect/overlay) in my_target.loc) - fake_blood(my_target) - else - my_target.playsound_local(my_target, pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'), 25, 1) - my_target.show_message("[src.name] has punched [my_target]!", 1) - my_target.staminaloss += 30 - if(prob(33)) - if(!locate(/obj/effect/overlay) in my_target.loc) - fake_blood(my_target) - - if(prob(15)) - step_away(src,my_target,2) - -/obj/effect/fake_attacker/proc/collapse() - collapse = 1 - updateimage() - qdel(src) - -/obj/effect/fake_attacker/proc/fake_blood(mob/target) - var/obj/effect/overlay/O = new/obj/effect/overlay(target.loc) - O.name = "blood" - var/image/I = image('icons/effects/blood.dmi',O,"floor[rand(1,7)]",O.dir,1) - SEND_IMAGE(target, I) - QDEL_IN(O, 300) - - -/datum/hallucination/bolts - var/list/doors = list() - cost = 25 - -/datum/hallucination/bolts/New(mob/living/carbon/T, forced, door_number=-1) //-1 for severe, 1-2 for subtle - ..() - var/image/I = null - var/count = 0 - feedback_details += "Door amount: [door_number]" - for(var/obj/machinery/door/airlock/A in range(7, target)) - if(count>door_number && door_number>0) - break - count++ - I = image(A.overlays_file, get_turf(A), "lights_bolts",layer=A.layer+0.1) - doors += I - if(target.client) - target.client.images |= I - target.playsound_local(get_turf(A), 'sound/machines/boltsdown.ogg',30,0,3) - sleep(rand(6,12)) - sleep(100) - for(var/image/B in doors) - if(target.client) - target.client.images.Remove(B) - target.playsound_local(get_turf(B), 'sound/machines/boltsup.ogg',30,0,3) - sleep(rand(6,12)) - qdel(src) - -/datum/hallucination/whispers - cost = 15 - -/datum/hallucination/whispers/New(mob/living/carbon/T, forced = TRUE) - ..() - var/speak_messages = list("[pick_list_replacements(HAL_LINES_FILE, "suspicion")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "greetings")][target.first_name()]!",\ - "[pick_list_replacements(HAL_LINES_FILE, "getout")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "weird")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "didyouhearthat")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "imatraitor")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "doubt")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "aggressive")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "help")]!!",\ - "[pick_list_replacements(HAL_LINES_FILE, "escape")]",\ - "I'm infected, [pick_list_replacements(HAL_LINES_FILE, "infection_advice")]!") - - var/radio_messages = list("Set [target.first_name()] to arrest!",\ - "[pick_list_replacements(HAL_LINES_FILE, "people")] is [pick_list_replacements(HAL_LINES_FILE, "accusations")]!",\ - "Help!",\ - "[pick_list_replacements(HAL_LINES_FILE, "threat")] in [pick_list_replacements(HAL_LINES_FILE, "location")][prob(50)?"!":"!!"]",\ - "Where's [target.first_name()]?"\ - ,"[pick("C","Ai, c","Someone c","Rec")]all the shuttle!"\ - ,"AI [pick("rogue", "is dead")]!!") - - var/list/mob/living/carbon/people = list() - var/list/mob/living/carbon/person = null - var/datum/language/understood_language = target.get_random_understood_language() - for(var/mob/living/carbon/H in view(target)) - if(H == target) - continue - if(!person) - person = H - else - if(get_dist(target,H)The light burns you!", \ - "You don't feel like yourself.", \ - "You hear something squeezing through the ducts...", \ - "You hear a distant scream.", \ - "You feel invincible, nothing can hurt you!", \ - "You feel a tiny prick!", \ - "[target] sneezes.", \ - //The truth, revealed - "You're hallucinating.", \ - //Direct advice - "[pick_list_replacements(HAL_LINES_FILE, "advice")]") - feedback_details += "Message: [chosen]" - to_chat(target, chosen) - qdel(src) - -/datum/hallucination/sounds - cost = 15 - -/datum/hallucination/sounds/New(mob/living/carbon/T, forced = TRUE, sound_type) - ..() - if(!sound_type) - sound_type = pick("airlock","explosion","far_explosion","glass","phone","summon_guns","alarm","beepsky","hallelujah","creepy","ratvar","shuttle_dock", - "wall_decon","door_hack","esword","blob_alert","tesla","malf_ai") - feedback_details += "Type: [sound_type]" - //Strange audio - switch(sound_type) - if("airlock") - target.playsound_local(null,'sound/machines/airlock.ogg', 15, 1) - if("explosion") - if(prob(50)) - target.playsound_local(null,'sound/effects/explosion1.ogg', 50, 1) - else - target.playsound_local(null, 'sound/effects/explosion2.ogg', 50, 1) - if("far_explosion") - target.playsound_local(null, 'sound/effects/explosionfar.ogg', 50, 1) - if("glass") - target.playsound_local(null, pick('sound/effects/glassbr1.ogg','sound/effects/glassbr2.ogg','sound/effects/glassbr3.ogg'), 50, 1) - if("phone") - target.playsound_local(null, 'sound/weapons/ring.ogg', 35) - sleep(15) - target.playsound_local(null, 'sound/weapons/ring.ogg', 35) - sleep(15) - target.playsound_local(null, 'sound/weapons/ring.ogg', 35) - if("summon_guns") - target.playsound_local(null, 'sound/magic/summon_guns.ogg', 50, 1) - if("alarm") - target.playsound_local(null, 'sound/machines/alarm.ogg', 100, 0) - if("beepsky") - target.playsound_local(null, 'sound/voice/bfreeze.ogg', 35, 0) - if("hallelujah") - target.playsound_local(null, 'sound/effects/pray_chaplain.ogg', 50) - //Rare audio - if("creepy") - //These sounds are (mostly) taken from Hidden: Source - var/static/list/hallucinations_creepyasssounds = list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/screech.ogg',\ - 'sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/far_noise.ogg', 'sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg',\ - 'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\ - 'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\ - 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg', 'sound/hallucinations/veryfar_noise.ogg', 'sound/hallucinations/wail.ogg') - target.playsound_local(null, pick(hallucinations_creepyasssounds), 50, 1) - if("ratvar") - target.playsound_local(null, 'sound/effects/ratvar_rises.ogg', 100) - sleep(150) - target.playsound_local(null, 'sound/effects/ratvar_reveal.ogg', 100) - if("shuttle_dock") - to_chat(target, "

Priority Announcement

") - to_chat(target, "

The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.

") - target.playsound_local(null, 'sound/ai/shuttledock.ogg', 100) - //Deconstructing a wall - if("wall_decon") - target.playsound_local(null, 'sound/items/welder.ogg', 15, 1) - sleep(105) - target.playsound_local(null, 'sound/items/welder2.ogg', 15, 1) - sleep(15) - target.playsound_local(null, 'sound/items/ratchet.ogg', 15, 1) - //Hacking a door - if("door_hack") - target.playsound_local(null, 'sound/items/screwdriver.ogg', 15, 1) - sleep(rand(10,30)) - for(var/i = rand(1,3), i>0, i--) - target.playsound_local(null, 'sound/weapons/empty.ogg', 15, 1) - sleep(rand(10,30)) - target.playsound_local(null, 'sound/machines/airlockforced.ogg', 15, 1) - if("esword") - target.playsound_local(null, 'sound/weapons/saberon.ogg',35,1) - if("blob_alert") - to_chat(target, "

Biohazard Alert

") - to_chat(target, "

Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.

") - target.playsound_local(null, 'sound/ai/outbreak5.ogg', 100, 0) - if("tesla") //Tesla loose! - target.playsound_local(null, 'sound/magic/lightningbolt.ogg', 35, 1) - sleep(20) - target.playsound_local(null, 'sound/magic/lightningbolt.ogg', 65, 1) - sleep(20) - target.playsound_local(null, 'sound/magic/lightningbolt.ogg', 100, 1) - if("malf_ai") //AI is doomsdaying! - to_chat(target, "

Anomaly Alert

") - to_chat(target, "

Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.

") - target.playsound_local(null, 'sound/ai/aimalf.ogg', 100, 0) - qdel(src) - -/datum/hallucination/hudscrew - cost = 10 - -/datum/hallucination/hudscrew/New(mob/living/carbon/T, forced = TRUE) - ..() - //Screwy HUD - target.set_screwyhud(pick(SCREWYHUD_CRIT,SCREWYHUD_DEAD,SCREWYHUD_HEALTHY)) - feedback_details += "Type: [target.hal_screwyhud]" - sleep(rand(100,250)) - target.set_screwyhud(SCREWYHUD_NONE) - qdel(src) - -/datum/hallucination/fake_alert - cost = 15 - -/datum/hallucination/fake_alert/New(mob/living/carbon/T, forced = TRUE, specific, duration = 150) - ..() - var/alert_type = pick("not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","weightless","fire","locked","hacked","temphot","tempcold","pressure") - if(specific) - alert_type = specific - feedback_details += "Type: [alert_type]" - switch(alert_type) - if("oxy") - target.throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy, override = TRUE) - if("not_enough_tox") - target.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox, override = TRUE) - if("not_enough_co2") - target.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2, override = TRUE) - if("too_much_oxy") - target.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy, override = TRUE) - if("too_much_co2") - target.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2, override = TRUE) - if("tox_in_air") - target.throw_alert("too_much_tox", /obj/screen/alert/too_much_tox, override = TRUE) - if("nutrition") - if(prob(50)) - target.throw_alert("nutrition", /obj/screen/alert/fat, override = TRUE) - else - target.throw_alert("nutrition", /obj/screen/alert/starving, override = TRUE) - if("weightless") - target.throw_alert("weightless", /obj/screen/alert/weightless, override = TRUE) - if("fire") - target.throw_alert("fire", /obj/screen/alert/fire, override = TRUE) - if("temphot") - target.throw_alert("temp", /obj/screen/alert/hot, 3, override = TRUE) - if("tempcold") - target.throw_alert("temp", /obj/screen/alert/cold, 3, override = TRUE) - if("pressure") - if(prob(50)) - target.throw_alert("pressure", /obj/screen/alert/highpressure, 2, override = TRUE) - else - target.throw_alert("pressure", /obj/screen/alert/lowpressure, 2, override = TRUE) - //BEEP BOOP I AM A ROBOT - if("newlaw") - target.throw_alert("newlaw", /obj/screen/alert/newlaw, override = TRUE) - if("locked") - target.throw_alert("locked", /obj/screen/alert/locked, override = TRUE) - if("hacked") - target.throw_alert("hacked", /obj/screen/alert/hacked, override = TRUE) - if("charge") - target.throw_alert("charge",/obj/screen/alert/emptycell, override = TRUE) - sleep(duration) - target.clear_alert(alert_type, clear_override = TRUE) - qdel(src) - -/datum/hallucination/items - cost = 15 - -/datum/hallucination/items/New(mob/living/carbon/T, forced = TRUE) - ..() - //Strange items - if(!target.halitem) - target.halitem = new - var/obj/item/l_hand = target.get_item_for_held_index(1) - var/obj/item/r_hand = target.get_item_for_held_index(2) - var/l = ui_hand_position(target.get_held_index_of_item(l_hand)) - var/r = ui_hand_position(target.get_held_index_of_item(r_hand)) - var/list/slots_free = list(l,r) - if(l_hand) slots_free -= l - if(r_hand) slots_free -= r - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(!H.belt) slots_free += ui_belt - if(!H.l_store) slots_free += ui_storage1 - if(!H.r_store) slots_free += ui_storage2 - if(slots_free.len) - target.halitem.screen_loc = pick(slots_free) - target.halitem.layer = ABOVE_HUD_LAYER - target.halitem.plane = ABOVE_HUD_PLANE - switch(rand(1,6)) - if(1) //revolver - target.halitem.icon = 'icons/obj/guns/projectile.dmi' - target.halitem.icon_state = "revolver" - target.halitem.name = "Revolver" - if(2) //c4 - target.halitem.icon = 'icons/obj/grenade.dmi' - target.halitem.icon_state = "plastic-explosive0" - target.halitem.name = "C4" - if(prob(25)) - target.halitem.icon_state = "plasticx40" - if(3) //sword - target.halitem.icon = 'icons/obj/weapons.dmi' - target.halitem.icon_state = "sword0" - target.halitem.name = "Energy Sword" - if(4) //stun baton - target.halitem.icon = 'icons/obj/weapons.dmi' - target.halitem.icon_state = "stunbaton" - target.halitem.name = "Stun Baton" - if(5) //emag - target.halitem.icon = 'icons/obj/card.dmi' - target.halitem.icon_state = "emag" - target.halitem.name = "Cryptographic Sequencer" - if(6) //flashbang - target.halitem.icon = 'icons/obj/grenade.dmi' - target.halitem.icon_state = "flashbang1" - target.halitem.name = "Flashbang" - feedback_details += "Type: [target.halitem.name]" - if(target.client) target.client.screen += target.halitem - QDEL_IN(target.halitem, rand(150, 350)) - qdel(src) - -/datum/hallucination/dangerflash - cost = 15 - -/datum/hallucination/dangerflash/New(mob/living/carbon/T, forced = TRUE) - ..() - //Flashes of danger - if(!target.halimage) - var/list/possible_points = list() - for(var/turf/open/floor/F in view(target,world.view)) - possible_points += F - if(possible_points.len) - var/turf/open/floor/danger_point = pick(possible_points) - - switch(rand(1,5)) - if(1) - target.halimage = image('icons/turf/space.dmi',danger_point,"[rand(1,25)]",TURF_LAYER) - if(2) - target.halimage = image('icons/turf/floors/lava.dmi',danger_point,"smooth",TURF_LAYER) - if(3) - target.halimage = image('icons/turf/floors/Chasms.dmi',danger_point,"smooth",TURF_LAYER) - if(4) - target.halimage = image('icons/effects/effects.dmi',danger_point,"anom",OBJ_LAYER+0.01) - if(5) - target.halimage = image('icons/effects/effects.dmi',danger_point,"electricity2",OBJ_LAYER+0.01) - - - if(target.client) - target.client.images += target.halimage - sleep(rand(200,450)) - if(target.client) - target.client.images -= target.halimage - QDEL_NULL(target.halimage) - qdel(src) - -/datum/hallucination/death - cost = 40 - -/datum/hallucination/death/New(mob/living/carbon/T, forced = TRUE) - set waitfor = 0 - ..() - target.set_screwyhud(SCREWYHUD_DEAD) - target.Knockdown(300) - target.silent += 10 - var/area/area = get_area(target) - to_chat(target, "[target.mind.name] has died at [area.name].") - if(prob(50)) - var/mob/fakemob - var/list/dead_people = list() - for(var/mob/dead/observer/G in GLOB.player_list) - dead_people += G - if(LAZYLEN(dead_people)) - fakemob = pick(dead_people) - else - fakemob = target //ever been so lonely you had to haunt yourself? - if(fakemob) - sleep(rand(20, 50)) - to_chat(target, "DEAD: [fakemob.name] says, \"[pick("rip","hey [target.first_name()]","you too?","is the AI rogue?",\ - "i[prob(50)?" fucking":""] hate [pick("blood cult", "clock cult", "revenants", "abductors","double agents","viruses","badmins","you")]")]\"") - sleep(rand(70,90)) - target.set_screwyhud(SCREWYHUD_NONE) - target.SetKnockdown(0) - target.silent = 0 - qdel(src) - -/datum/hallucination/fire - cost = 25 - -/datum/hallucination/fire/New(mob/living/carbon/T, forced = TRUE) - ..() - var/image/fire_overlay = image('icons/mob/OnFire.dmi', target, "Standing", ABOVE_MOB_LAYER) - if(target.client) - target.client.images += fire_overlay - to_chat(target, "You're set on fire!") - target.throw_alert("fire", /obj/screen/alert/fire, override = TRUE) - sleep(20) - target.throw_alert("temp", /obj/screen/alert/hot, 1, override = TRUE) - sleep(30) - target.clear_alert("temp", clear_override = TRUE) - target.throw_alert("temp", /obj/screen/alert/hot, 2, override = TRUE) - sleep(30) - target.clear_alert("temp", clear_override = TRUE) - target.throw_alert("temp", /obj/screen/alert/hot, 3, override = TRUE) - for(var/i in 1 to rand(5, 10)) - target.adjustStaminaLoss(15) - sleep(25) - target.clear_alert("fire", clear_override = TRUE) - target.clear_alert("temp", clear_override = TRUE) - if(target.client) - target.client.images -= fire_overlay - QDEL_NULL(fire_overlay) - qdel(src) - -/datum/hallucination/husks - cost = 20 - -/datum/hallucination/husks/New(mob/living/carbon/T, forced = TRUE) - ..() - if(!target.halbody) - var/list/possible_points = list() - for(var/turf/open/floor/F in view(target,world.view)) - possible_points += F - if(possible_points.len) - var/turf/open/floor/husk_point = pick(possible_points) - switch(rand(1,4)) - if(1) - var/image/body = image('icons/mob/human.dmi',husk_point,"husk",TURF_LAYER) - var/matrix/M = matrix() - M.Turn(90) - body.transform = M - target.halbody = body - if(2,3) - target.halbody = image('icons/mob/human.dmi',husk_point,"husk",TURF_LAYER) - if(4) - target.halbody = image('icons/mob/alien.dmi',husk_point,"alienother",TURF_LAYER) - - if(target.client) - target.client.images += target.halbody - sleep(rand(30,50)) //Only seen for a brief moment. - if(target.client) - target.client.images -= target.halbody - QDEL_NULL(target.halbody) - qdel(src) - -//hallucination projectile code in code/modules/projectiles/projectile/special.dm -/datum/hallucination/stray_bullet - cost = 15 - -/datum/hallucination/stray_bullet/New(mob/living/carbon/C, forced = TRUE) - ..() - var/list/turf/startlocs = list() - for(var/turf/open/T in view(world.view+1,target)-view(world.view,target)) - startlocs += T - var/turf/start = pick(startlocs) - var/proj_type = pick(subtypesof(/obj/item/projectile/hallucination)) - feedback_details += "Type: [proj_type]" - var/obj/item/projectile/hallucination/H = new proj_type(start) - target.playsound_local(start, H.hal_fire_sound, 60, 1) - H.hal_target = target - H.current = start - H.starting = start - H.yo = target.y - start.y - H.xo = target.x - start.x - H.original = target - H.fire() - qdel(src) - diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 481626931b..59c1413226 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -341,7 +341,7 @@ name = "soda can" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' - container_type = 0 + container_type = NONE spillable = FALSE /obj/item/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/user) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm.rej b/code/modules/food_and_drinks/drinks/drinks.dm.rej deleted file mode 100644 index 966cb83aee..0000000000 --- a/code/modules/food_and_drinks/drinks/drinks.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm (rejected hunks) -@@ -357,7 +357,7 @@ - /obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user) - if(!is_open_container()) - to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - playsound(src, "can_open", 50, 1) - spillable = TRUE - return diff --git a/code/modules/food_and_drinks/food.dm.rej b/code/modules/food_and_drinks/food.dm.rej deleted file mode 100644 index 9d092f6aa3..0000000000 --- a/code/modules/food_and_drinks/food.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm (rejected hunks) -@@ -4,7 +4,7 @@ - /obj/item/reagent_containers/food - possible_transfer_amounts = list() - volume = 50 //Sets the default container amount for all food items. -- container_type = INJECTABLE -+ container_type = INJECTABLE_1 - resistance_flags = FLAMMABLE - var/foodtype = NONE - var/last_check_time diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 4252201cbd..c48be678e2 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -225,6 +225,11 @@ tastes = list("meat" = 1, "wheat" = 1) foodtype = GRAIN +/obj/item/reagent_containers/food/snacks/meat/slab/gorilla + name = "gorilla meat" + desc = "Much meatier than monkey meat." + list_reagents = list("nutriment" = 5, "vitamin" = 1) + /obj/item/reagent_containers/food/snacks/meat/rawbacon name = "raw piece of bacon" desc = "A raw piece of bacon." diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm.rej b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm.rej deleted file mode 100644 index aa16e6cb82..0000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm (rejected hunks) -@@ -15,7 +15,7 @@ insert ascii eagle on american flag background here - anchored = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 5 -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - var/obj/item/frying = null //What's being fried RIGHT NOW? - var/cook_time = 0 - var/static/list/deepfry_blacklisted_items = typecacheof(list( diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm.rej b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm.rej deleted file mode 100644 index e9e750f51d..0000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm (rejected hunks) -@@ -15,7 +15,7 @@ - var/portion = 10 - var/selected_drink - var/list/stored_food = list() -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - var/obj/item/reagent_containers/mixer - - /obj/machinery/food_cart/Initialize() diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm.rej b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm.rej deleted file mode 100644 index 5f4ec95f19..0000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm (rejected hunks) -@@ -14,7 +14,7 @@ - anchored = FALSE - use_power = NO_POWER_USE - layer = BELOW_OBJ_LAYER -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - max_integrity = 300 - var/list/product_types = list() - var/dispense_flavour = ICECREAM_VANILLA diff --git a/code/modules/goonchat/browserOutput.dm.rej b/code/modules/goonchat/browserOutput.dm.rej deleted file mode 100644 index 231def1c9a..0000000000 --- a/code/modules/goonchat/browserOutput.dm.rej +++ /dev/null @@ -1,137 +0,0 @@ -diff a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm (rejected hunks) -@@ -166,135 +166,6 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic - - //Global chat procs - --//Converts an icon to base64. Operates by putting the icon in the iconCache savefile, --// exporting it as text, and then parsing the base64 from that. --// (This relies on byond automatically storing icons in savefiles as base64) --/proc/icon2base64(icon/icon, iconKey = "misc") -- if (!isicon(icon)) -- return FALSE -- WRITE_FILE(GLOB.iconCache[iconKey], icon) -- var/iconData = GLOB.iconCache.ExportText(iconKey) -- var/list/partial = splittext(iconData, "{") -- return replacetext(copytext(partial[2], 3, -5), "\n", "") -- --/proc/icon2html(thing, target, icon_state, dir, frame = 1, moving) -- if (!thing) -- return -- var/static/datum/callback/CB = CALLBACK(GLOBAL_PROC, .proc/send_asset) -- -- var/key -- var/icon/I = thing -- if (!target) -- return -- if (target == world) -- target = GLOB.clients -- -- var/list/targets -- if (!islist(target)) -- targets = list(target) -- else -- targets = target -- if (!targets.len) -- return -- debug_usr("start") -- if (!isicon(I)) -- debug_usr("not icon") -- if (isfile(thing)) //special snowflake -- debug_usr("file") -- var/name = sanitize_filename("bicon.[thing]") -- debug_usr("file:[name]") -- register_asset(name, thing) -- var/list/callbacks -- var/list/callback_args = list() -- for (var/thing2 in targets) -- callbacks += CB -- callback_args[++callback_args.len] = list(thing2, name, TRUE) -- callback_select(callbacks, callback_args, savereturns = FALSE) -- return "" -- debug_usr("not file") -- var/atom/A -- if (isnull(dir)) -- dir = A.dir -- if (isnull(icon_state)) -- icon_state = A.icon_state -- I = A.icon -- if (ishuman(thing)) // Shitty workaround for a BYOND issue. -- debug_usr("human") -- var/icon/temp = I -- I = icon() -- I.Insert(temp, dir = SOUTH) -- dir = SOUTH -- else -- debug_usr("icon") -- if (isnull(dir)) -- dir = SOUTH -- if (isnull(icon_state)) -- icon_state = "" -- -- I = icon(I, icon_state, dir, frame) -- -- key = sanitize_filename("bicon.[md5(icon2base64(I))].[icon_state].[dir].png") -- debug_usr("key:[key]") -- register_asset(key, I) -- var/list/callbacks = list() -- var/list/callback_args = list() -- for (var/thing2 in targets) -- callbacks += CB -- callback_args[++callback_args.len] = list(thing2, key, TRUE) -- -- callback_select(callbacks, callback_args, savereturns = FALSE) -- return "" -- --/proc/icon2base64html(thing) -- if (!thing) -- return -- var/static/list/bicon_cache = list() -- if (isicon(thing)) -- var/icon/I = thing -- var/icon_base64 = icon2base64(I) -- -- if (I.Height() > world.icon_size || I.Width() > world.icon_size) -- var/icon_md5 = md5(icon_base64) -- debug_admins(icon_md5) -- icon_base64 = bicon_cache[icon_md5] -- if (!icon_base64) // Doesn't exist yet, make it. -- I = icon(I) -- I.Scale(world.icon_size, world.icon_size) -- bicon_cache[icon_md5] = icon_base64 = icon2base64(I) -- -- -- 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]" -- -- -- 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) -- -- if (I.Height() > world.icon_size || I.Width() > world.icon_size) -- I.Scale(world.icon_size, world.icon_size) -- -- bicon_cache[key] = icon2base64(I, key) -- -- return "" -- --//Costlier version of icon2html() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs. --/proc/costly_icon2html(thing, target) -- if (!thing) -- return -- -- if (isicon(thing)) -- return icon2html(thing, target) -- -- var/icon/I = getFlatIcon(thing) -- return icon2html(I, target) -- - /proc/to_chat(target, message) - if(!target) - return diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index b01892e636..316b2298ca 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -25,7 +25,7 @@ /obj/structure/beebox name = "apiary" - desc = "Dr Miles Manners is just your average wasp-themed super hero by day, but by night he becomes DR BEES!" + desc = "Dr. Miles Manners is just your average wasp-themed super hero by day, but by night he becomes DR. BEES!" icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "beebox" anchored = TRUE @@ -45,9 +45,7 @@ /obj/structure/beebox/Destroy() STOP_PROCESSING(SSobj, src) bees.Cut() - bees = null honeycombs.Cut() - honeycombs = null queen_bee = null return ..() @@ -151,7 +149,7 @@ honey_frames += HF else to_chat(user, "There's no room for any more frames in the apiary!") - + return if(istype(I, /obj/item/wrench)) if(default_unfasten_wrench(user, I, time = 20)) return @@ -187,6 +185,9 @@ to_chat(user, "The queen bee disappeared! Disappearing bees have been in the news lately...") qdel(qb) + return + + ..() /obj/structure/beebox/attack_hand(mob/user) @@ -203,8 +204,10 @@ bees = TRUE if(bees) visible_message("[user] disturbs the bees!") + else + visible_message("[user] disturbs the [name] to no effect!") else - var/option = alert(user, "What action do you wish to perform?","Apiary","Remove a Honey Frame","Remove the Queen Bee") + var/option = alert(user, "What action do you wish to perform?","Apiary","Remove a Honey Frame","Remove the Queen Bee", "Cancel") if(!Adjacent(user)) return switch(option) @@ -244,3 +247,13 @@ QB.loc = get_turf(src) visible_message("[user] removes the queen from the apiary.") queen_bee = null + +/obj/structure/beebox/deconstruct(disassembled = TRUE) + new /obj/item/stack/sheet/mineral/wood (loc, 20) + for(var/mob/living/simple_animal/hostile/poison/bees/B in bees) + if(B.loc == src) + B.loc = get_turf(src) + for(var/obj/item/honey_frame/HF in honey_frames) + if(HF.loc == src) + HF.loc = get_turf(src) + qdel(src) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm index af0139f04d..4254678bee 100644 --- a/code/modules/hydroponics/grown/cannabis.dm +++ b/code/modules/hydroponics/grown/cannabis.dm @@ -113,7 +113,7 @@ /obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate seed = /obj/item/seeds/cannabis/ultimate - name = "omega cannibas leaf" + name = "omega cannabis leaf" desc = "You feel dizzy looking at it. What the fuck?" icon_state = "ocannabis" volume = 420 diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index d060181d78..332a0d318f 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -42,8 +42,10 @@ qdel(src) /obj/item/seeds/kudzu/attack_self(mob/user) - plant(user) - to_chat(user, "You plant the kudzu. You monster.") + user.visible_message("[user] begins throwing seeds on the ground...") + if(do_after(user, 50, needhand = TRUE, target = user.drop_location(), progress = TRUE)) + plant(user) + to_chat(user, "You plant the kudzu. You monster.") /obj/item/seeds/kudzu/get_analyzer_text() var/text = ..() diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 35e1df3bab..3561ccd2c9 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -21,7 +21,9 @@ icon = 'icons/obj/hydroponics/equipment.dmi' name = "weed spray" icon_state = "weedspray" - item_state = "spray" + item_state = "spraycan" + lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi' volume = 100 container_type = OPENCONTAINER_1 slot_flags = SLOT_BELT diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 4c7af3250b..66a15ac705 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -915,9 +915,11 @@ name = "soil" icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "soil" + circuit = null density = FALSE use_power = NO_POWER_USE - unwrenchable = 0 + flags_1 = NODECONSTRUCT_1 + unwrenchable = FALSE /obj/machinery/hydroponics/soil/update_icon_hoses() return // Has no hoses diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm new file mode 100644 index 0000000000..fc61fcf40b --- /dev/null +++ b/code/modules/jobs/job_exp.dm @@ -0,0 +1,279 @@ +GLOBAL_LIST_EMPTY(exp_to_update) +GLOBAL_PROTECT(exp_to_update) + + +// Procs +/datum/job/proc/required_playtime_remaining(client/C) + if(!C) + return 0 + if(!config.use_exp_tracking) + return 0 + if(!exp_requirements || !exp_type) + return 0 + if(!job_is_xp_locked(src.title)) + return 0 + if(config.use_exp_restrictions_admin_bypass && check_rights(R_ADMIN, FALSE, C.mob)) + return 0 + var/isexempt = C.prefs.db_flags & DB_FLAG_EXEMPT + if(isexempt) + return 0 + var/my_exp = C.calc_exp_type(get_exp_req_type()) + var/job_requirement = get_exp_req_amount() + if(my_exp >= job_requirement) + return 0 + else + return (job_requirement - my_exp) + +/datum/job/proc/get_exp_req_amount() + if(title in GLOB.command_positions) + if(config.use_exp_restrictions_heads_hours) + return config.use_exp_restrictions_heads_hours * 60 + return exp_requirements + +/datum/job/proc/get_exp_req_type() + if(title in GLOB.command_positions) + if(config.use_exp_restrictions_heads_department && exp_type_department) + return exp_type_department + return exp_type + +/proc/job_is_xp_locked(jobtitle) + if(!config.use_exp_restrictions_heads && jobtitle in GLOB.command_positions) + return FALSE + if(!config.use_exp_restrictions_other && !(jobtitle in GLOB.command_positions)) + return FALSE + return TRUE + +/client/proc/calc_exp_type(exptype) + var/list/explist = prefs.exp.Copy() + var/amount = 0 + var/list/typelist = GLOB.exp_jobsmap[exptype] + if(!typelist) + return -1 + for(var/job in typelist["titles"]) + if(job in explist) + amount += explist[job] + return amount + +/client/proc/get_exp_report() + if(!config.use_exp_tracking) + return "Tracking is disabled in the server configuration file." + var/list/play_records = prefs.exp + if(!play_records.len) + set_exp_from_db() + play_records = prefs.exp + if(!play_records.len) + return "[key] has no records." + var/return_text = list() + return_text += "
    " + var/list/exp_data = list() + for(var/category in SSjob.name_occupations) + if(play_records[category]) + exp_data[category] = text2num(play_records[category]) + else + exp_data[category] = 0 + for(var/category in GLOB.exp_specialmap) + if(play_records[category]) + exp_data[category] = text2num(play_records[category]) + else + exp_data[category] = 0 + if(prefs.db_flags & DB_FLAG_EXEMPT) + return_text += "
  • Exempt (all jobs auto-unlocked)
  • " + + for(var/dep in exp_data) + if(exp_data[dep] > 0) + if(exp_data[EXP_TYPE_LIVING] > 0) + var/percentage = num2text(round(exp_data[dep]/exp_data[EXP_TYPE_LIVING]*100)) + return_text += "
  • [dep] [get_exp_format(exp_data[dep])] ([percentage]%)
  • " + else + return_text += "
  • [dep] [get_exp_format(exp_data[dep])]
  • " + if(config.use_exp_restrictions_admin_bypass && check_rights(R_ADMIN, 0, mob)) + return_text += "
  • Admin (all jobs auto-unlocked)
  • " + return_text += "
" + var/list/jobs_locked = list() + var/list/jobs_unlocked = list() + for(var/datum/job/job in SSjob.occupations) + if(job.exp_requirements && job.exp_type) + if(!job_is_xp_locked(job.title)) + continue + else if(!job.required_playtime_remaining(mob.client)) + jobs_unlocked += job.title + else + var/xp_req = job.get_exp_req_amount() + jobs_locked += "[job.title] [get_exp_format(text2num(calc_exp_type(job.get_exp_req_type())))] / [get_exp_format(xp_req)] as [job.get_exp_req_type()])" + if(jobs_unlocked.len) + return_text += "

Jobs Unlocked:
  • " + return_text += jobs_unlocked.Join("
  • ") + return_text += "
" + if(jobs_locked.len) + return_text += "

Jobs Not Unlocked:
  • " + return_text += jobs_locked.Join("
  • ") + return_text += "
" + return return_text + + +/client/proc/get_exp_living() + if(!prefs.exp) + return "No data" + var/exp_living = text2num(prefs.exp[EXP_TYPE_LIVING]) + return get_exp_format(exp_living) + +/proc/get_exp_format(expnum) + if(expnum > 60) + return num2text(round(expnum / 60)) + "h" + else if(expnum > 0) + return num2text(expnum) + "m" + else + return "0h" + +/datum/controller/subsystem/blackbox/proc/update_exp(mins, ann = FALSE) + if(!SSdbcore.Connect()) + return -1 + for(var/client/L in GLOB.clients) + if(L.is_afk()) + continue + addtimer(CALLBACK(L,/client/proc/update_exp_list,mins,ann),10) + +/datum/controller/subsystem/blackbox/proc/update_exp_db() + SSdbcore.MassInsert(format_table_name("role_time"),GLOB.exp_to_update,TRUE) + LAZYCLEARLIST(GLOB.exp_to_update) + +//resets a client's exp to what was in the db. +/client/proc/set_exp_from_db() + if(!config.use_exp_tracking) + return -1 + if(!SSdbcore.Connect()) + return -1 + var/datum/DBQuery/exp_read = SSdbcore.NewQuery("SELECT job, minutes FROM [format_table_name("role_time")] WHERE ckey = '[sanitizeSQL(ckey)]'") + if(!exp_read.Execute()) + return -1 + var/list/play_records = list() + while(exp_read.NextRow()) + play_records[exp_read.item[1]] = text2num(exp_read.item[2]) + + for(var/rtype in SSjob.name_occupations) + if(!play_records[rtype]) + play_records[rtype] = 0 + for(var/rtype in GLOB.exp_specialmap) + if(!play_records[rtype]) + play_records[rtype] = 0 + + prefs.exp = play_records + + +//updates player db flags +/client/proc/update_flag_db(newflag, state = FALSE) + + if(!SSdbcore.Connect()) + return -1 + + if(!set_db_player_flags()) + return -1 + + if((prefs.db_flags & newflag) && !state) + prefs.db_flags &= ~newflag + else + prefs.db_flags |= newflag + + var/datum/DBQuery/flag_update = SSdbcore.NewQuery("UPDATE [format_table_name("player")] SET flags = '[prefs.db_flags]' WHERE ckey='[sanitizeSQL(ckey)]'") + + if(!flag_update.Execute()) + return -1 + + +/client/proc/update_exp_list(minutes, announce_changes = FALSE) + if(!config.use_exp_tracking) + return -1 + if(!SSdbcore.Connect()) + return -1 + var/datum/DBQuery/exp_read = SSdbcore.NewQuery("SELECT job, minutes FROM [format_table_name("role_time")] WHERE ckey = '[sanitizeSQL(ckey)]'") + if(!exp_read.Execute()) + return -1 + var/list/play_records = list() + while(exp_read.NextRow()) + play_records[exp_read.item[1]] = text2num(exp_read.item[2]) + + for(var/rtype in SSjob.name_occupations) + if(!play_records[rtype]) + play_records[rtype] = 0 + for(var/rtype in GLOB.exp_specialmap) + if(!play_records[rtype]) + play_records[rtype] = 0 + var/list/old_records = play_records.Copy() + if(isliving(mob)) + if(mob.stat != DEAD) + var/rolefound = FALSE + play_records[EXP_TYPE_LIVING] += minutes + if(announce_changes) + to_chat(src,"You got: [minutes] Living EXP!") + if(mob.mind.assigned_role) + for(var/job in SSjob.name_occupations) + if(mob.mind.assigned_role == job) + rolefound = TRUE + play_records[job] += minutes + if(announce_changes) + to_chat(src,"You got: [minutes] [job] EXP!") + if(!rolefound) + for(var/role in GLOB.exp_specialmap[EXP_TYPE_SPECIAL]) + if(mob.mind.assigned_role == role) + rolefound = TRUE + play_records[role] += minutes + if(announce_changes) + to_chat(mob,"You got: [minutes] [role] EXP!") + if(mob.mind.special_role && !mob.mind.var_edited) + var/trackedrole = mob.mind.special_role + var/gangrole = lookforgangrole(mob.mind.special_role) + if(gangrole) + trackedrole = gangrole + play_records[trackedrole] += minutes + if(announce_changes) + to_chat(src,"You got: [minutes] [trackedrole] EXP!") + if(!rolefound) + play_records["Unknown"] += minutes + else + play_records[EXP_TYPE_GHOST] += minutes + if(announce_changes) + to_chat(src,"You got: [minutes] Ghost EXP!") + else if(isobserver(mob)) + play_records[EXP_TYPE_GHOST] += minutes + if(announce_changes) + to_chat(src,"You got: [minutes] Ghost EXP!") + else if(minutes) //Let "refresh" checks go through + return + prefs.exp = play_records + + for(var/jtype in play_records) + if(play_records[jtype] != old_records[jtype]) + LAZYINITLIST(GLOB.exp_to_update) + GLOB.exp_to_update.Add(list(list( + "job" = "'[sanitizeSQL(jtype)]'", + "ckey" = "'[sanitizeSQL(ckey)]'", + "minutes" = play_records[jtype]))) + addtimer(CALLBACK(SSblackbox,/datum/controller/subsystem/blackbox/proc/update_exp_db),20,TIMER_OVERRIDE|TIMER_UNIQUE) + + +//ALWAYS call this at beginning to any proc touching player flags, or your database admin will probably be mad +/client/proc/set_db_player_flags() + if(!SSdbcore.Connect()) + return FALSE + + var/datum/DBQuery/flags_read = SSdbcore.NewQuery("SELECT flags FROM [format_table_name("player")] WHERE ckey='[ckey]'") + + if(!flags_read.Execute()) + return FALSE + + if(flags_read.NextRow()) + prefs.db_flags = text2num(flags_read.item[1]) + else if(isnull(prefs.db_flags)) + prefs.db_flags = 0 //This PROBABLY won't happen, but better safe than sorry. + return TRUE + +//Since each gang is tracked as a different antag type, records need to be generalized or you get up to 57 different possible records +/proc/lookforgangrole(rolecheck) + if(findtext(rolecheck,"Gangster")) + return "Gangster" + else if(findtext(rolecheck,"Gang Boss")) + return "Gang Boss" + else if(findtext(rolecheck,"Gang Lieutenant")) + return "Gang Lieutenant" + else + return FALSE diff --git a/code/modules/jobs/job_exp.dm.rej b/code/modules/jobs/job_exp.dm.rej new file mode 100644 index 0000000000..128a479acd --- /dev/null +++ b/code/modules/jobs/job_exp.dm.rej @@ -0,0 +1,108 @@ +diff a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm (rejected hunks) +@@ -140,15 +140,12 @@ GLOBAL_PROTECT(exp_to_update) + //resets a client's exp to what was in the db. + /client/proc/set_exp_from_db() + if(!config.use_exp_tracking) +- return ++ return -1 + if(!SSdbcore.Connect()) + return -1 + var/datum/DBQuery/exp_read = SSdbcore.NewQuery("SELECT job, minutes FROM [format_table_name("role_time")] WHERE ckey = '[sanitizeSQL(ckey)]'") + if(!exp_read.Execute()) +- var/err = exp_read.ErrorMsg() +- log_sql("SQL ERROR during exp_update_client read. Error : \[[err]\]\n") +- message_admins("SQL ERROR during exp_update_client read. Error : \[[err]\]\n") +- return ++ return -1 + var/list/play_records = list() + while(exp_read.NextRow()) + play_records[exp_read.item[1]] = text2num(exp_read.item[2]) +@@ -172,42 +169,24 @@ GLOBAL_PROTECT(exp_to_update) + if(!set_db_player_flags()) + return -1 + +- var/datum/DBQuery/flag_read = SSdbcore.NewQuery("SELECT flags FROM [format_table_name("player")] WHERE ckey='[sanitizeSQL(ckey)]'") +- +- if(!flag_read.Execute()) +- var/err = flag_read.ErrorMsg() +- log_sql("SQL ERROR during player flags read. Error : \[[err]\]\n") +- message_admins("SQL ERROR during player flags read. Error : \[[err]\]\n") +- return +- +- var/playerflags = null +- if(flag_read.NextRow()) +- playerflags = text2num(flag_read.item[1]) +- +- if((playerflags & newflag) && !state) ++ if((prefs.db_flags & newflag) && !state) + prefs.db_flags &= ~newflag + else + prefs.db_flags |= newflag + + var/datum/DBQuery/flag_update = SSdbcore.NewQuery("UPDATE [format_table_name("player")] SET flags = '[prefs.db_flags]' WHERE ckey='[sanitizeSQL(ckey)]'") + +- + if(!flag_update.Execute()) +- var/err = flag_update.ErrorMsg() +- log_sql("SQL ERROR during exp_exempt update. Error : \[[err]\]\n") +- message_admins("SQL ERROR during exp_exempt update. Error : \[[err]\]\n") +- return ++ return -1 ++ + + /client/proc/update_exp_list(minutes, announce_changes = FALSE) + if(!config.use_exp_tracking) +- return ++ return -1 + if(!SSdbcore.Connect()) + return -1 + var/datum/DBQuery/exp_read = SSdbcore.NewQuery("SELECT job, minutes FROM [format_table_name("role_time")] WHERE ckey = '[sanitizeSQL(ckey)]'") + if(!exp_read.Execute()) +- var/err = exp_read.ErrorMsg() +- log_sql("SQL ERROR during exp_update_client read. Error : \[[err]\]\n") +- message_admins("SQL ERROR during exp_update_client read. Error : \[[err]\]\n") + return -1 + var/list/play_records = list() + while(exp_read.NextRow()) +@@ -241,9 +220,13 @@ GLOBAL_PROTECT(exp_to_update) + if(announce_changes) + to_chat(mob,"You got: [minutes] [role] EXP!") + if(mob.mind.special_role && !mob.mind.var_edited) +- play_records[mob.mind.special_role] += minutes ++ var/trackedrole = mob.mind.special_role ++ var/gangrole = lookforgangrole(mob.mind.special_role) ++ if(gangrole) ++ trackedrole = gangrole ++ play_records[trackedrole] += minutes + if(announce_changes) +- to_chat(src,"You got: [minutes] [mob.mind.special_role] EXP!") ++ to_chat(src,"You got: [minutes] [trackedrole] EXP!") + if(!rolefound) + play_records["Unknown"] += minutes + else +@@ -276,11 +259,21 @@ GLOBAL_PROTECT(exp_to_update) + var/datum/DBQuery/flags_read = SSdbcore.NewQuery("SELECT flags FROM [format_table_name("player")] WHERE ckey='[ckey]'") + + if(!flags_read.Execute()) +- var/err = flags_read.ErrorMsg() +- log_sql("SQL ERROR during player flags read. Error : \[[err]\]\n") +- message_admins("SQL ERROR during player flags read. Error : \[[err]\]\n") + return FALSE + + if(flags_read.NextRow()) + prefs.db_flags = text2num(flags_read.item[1]) ++ else if(isnull(prefs.db_flags)) ++ prefs.db_flags = 0 //This PROBABLY won't happen, but better safe than sorry. + return TRUE ++ ++//Since each gang is tracked as a different antag type, records need to be generalized or you get up to 57 different possible records ++/proc/lookforgangrole(rolecheck) ++ if(findtext(rolecheck,"Gangster")) ++ return "Gangster" ++ else if(findtext(rolecheck,"Gang Boss")) ++ return "Gang Boss" ++ else if(findtext(rolecheck,"Gang Lieutenant")) ++ return "Gang Lieutenant" ++ else ++ return FALSE +\ No newline at end of file diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 5a7a0a76e5..03498f1e7b 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -13,6 +13,8 @@ Captain selection_color = "#ccccff" req_admin_notify = 1 minimal_player_age = 14 + exp_requirements = 180 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/captain @@ -64,6 +66,9 @@ Head of Personnel selection_color = "#ddddff" req_admin_notify = 1 minimal_player_age = 10 + exp_requirements = 180 + exp_type = EXP_TYPE_CREW + exp_type_department = EXP_TYPE_SUPPLY outfit = /datum/outfit/job/hop diff --git a/code/modules/jobs/job_types/engineering.dm b/code/modules/jobs/job_types/engineering.dm index daad870ec9..b61c61f6c8 100644 --- a/code/modules/jobs/job_types/engineering.dm +++ b/code/modules/jobs/job_types/engineering.dm @@ -14,6 +14,9 @@ Chief Engineer selection_color = "#ffeeaa" req_admin_notify = 1 minimal_player_age = 7 + exp_requirements = 180 + exp_type = EXP_TYPE_CREW + exp_type_department = EXP_TYPE_ENGINEERING outfit = /datum/outfit/job/ce @@ -72,6 +75,8 @@ Station Engineer spawn_positions = 5 supervisors = "the chief engineer" selection_color = "#fff5cc" + exp_requirements = 60 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/engineer @@ -127,6 +132,8 @@ Atmospheric Technician spawn_positions = 2 supervisors = "the chief engineer" selection_color = "#fff5cc" + exp_requirements = 60 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/atmos diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm index 04a384357f..6b736db7fe 100644 --- a/code/modules/jobs/job_types/job.dm +++ b/code/modules/jobs/job_types/job.dm @@ -43,6 +43,11 @@ var/outfit = null + var/exp_requirements = 0 + + var/exp_type = "" + var/exp_type_department = "" + //Only override this proc //H is usually a human unless an /equip override transformed it /datum/job/proc/after_spawn(mob/living/H, mob/M) diff --git a/code/modules/jobs/job_types/medical.dm b/code/modules/jobs/job_types/medical.dm index 5f22e1886a..94d2753fc5 100644 --- a/code/modules/jobs/job_types/medical.dm +++ b/code/modules/jobs/job_types/medical.dm @@ -14,6 +14,9 @@ Chief Medical Officer selection_color = "#ffddf0" req_admin_notify = 1 minimal_player_age = 7 + exp_requirements = 180 + exp_type = EXP_TYPE_CREW + exp_type_department = EXP_TYPE_MEDICAL outfit = /datum/outfit/job/cmo @@ -90,6 +93,8 @@ Chemist spawn_positions = 2 supervisors = "the chief medical officer" selection_color = "#ffeef0" + exp_type = EXP_TYPE_CREW + exp_requirements = 60 outfit = /datum/outfit/job/chemist @@ -124,6 +129,8 @@ Geneticist spawn_positions = 2 supervisors = "the chief medical officer and research director" selection_color = "#ffeef0" + exp_type = EXP_TYPE_CREW + exp_requirements = 60 outfit = /datum/outfit/job/geneticist @@ -158,6 +165,8 @@ Virologist spawn_positions = 1 supervisors = "the chief medical officer" selection_color = "#ffeef0" + exp_type = EXP_TYPE_CREW + exp_requirements = 60 outfit = /datum/outfit/job/virologist diff --git a/code/modules/jobs/job_types/science.dm b/code/modules/jobs/job_types/science.dm index 6ce166c48e..4eac15d9f1 100644 --- a/code/modules/jobs/job_types/science.dm +++ b/code/modules/jobs/job_types/science.dm @@ -14,6 +14,9 @@ Research Director selection_color = "#ffddff" req_admin_notify = 1 minimal_player_age = 7 + exp_type_department = EXP_TYPE_SCIENCE + exp_requirements = 180 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/rd @@ -68,6 +71,8 @@ Scientist spawn_positions = 3 supervisors = "the research director" selection_color = "#ffeeff" + exp_requirements = 60 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/scientist @@ -101,6 +106,8 @@ Roboticist spawn_positions = 2 supervisors = "research director" selection_color = "#ffeeff" + exp_requirements = 60 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/roboticist diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index 3ccbb7faef..84623873e8 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -20,6 +20,9 @@ Head of Security selection_color = "#ffdddd" req_admin_notify = 1 minimal_player_age = 14 + exp_requirements = 300 + exp_type = EXP_TYPE_CREW + exp_type_department = EXP_TYPE_SECURITY outfit = /datum/outfit/job/hos @@ -71,6 +74,8 @@ Warden supervisors = "the head of security" selection_color = "#ffeeee" minimal_player_age = 7 + exp_requirements = 300 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/warden @@ -121,6 +126,8 @@ Detective supervisors = "the head of security" selection_color = "#ffeeee" minimal_player_age = 7 + exp_requirements = 300 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/detective @@ -169,6 +176,8 @@ Security Officer supervisors = "the head of security, and the head of your assigned department (if applicable)" selection_color = "#ffeeee" minimal_player_age = 7 + exp_requirements = 300 + exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/security diff --git a/code/modules/jobs/job_types/silicon.dm b/code/modules/jobs/job_types/silicon.dm index 0b6380bfaf..2e0a710d41 100644 --- a/code/modules/jobs/job_types/silicon.dm +++ b/code/modules/jobs/job_types/silicon.dm @@ -12,6 +12,8 @@ AI supervisors = "your laws" req_admin_notify = 1 minimal_player_age = 30 + exp_requirements = 180 + exp_type = EXP_TYPE_CREW /datum/job/ai/equip(mob/living/carbon/human/H) return H.AIize(FALSE) @@ -44,6 +46,8 @@ Cyborg supervisors = "your laws and the AI" //Nodrak selection_color = "#ddffdd" minimal_player_age = 21 + exp_requirements = 120 + exp_type = EXP_TYPE_CREW /datum/job/cyborg/equip(mob/living/carbon/human/H) return H.Robotize(FALSE, FALSE) diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 2d7caa5fc4..b5ec8fa27a 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -59,6 +59,26 @@ GLOBAL_LIST_INIT(nonhuman_positions, list( "Cyborg", "pAI")) +GLOBAL_LIST_INIT(exp_jobsmap, list( + EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | civilian_positions | list("AI","Cyborg")), // crew positions + EXP_TYPE_COMMAND = list("titles" = command_positions), + EXP_TYPE_ENGINEERING = list("titles" = engineering_positions), + EXP_TYPE_MEDICAL = list("titles" = medical_positions), + EXP_TYPE_SCIENCE = list("titles" = science_positions), + EXP_TYPE_SUPPLY = list("titles" = supply_positions), + EXP_TYPE_SECURITY = list("titles" = security_positions), + EXP_TYPE_SILICON = list("titles" = list("AI","Cyborg")), + EXP_TYPE_SERVICE = list("titles" = civilian_positions), +)) + +GLOBAL_LIST_INIT(exp_specialmap, list( + EXP_TYPE_LIVING = list(), // all living mobs + EXP_TYPE_ANTAG = list(), + EXP_TYPE_SPECIAL = list("Lifebringer","Ash Walker","Exile","Servant Golem","Free Golem","Hermit","Translocated Vet","Escaped Prisoner","Hotel Staff","SuperFriend","Space Syndicate","Ancient Crew","Space Doctor","Space Bartender","Beach Bum","Skeleton","Zombie","Space Bar Patron","Lavaland Syndicate","Ghost Role"), // Ghost roles + EXP_TYPE_GHOST = list() // dead people, observers +)) +GLOBAL_PROTECT(exp_jobsmap) +GLOBAL_PROTECT(exp_specialmap) /proc/guest_jobbans(job) return ((job in GLOB.command_positions) || (job in GLOB.nonhuman_positions) || (job in GLOB.security_positions)) diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm index 481b3a6a12..d3d95db974 100644 --- a/code/modules/library/lib_codex_gigas.dm +++ b/code/modules/library/lib_codex_gigas.dm @@ -8,6 +8,8 @@ name = "\improper Codex Gigas" desc = "A book documenting the nature of devils." icon_state ="demonomicon" + lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' throw_speed = 1 throw_range = 10 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index cf82921646..e70786f80d 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -49,3 +49,21 @@ /obj/effect/baseturf_helper/lava_land/surface name = "lavaland baseturf editor" baseturf = /turf/open/lava/smooth/lava_land_surface + + +//Contains the list of planetary z-levels defined by the planet_z helper. +GLOBAL_LIST_EMPTY(z_is_planet) + +/obj/effect/mapping_helpers/planet_z //adds the map it is on to the z_is_planet list + name = "planet z helper" + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "syndballoon" + layer = POINT_LAYER + +/obj/effect/mapping_helpers/planet_z/Initialize() + . = ..() + var/turf/T = get_turf(src) + if(!turf_z_is_planet(T)) + GLOB.z_is_planet["[T.z]"] = list() + qdel(src) + diff --git a/code/modules/mining/equipment/mining_tools.dm.rej b/code/modules/mining/equipment/mining_tools.dm.rej deleted file mode 100644 index 646ed96851..0000000000 --- a/code/modules/mining/equipment/mining_tools.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm (rejected hunks) -@@ -62,7 +62,7 @@ - /obj/item/pickaxe/drill/cyborg - name = "cyborg mining drill" - desc = "An integrated electric mining drill." -- flags = NODROP -+ flags_1 = NODROP_1 - - /obj/item/pickaxe/drill/diamonddrill - name = "diamond-tipped mining drill" -@@ -72,7 +72,7 @@ - desc = "Yours is the drill that will pierce the heavens!" - - /obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version! -- name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics. -+ name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics. - icon_state = "diamonddrill" - digspeed = 7 - diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 0cfdd4157e..5b8c40a976 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -5,6 +5,7 @@ dynamic_lighting = DYNAMIC_LIGHTING_FORCED requires_power = FALSE has_gravity = TRUE + valid_territory = FALSE //Survival Capsule /obj/item/survivalcapsule diff --git a/code/modules/mining/equipment/survival_pod.dm.rej b/code/modules/mining/equipment/survival_pod.dm.rej deleted file mode 100644 index 3effe96e52..0000000000 --- a/code/modules/mining/equipment/survival_pod.dm.rej +++ /dev/null @@ -1,35 +0,0 @@ -diff a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm (rejected hunks) -@@ -167,7 +167,7 @@ - pixel_y = -32 - - /obj/item/device/gps/computer/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - user.visible_message("[user] disassembles the gps.", \ - "You start to disassemble the gps...", "You hear clanking and banging noises.") -@@ -198,7 +198,7 @@ - light_color = "#DDFFD3" - max_n_of_items = 10 - pixel_y = -4 -- flags = NODECONSTRUCT -+ flags_1 = NODECONSTRUCT_1 - var/empty = FALSE - - /obj/machinery/smartfridge/survival_pod/Initialize(mapload) -@@ -237,13 +237,13 @@ - CanAtmosPass = ATMOS_PASS_NO - - /obj/structure/fans/deconstruct() -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(buildstacktype) - new buildstacktype(loc,buildstackamount) - qdel(src) - - /obj/structure/fans/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - user.visible_message("[user] disassembles the fan.", \ - "You start to disassemble the fan...", "You hear clanking and banging noises.") diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 827df09480..4684c3039d 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -480,6 +480,8 @@ icon = 'icons/obj/vehicles.dmi' icon_state = "oar" item_state = "oar" + lefthand_file = 'icons/mob/inhands/misc/lavaland_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/lavaland_righthand.dmi' desc = "Not to be confused with the kind Research hassles you for." force = 12 w_class = WEIGHT_CLASS_NORMAL @@ -835,6 +837,8 @@ desc = "The ability to fill the emergency shuttle with lava. What more could you want out of life?" icon_state = "staffofstorms" item_state = "staffofstorms" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' icon = 'icons/obj/guns/magic.dmi' slot_flags = SLOT_BACK w_class = WEIGHT_CLASS_BULKY diff --git a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm index 9a49c23cfc..4de3b1d4dd 100644 --- a/code/modules/mob/dead/new_player/login.dm +++ b/code/modules/mob/dead/new_player/login.dm @@ -1,4 +1,7 @@ /mob/dead/new_player/Login() + if(config.use_exp_tracking) + client.set_exp_from_db() + client.set_db_player_flags() if(!mind) mind = new /datum/mind(key) mind.active = 1 diff --git a/code/modules/mob/dead/new_player/login.dm.rej b/code/modules/mob/dead/new_player/login.dm.rej new file mode 100644 index 0000000000..b7361e13ff --- /dev/null +++ b/code/modules/mob/dead/new_player/login.dm.rej @@ -0,0 +1,9 @@ +diff a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm (rejected hunks) +@@ -1,5 +1,6 @@ + /mob/dead/new_player/Login() +- client.update_exp_client(0, 0) ++ if(config.use_exp_tracking) ++ client.update_exp_client(0, 0) + if(!mind) + mind = new /datum/mind(key) + mind.active = 1 diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index c65cd1a5fb..b11c6bc336 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -307,6 +307,8 @@ return 0 if(!job.player_old_enough(src.client)) return 0 + if(job.required_playtime_remaining(client)) + return 0 if(config.enforce_human_authority && !client.prefs.pref_species.qualifies_for_rank(rank, client.prefs.features)) return 0 return 1 diff --git a/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm b/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm index ab4b044cb9..648e6170fa 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm @@ -96,6 +96,20 @@ icon = 'icons/mob/mam_bodyparts.dmi' extra = 1 +/datum/sprite_accessory/tails/human/kitsune + name = "Kitsune" + icon_state = "kitsune" + extra = 1 + extra_color_src = MUTCOLORS2 + icon = 'icons/mob/mam_bodyparts.dmi' + +/datum/sprite_accessory/tails_animated/human/kitsune + name = "Kitsune" + icon_state = "kitsune" + extra = 1 + extra_color_src = MUTCOLORS2 + icon = 'icons/mob/mam_bodyparts.dmi' + /datum/sprite_accessory/ears/lab name = "Dog, Floppy" icon_state = "lab" @@ -119,6 +133,33 @@ color_src = 0 icon = 'icons/mob/mam_bodyparts.dmi' +/datum/sprite_accessory/ears/human/otie + name = "Otusian" + icon_state = "otie" + hasinner= 1 + +/datum/sprite_accessory/tails/human/otie + name = "Otusian" + icon_state = "otie" + +/datum/sprite_accessory/tails_animated/human/otie + name = "Otusian" + icon_state = "otie" + +/datum/sprite_accessory/ears/human/skunk + name = "skunk" + icon_state = "skunk" + +/datum/sprite_accessory/tails/human/skunk + name = "skunk" + icon_state = "skunk" + color_src = 0 + +/datum/sprite_accessory/tails_animated/human/skunk + name = "skunk" + icon_state = "skunk" + color_src = 0 + /datum/sprite_accessory/tails/human/shark name = "Shark" icon_state = "shark" @@ -198,6 +239,16 @@ **************** Snouts ******************* *******************************************/ +/datum/sprite_accessory/snouts/none + name = "None" + icon_state = "none" + icon = 'icons/mob/mam_bodyparts.dmi' + +/datum/sprite_accessory/snouts/bird + name = "Beak" + icon_state = "bird" + icon = 'icons/mob/mam_bodyparts.dmi' + /datum/sprite_accessory/snouts/lcanid name = "Fox, Long" icon_state = "lcanid" @@ -347,6 +398,31 @@ icon_state = "husky" extra = 1 +/datum/sprite_accessory/mam_ears/kangaroo + name = "kangaroo" + icon_state = "kangaroo" + extra = 1 + +/datum/sprite_accessory/mam_tails/kangaroo + name = "kangaroo" + icon_state = "kangaroo" + +/datum/sprite_accessory/mam_tails_animated/kangaroo + name = "kangaroo" + icon_state = "kangaroo" + +/datum/sprite_accessory/mam_tails/kitsune + name = "Kitsune" + icon_state = "kitsune" + extra = 1 + extra_color_src = MUTCOLORS2 + +/datum/sprite_accessory/mam_tails_animated/kitsune + name = "Kitsune" + icon_state = "kitsune" + extra = 1 + extra_color_src = MUTCOLORS2 + /datum/sprite_accessory/mam_ears/lab name = "Dog, Long" icon_state = "lab" @@ -386,6 +462,22 @@ name = "Otusian" icon_state = "otie" +/datum/sprite_accessory/mam_ears/skunk + name = "skunk" + icon_state = "skunk" + +/datum/sprite_accessory/mam_tails/skunk + name = "skunk" + icon_state = "skunk" + color_src = 0 + extra = 1 + +/datum/sprite_accessory/mam_tails_animated/skunk + name = "skunk" + icon_state = "skunk" + color_src = 0 + extra = 1 + /datum/sprite_accessory/mam_tails/shark name = "Shark" icon_state = "shark" @@ -396,17 +488,6 @@ icon_state = "shark" color_src = 0 -/datum/sprite_accessory/mam_tails/shark/datashark - name = "DataShark" - icon_state = "datashark" - color_src = 0 -// ckeys_allowed = list("rubyflamewing") - -/datum/sprite_accessory/mam_tails_animated/shark/datashark - name = "DataShark" - icon_state = "datashark" - color_src = 0 - /datum/sprite_accessory/mam_tails/shepherd name = "Shepherd" icon_state = "shepherd" @@ -445,31 +526,18 @@ name = "Wolf" icon_state = "wolf" -/datum/sprite_accessory/mam_tails/guilmon - name = "Guilmon" - icon_state = "guilmon" - extra = 1 - -/datum/sprite_accessory/mam_tails_animated/guilmon - name = "Guilmon" - icon_state = "guilmon" - extra = 1 - -/datum/sprite_accessory/mam_ears/guilmon - name = "Guilmon" - icon_state = "guilmon" - icon = 'icons/mob/mam_bodyparts.dmi' - /datum/sprite_accessory/mam_tails/rabbit name = "Rabbit" icon_state = "rabbit" - icon = 'icons/mob/mam_bodyparts.dmi' + +/datum/sprite_accessory/mam_tails_animated/rabbit + name = "Rabbit" + icon_state = "rabbit" /datum/sprite_accessory/mam_ears/rabbit name = "Rabbit" icon_state = "rabbit" hasinner= 1 - icon = 'icons/mob/mam_bodyparts.dmi' /****************************************** ************ Body Markings **************** @@ -586,20 +654,14 @@ color_src = MUTCOLORS2 gender_specific = 1 -/datum/sprite_accessory/mam_body_markings/guilmon - name = "Guilmon" - icon_state = "guilmon" - extra = 1 - extra2 = 1 - icon = 'icons/mob/mam_body_markings.dmi' - - /datum/sprite_accessory/mam_body_markings/xeno +/datum/sprite_accessory/mam_body_markings/xeno name = "Xeno" icon_state = "xeno" color_src = MUTCOLORS2 extra_color_src = MUTCOLORS3 gender_specific = 1 + /****************************************** ************ Taur Bodies ****************** *******************************************/ @@ -711,7 +773,6 @@ icon = 'icons/mob/xeno_parts_greyscale.dmi' //Xeno Caste Heads -//unused as of October 3, 2016 /datum/sprite_accessory/xeno_head icon = 'icons/mob/xeno_parts_greyscale.dmi' @@ -739,17 +800,67 @@ icon_state = "warrior" icon = 'icons/mob/xeno_parts_greyscale.dmi' +// *** Snooooow flaaaaake *** + +/datum/sprite_accessory/mam_body_markings/guilmon + name = "Guilmon" + icon_state = "guilmon" + extra_color_src = MUTCOLORS2 + extra2_color_src = MUTCOLORS3 + gender_specific = 1 + +/datum/sprite_accessory/mam_tails/guilmon + name = "Guilmon" + icon_state = "guilmon" + extra = 1 + +/datum/sprite_accessory/mam_tails_animated/guilmon + name = "Guilmon" + icon_state = "guilmon" + extra = 1 + +/datum/sprite_accessory/mam_ears/guilmon + name = "Guilmon" + icon_state = "guilmon" + icon = 'icons/mob/mam_bodyparts.dmi' + +/datum/sprite_accessory/mam_tails/shark/datashark + name = "DataShark" + icon_state = "datashark" + color_src = 0 +// ckeys_allowed = list("rubyflamewing") + +/datum/sprite_accessory/mam_tails_animated/shark/datashark + name = "DataShark" + icon_state = "datashark" + color_src = 0 + /* -//Slimecoon Parts -/datum/sprite_accessory/slimecoon_ears - icon = 'icons/mob/exotic_bodyparts.dmi' - name = "Slimecoon Ears" - icon_state = "slimecoon" -/datum/sprite_accessory/slimecoon_tail - icon = 'icons/mob/exotic_bodyparts.dmi' - name = "Slimecoon Tail" - icon_state = "slimecoon" -/datum/sprite_accessory/slimecoon_snout - icon = 'icons/mob/exotic_bodyparts.dmi' - name = "Hunter" - icon_state = "slimecoon" */ +//Till I get my snowflake only ckey lock, these are locked-locked :D + +/datum/sprite_accessory/mam_ears/sabresune + name = "sabresune" + icon_state = "sabresune" + extra = 1 + extra_color_src = MUTCOLORS3 + locked = TRUE + +/datum/sprite_accessory/mam_tails/sabresune + name = "sabresune" + icon_state = "sabresune" + extra = 1 + locked = TRUE + +/datum/sprite_accessory/mam_tails_animated/sabresune + name = "sabresune" + icon_state = "sabresune" + extra = 1 + +/datum/sprite_accessory/mam_body_markings/sabresune + name = "Sabresune" + icon_state = "sabresune" + color_src = MUTCOLORS2 + extra = 0 + extra2 = 0 + locked = TRUE +*/ diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index bc6640286d..126f3bcf01 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -52,11 +52,14 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) // Used for displaying in ghost chat, without changing the actual name // of the mob var/deadchat_name + var/datum/spawners_menu/spawners_menu /mob/dead/observer/Initialize() set_invisibility(GLOB.observer_default_invisibility) - verbs += /mob/dead/observer/proc/dead_tele + verbs += list( + /mob/dead/observer/proc/dead_tele, + /mob/dead/observer/proc/open_spawners_menu) if(icon_state in GLOB.ghost_forms_with_directions_list) ghostimage_default = image(src.icon,src,src.icon_state + "_nodir") @@ -149,6 +152,8 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) QDEL_NULL(ghostimage_simple) updateallghostimages() + + QDEL_NULL(spawners_menu) return ..() /mob/dead/CanPass(atom/movable/mover, turf/target) @@ -816,3 +821,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(message) to_chat(G, message) GLOB.observer_default_invisibility = amount + +/mob/dead/observer/proc/open_spawners_menu() + set name = "Mob spawners menu" + set desc = "See all currently available ghost spawners" + set category = "Ghost" + if(!spawners_menu) + spawners_menu = new(src) + + spawners_menu.ui_interact(src) \ No newline at end of file diff --git a/code/modules/mob/living/bloodcrawl.dm.rej b/code/modules/mob/living/bloodcrawl.dm.rej deleted file mode 100644 index cf88bd660f..0000000000 --- a/code/modules/mob/living/bloodcrawl.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm (rejected hunks) -@@ -167,7 +167,7 @@ - if(iscarbon(src)) - var/mob/living/carbon/C = src - for(var/obj/item/bloodcrawl/BC in C) -- BC.flags = null -+ BC.flags_1 = null - qdel(BC) - qdel(src.holder) - src.holder = null diff --git a/code/modules/mob/living/carbon/carbon.dm.rej b/code/modules/mob/living/carbon/carbon.dm.rej deleted file mode 100644 index 23a1954a8f..0000000000 --- a/code/modules/mob/living/carbon/carbon.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm (rejected hunks) -@@ -213,7 +213,7 @@ - if(href_list["internal"]) - var/slot = text2num(href_list["internal"]) - var/obj/item/ITEM = get_item_by_slot(slot) -- if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags & MASKINTERNALS)) -+ if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) - visible_message("[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].", \ - "[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].") - if(do_mob(usr, src, POCKET_STRIP_DELAY)) -@@ -221,7 +221,7 @@ - internal = null - update_internals_hud_icon(0) - else if(ITEM && istype(ITEM, /obj/item/tank)) -- if((wear_mask && (wear_mask.flags & MASKINTERNALS)) || getorganslot("breathing_tube")) -+ if((wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) || getorganslot("breathing_tube")) - internal = ITEM - update_internals_hud_icon(1) - diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index fab12538fc..b23cadfc5a 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -255,6 +255,8 @@ else if(check_zone(M.zone_selected) == "head") M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \ "You give [src] a pat on the head to make [p_them()] feel better!") + if(dna && dna.species && (("tail_lizard" in dna.species.mutant_bodyparts) || (dna.features["tail_human"] != "None") || ("mam_tail" in dna.species.mutant_bodyparts))) + emote("wag") //lewd else M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ "You hug [src] to make [p_them()] feel better!") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 165019160e..304a745220 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -613,7 +613,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) //Check for dresscode violations if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/syndi) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi)) - threatcount += 3 + threatcount += 6 //Check for nonhuman scum if(dna && dna.species.id && !(dna.species.id in list("human" , "lizard", "mammal", "avian", "aquatic", "insect"))) diff --git a/code/modules/mob/living/carbon/human/human.dm.rej b/code/modules/mob/living/carbon/human/human.dm.rej deleted file mode 100644 index 51e11c569e..0000000000 --- a/code/modules/mob/living/carbon/human/human.dm.rej +++ /dev/null @@ -1,91 +0,0 @@ -diff a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm (rejected hunks) -@@ -141,42 +141,42 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) - dat += "" - for(var/i in 1 to held_items.len) - var/obj/item/I = get_item_for_held_index(i) -- dat += "" -+ dat += "" - dat += "" - -- dat += "" - -- dat += "" -+ dat += "" - - if(slot_wear_mask in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_neck in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_glasses in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_ears in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - dat += "" - -- dat += "" -+ dat += "" - if(wear_suit) -- dat += "" -@@ -186,30 +186,30 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) - if(slot_shoes in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_gloves in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_w_uniform in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (slot_w_uniform in obscured)) - dat += "" - dat += "" - dat += "" - else -- dat += "" -- dat += "" -- dat += "" -+ dat += "" -+ dat += "" - - if(handcuffed) - dat += "" diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 98dc9b33a1..1c44c96d64 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -143,19 +143,19 @@ var/protection = (prot["head"] + prot["arms"] + prot["feet"] + prot["legs"] + prot["groin"] + prot["chest"] + prot["hands"])/7 return protection -/mob/living/carbon/human/can_use_guns(var/obj/item/G) +/mob/living/carbon/human/can_use_guns(obj/item/G) . = ..() if(G.trigger_guard == TRIGGER_GUARD_NORMAL) if(src.dna.check_mutation(HULK)) to_chat(src, "Your meaty finger is much too large for the trigger guard!") - return 0 + return FALSE if(NOGUNS in src.dna.species.species_traits) to_chat(src, "Your fingers don't fit in the trigger guard!") - return 0 + return FALSE if(mind) if(mind.martial_art && mind.martial_art.no_guns) //great dishonor to famiry to_chat(src, "Use of ranged weaponry would bring dishonor to the clan.") - return 0 + return FALSE return . diff --git a/code/modules/mob/living/carbon/human/interactive.dm b/code/modules/mob/living/carbon/human/interactive.dm index 18a4b3a7fb..b1eaa5349b 100644 --- a/code/modules/mob/living/carbon/human/interactive.dm +++ b/code/modules/mob/living/carbon/human/interactive.dm @@ -87,17 +87,28 @@ /// SNPC voice handling /mob/living/carbon/human/interactive/proc/loadVoice() - var/savefile/S = new /savefile("data/npc_saves/snpc.sav") - S["knownStrings"] >> knownStrings - + if(fexists("data/npc_saves/snpc.sav")) + var/savefile/S = new /savefile("data/npc_saves/snpc.sav") + S["knownStrings"] >> knownStrings + fdel(S) + else + var/json_file = file("data/npc_saves/snpc.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + knownStrings = json["knownStrings"] if(isnull(knownStrings)) knownStrings = list() /mob/living/carbon/human/interactive/proc/saveVoice() if(voice_saved) return - var/savefile/S = new /savefile("data/npc_saves/snpc.sav") - WRITE_FILE(S["knownStrings"], knownStrings) + var/json_file = file("data/npc_saves/snpc.json") + var/list/file_data = list() + file_data["knownStrings"] = knownStrings + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) //botPool funcs /mob/living/carbon/human/interactive/proc/takeDelegate(mob/living/carbon/human/interactive/from,doReset=TRUE) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index da99954f29..55203bf2e5 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -147,7 +147,7 @@ . = ..() //See mob.dm for an explanation on this and some rage about people copypasting instead of calling ..() like they should. if(!. || !I) return - if(index && dna.species.mutanthands) + if(index && !QDELETED(src) && dna.species.mutanthands) //hand freed, fill with claws, skip if we're getting deleted. put_in_hand(new dna.species.mutanthands(), index) if(I == wear_suit) if(s_store && invdrop) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 1fcf412fc8..9d8d2b704b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -57,6 +57,8 @@ /mob/living/carbon/human/calculate_affecting_pressure(pressure) if((wear_suit && (wear_suit.flags_1 & STOPSPRESSUREDMAGE_1)) && (head && (head.flags_1 & STOPSPRESSUREDMAGE_1))) return ONE_ATMOSPHERE + if(ismob(loc)) + return ONE_ATMOSPHERE else return pressure @@ -242,6 +244,9 @@ if(dna && (RESISTCOLD in dna.species.species_traits)) return 1 + + if(ismob(loc)) + return 1 //because lazy and being inside somemone insulates you from space temperature = max(temperature, 2.7) //There is an occasional bug where the temperature is miscalculated in ares with a small amount of gas on them, so this is necessary to ensure that that bug does not affect this calculation. Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. var/thermal_protection_flags = get_cold_protection_flags(temperature) diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index f6784160a3..d15280790e 100644 --- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -1,4 +1,4 @@ -datum/species/mammal +/datum/species/mammal name = "Mammal" id = "mammal" default_color = "4B4B4B" @@ -9,6 +9,8 @@ datum/species/mammal attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' roundstart = 1 + liked_food = MEAT | FRIED + disliked_food = TOXIC /datum/species/mammal/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -24,12 +26,14 @@ datum/species/mammal say_mod = "chirps" default_color = "BCAC9B" species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR) - mutant_bodyparts = list("snout", "wings", "taur", "mam_tail", "mam_body_markings") + mutant_bodyparts = list("snout", "wings", "taur", "mam_tail", "mam_body_markings", "taur") default_features = list("snout" = "Sharp", "wings" = "None", "taur" = "None", "mam_body_markings" = "Hawk") attack_verb = "peck" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' roundstart = 1 + liked_food = MEAT | FRUIT + disliked_food = TOXIC /datum/species/avian/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -44,12 +48,14 @@ datum/species/mammal id = "aquatic" default_color = "BCAC9B" species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR) - mutant_bodyparts = list("mam_tail", "mam_body_markings", "mam_ears") + mutant_bodyparts = list("mam_tail", "mam_body_markings", "mam_ears", "taur") default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF","mam_tail" = "shark", "mam_body_markings" = "None", "mam_ears" = "None") attack_verb = "bite" attack_sound = 'sound/weapons/bite.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' roundstart = 1 + liked_food = MEAT + disliked_food = TOXIC /datum/species/aquatic/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -64,12 +70,14 @@ datum/species/mammal id = "insect" default_color = "BCAC9B" species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR) - mutant_bodyparts = list("mam_body_markings", "mam_ears", "mam_tail") + mutant_bodyparts = list("mam_body_markings", "mam_ears", "mam_tail", "taur") default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_body_markings" = "moth", "mam_tail" = "None", "mam_ears" = "None") attack_verb = "flutter" //wat? attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' roundstart = 1 + liked_food = MEAT | FRUIT + disliked_food = TOXIC /datum/species/insect/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -98,6 +106,7 @@ datum/species/mammal exotic_bloodtype = "L" damage_overlay_type = "xeno" roundstart = 1 + liked_food = MEAT //Praise the Omnissiah, A challange worthy of my skills - HS @@ -229,7 +238,7 @@ datum/species/mammal whitelist = list("rubyflamewing") blacklisted = 0 -datum/species/guilmon +/datum/species/guilmon name = "Guilmon" id = "guilmon" default_color = "4B4B4B" diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 1a37d1b0ed..3319895fe0 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -10,7 +10,7 @@ damage_overlay_type = "" var/datum/action/innate/regenerate_limbs/regenerate_limbs toxic_food = NONE - liked_food = NONE + liked_food = MEAT /datum/species/jelly/on_species_loss(mob/living/carbon/C) if(regenerate_limbs) diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index afd4d832da..4592d76138 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -95,24 +95,30 @@ if(I == head) head = null - head_update(I) + if(!QDELETED(src)) + head_update(I) else if(I == back) back = null - update_inv_back() + if(!QDELETED(src)) + update_inv_back() else if(I == wear_mask) wear_mask = null - wear_mask_update(I, toggle_off = 1) + if(!QDELETED(src)) + wear_mask_update(I, toggle_off = 1) if(I == wear_neck) wear_neck = null - update_inv_neck(I) + if(!QDELETED(src)) + update_inv_neck(I) else if(I == handcuffed) handcuffed = null if(buckled && buckled.buckle_requires_restraints) buckled.unbuckle_mob(src) - update_handcuffed() + if(!QDELETED(src)) + update_handcuffed() else if(I == legcuffed) legcuffed = null - update_inv_legcuffed() + if(!QDELETED(src)) + update_inv_legcuffed() //handle stuff to update when a mob equips/unequips a mask. /mob/living/proc/wear_mask_update(obj/item/clothing/C, toggle_off = 1) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index f1a6998523..d6d6084380 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -48,6 +48,8 @@ return if(istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) return + if(istype(loc, /obj/item/device/dogborg/sleeper)) + return if(ismob(loc)) return var/datum/gas_mixture/environment diff --git a/code/modules/mob/living/carbon/monkey/combat.dm.rej b/code/modules/mob/living/carbon/monkey/combat.dm.rej deleted file mode 100644 index 6a03552601..0000000000 --- a/code/modules/mob/living/carbon/monkey/combat.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm (rejected hunks) -@@ -153,7 +153,7 @@ - if(!locate(/obj/item) in held_items) - best_force = 0 - -- if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags & NODROP))) -+ if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags_1 & NODROP_1))) - pickupTarget = null - - if(!resisting && pickupTarget) -@@ -274,7 +274,7 @@ - // check if target has a weapon - var/obj/item/W - for(var/obj/item/I in target.held_items) -- if(!(I.flags & ABSTRACT)) -+ if(!(I.flags_1 & ABSTRACT_1)) - W = I - break - diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index ae984fa5c7..55aee04ff6 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -1,170 +1,173 @@ - - -/mob/living/carbon/monkey - - -/mob/living/carbon/monkey/Life() - set invisibility = 0 - set background = BACKGROUND_ENABLED - - if (notransform) - return - - if(..()) - - if(!client) - if(stat == CONSCIOUS) - if(!handle_combat()) - if(prob(33) && canmove && isturf(loc) && !pulledby) + + +/mob/living/carbon/monkey + + +/mob/living/carbon/monkey/Life() + set invisibility = 0 + set background = BACKGROUND_ENABLED + + if (notransform) + return + + if(..()) + + if(!client) + if(stat == CONSCIOUS) + if(!handle_combat()) + if(prob(33) && canmove && isturf(loc) && !pulledby) step(src, pick(GLOB.cardinals)) - if(prob(1)) - emote(pick("scratch","jump","roll","tail")) - else - walk_to(src,0) - -/mob/living/carbon/monkey/handle_mutations_and_radiation() - - if (radiation) - if (radiation > 100) - if(!IsKnockdown()) - emote("collapse") - Knockdown(200) - to_chat(src, "You feel weak.") - - switch(radiation) - - if(50 to 75) - if(prob(5)) - if(!IsKnockdown()) - emote("collapse") - Knockdown(60) - to_chat(src, "You feel weak.") - - if(75 to 100) - if(prob(1)) - to_chat(src, "You mutate!") - randmutb() - emote("gasp") - domutcheck() - ..() - -/mob/living/carbon/monkey/handle_breath_temperature(datum/gas_mixture/breath) - if(abs(310.15 - breath.temperature) > 50) - switch(breath.temperature) - if(-INFINITY to 120) - adjustFireLoss(3) - if(120 to 200) - adjustFireLoss(1.5) - if(200 to 260) - adjustFireLoss(0.5) - if(360 to 400) - adjustFireLoss(2) - if(400 to 1000) - adjustFireLoss(3) - if(1000 to INFINITY) - adjustFireLoss(8) - -/mob/living/carbon/monkey/handle_environment(datum/gas_mixture/environment) - if(!environment) - return - - var/loc_temp = get_temperature(environment) - - if(stat != DEAD) - natural_bodytemperature_stabilization() - - if(!on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases - if(loc_temp < bodytemperature) - bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) - else - bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) - - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) - switch(bodytemperature) - if(360 to 400) - throw_alert("temp", /obj/screen/alert/hot, 1) - apply_damage(HEAT_DAMAGE_LEVEL_1, BURN) - if(400 to 460) - throw_alert("temp", /obj/screen/alert/hot, 2) - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - if(460 to INFINITY) - throw_alert("temp", /obj/screen/alert/hot, 3) - if(on_fire) - apply_damage(HEAT_DAMAGE_LEVEL_3, BURN) - else - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - - else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - if(!istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) - switch(bodytemperature) - if(200 to 260) - throw_alert("temp", /obj/screen/alert/cold, 1) - apply_damage(COLD_DAMAGE_LEVEL_1, BURN) - if(120 to 200) - throw_alert("temp", /obj/screen/alert/cold, 2) - apply_damage(COLD_DAMAGE_LEVEL_2, BURN) - if(-INFINITY to 120) - throw_alert("temp", /obj/screen/alert/cold, 3) - apply_damage(COLD_DAMAGE_LEVEL_3, BURN) - else - clear_alert("temp") - - else - clear_alert("temp") - - //Account for massive pressure differences - - var/pressure = environment.return_pressure() - var/adjusted_pressure = calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob. - switch(adjusted_pressure) - if(HAZARD_HIGH_PRESSURE to INFINITY) - adjustBruteLoss( min( ( (adjusted_pressure / HAZARD_HIGH_PRESSURE) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) ) - throw_alert("pressure", /obj/screen/alert/highpressure, 2) - if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - throw_alert("pressure", /obj/screen/alert/highpressure, 1) - if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) - clear_alert("pressure") - if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - throw_alert("pressure", /obj/screen/alert/lowpressure, 1) - else - adjustBruteLoss( LOW_PRESSURE_DAMAGE ) - throw_alert("pressure", /obj/screen/alert/lowpressure, 2) - - return - -/mob/living/carbon/monkey/handle_random_events() - if (prob(1) && prob(2)) - emote("scratch") - -/mob/living/carbon/monkey/has_smoke_protection() - if(wear_mask) + if(prob(1)) + emote(pick("scratch","jump","roll","tail")) + else + walk_to(src,0) + +/mob/living/carbon/monkey/handle_mutations_and_radiation() + + if (radiation) + if (radiation > 100) + if(!IsKnockdown()) + emote("collapse") + Knockdown(200) + to_chat(src, "You feel weak.") + if(radiation > 30 && prob((radiation - 30) * (radiation - 30) * 0.00002)) + gorillize() + return + switch(radiation) + + if(50 to 75) + if(prob(5)) + if(!IsKnockdown()) + emote("collapse") + Knockdown(60) + to_chat(src, "You feel weak.") + + if(75 to 100) + if(prob(1)) + to_chat(src, "You mutate!") + randmutb() + emote("gasp") + domutcheck() + ..() + +/mob/living/carbon/monkey/handle_breath_temperature(datum/gas_mixture/breath) + if(abs(310.15 - breath.temperature) > 50) + switch(breath.temperature) + if(-INFINITY to 120) + adjustFireLoss(3) + if(120 to 200) + adjustFireLoss(1.5) + if(200 to 260) + adjustFireLoss(0.5) + if(360 to 400) + adjustFireLoss(2) + if(400 to 1000) + adjustFireLoss(3) + if(1000 to INFINITY) + adjustFireLoss(8) + +/mob/living/carbon/monkey/handle_environment(datum/gas_mixture/environment) + if(!environment) + return + + var/loc_temp = get_temperature(environment) + + if(stat != DEAD) + natural_bodytemperature_stabilization() + + if(!on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases + if(loc_temp < bodytemperature) + bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) + else + bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) + + if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) + switch(bodytemperature) + if(360 to 400) + throw_alert("temp", /obj/screen/alert/hot, 1) + apply_damage(HEAT_DAMAGE_LEVEL_1, BURN) + if(400 to 460) + throw_alert("temp", /obj/screen/alert/hot, 2) + apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) + if(460 to INFINITY) + throw_alert("temp", /obj/screen/alert/hot, 3) + if(on_fire) + apply_damage(HEAT_DAMAGE_LEVEL_3, BURN) + else + apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) + + else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + if(!istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) + switch(bodytemperature) + if(200 to 260) + throw_alert("temp", /obj/screen/alert/cold, 1) + apply_damage(COLD_DAMAGE_LEVEL_1, BURN) + if(120 to 200) + throw_alert("temp", /obj/screen/alert/cold, 2) + apply_damage(COLD_DAMAGE_LEVEL_2, BURN) + if(-INFINITY to 120) + throw_alert("temp", /obj/screen/alert/cold, 3) + apply_damage(COLD_DAMAGE_LEVEL_3, BURN) + else + clear_alert("temp") + + else + clear_alert("temp") + + //Account for massive pressure differences + + var/pressure = environment.return_pressure() + var/adjusted_pressure = calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob. + switch(adjusted_pressure) + if(HAZARD_HIGH_PRESSURE to INFINITY) + adjustBruteLoss( min( ( (adjusted_pressure / HAZARD_HIGH_PRESSURE) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) ) + throw_alert("pressure", /obj/screen/alert/highpressure, 2) + if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) + throw_alert("pressure", /obj/screen/alert/highpressure, 1) + if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) + clear_alert("pressure") + if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) + throw_alert("pressure", /obj/screen/alert/lowpressure, 1) + else + adjustBruteLoss( LOW_PRESSURE_DAMAGE ) + throw_alert("pressure", /obj/screen/alert/lowpressure, 2) + + return + +/mob/living/carbon/monkey/handle_random_events() + if (prob(1) && prob(2)) + emote("scratch") + +/mob/living/carbon/monkey/has_smoke_protection() + if(wear_mask) + if(wear_mask.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1) - return 1 - -/mob/living/carbon/monkey/handle_fire() - . = ..() - if(on_fire) - - //the fire tries to damage the exposed clothes and items - var/list/burning_items = list() - //HEAD// - var/obj/item/clothing/head_clothes = null - if(wear_mask) - head_clothes = wear_mask - if(wear_neck) - head_clothes = wear_neck - if(head) - head_clothes = head - if(head_clothes) - burning_items += head_clothes - - if(back) - burning_items += back - - for(var/X in burning_items) - var/obj/item/I = X - if(!(I.resistance_flags & FIRE_PROOF)) - I.take_damage(fire_stacks, BURN, "fire", 0) - - bodytemperature += BODYTEMP_HEATING_MAX - + return 1 + +/mob/living/carbon/monkey/handle_fire() + . = ..() + if(on_fire) + + //the fire tries to damage the exposed clothes and items + var/list/burning_items = list() + //HEAD// + var/obj/item/clothing/head_clothes = null + if(wear_mask) + head_clothes = wear_mask + if(wear_neck) + head_clothes = wear_neck + if(head) + head_clothes = head + if(head_clothes) + burning_items += head_clothes + + if(back) + burning_items += back + + for(var/X in burning_items) + var/obj/item/I = X + if(!(I.resistance_flags & FIRE_PROOF)) + I.take_damage(fire_stacks, BURN, "fire", 0) + + bodytemperature += BODYTEMP_HEATING_MAX + diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index fd7e087ac4..8adde0b69c 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -140,8 +140,8 @@ return 0 return 1 -/mob/living/carbon/monkey/can_use_guns(var/obj/item/G) - return 1 +/mob/living/carbon/monkey/can_use_guns(obj/item/G) + return TRUE /mob/living/carbon/monkey/angry aggressive = TRUE diff --git a/code/modules/mob/living/carbon/monkey/punpun.dm b/code/modules/mob/living/carbon/monkey/punpun.dm index b56028634f..2cf821093d 100644 --- a/code/modules/mob/living/carbon/monkey/punpun.dm +++ b/code/modules/mob/living/carbon/monkey/punpun.dm @@ -24,7 +24,7 @@ ..() //These have to be after the parent new to ensure that the monkey - //bodyparts are actually created before we try to equip things to + //bodyparts are actually created before we try to equip things to //those slots if(relic_hat) equip_to_slot_or_del(new relic_hat, slot_head) @@ -42,32 +42,40 @@ ..() /mob/living/carbon/monkey/punpun/proc/Read_Memory() - var/savefile/S = new /savefile("data/npc_saves/Punpun.sav") - S["ancestor_name"] >> ancestor_name - S["ancestor_chain"] >> ancestor_chain - S["relic_hat"] >> relic_hat - S["relic_mask"] >> relic_mask + if(fexists("data/npc_saves/Punpun.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/Punpun.sav") + S["ancestor_name"] >> ancestor_name + S["ancestor_chain"] >> ancestor_chain + S["relic_hat"] >> relic_hat + S["relic_mask"] >> relic_mask + fdel("data/npc_saves/Punpun.sav") + else + var/json_file = file("data/npc_saves/Punpun.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + ancestor_name = json["ancestor_name"] + ancestor_chain = json["ancestor_chain"] + relic_hat = json["relic_hat"] + relic_mask = json["relic_hat"] /mob/living/carbon/monkey/punpun/proc/Write_Memory(dead, gibbed) - var/savefile/S = new /savefile("data/npc_saves/Punpun.sav") + var/json_file = file("data/npc_saves/Punpun.json") + var/list/file_data = list() if(gibbed) - WRITE_FILE(S["ancestor_name"], null) - WRITE_FILE(S["ancestor_chain"], 1) - WRITE_FILE(S["relic_hat"], null) - WRITE_FILE(S["relic_mask"], null) - return + file_data["ancestor_name"] = null + file_data["ancestor_chain"] = null + file_data["relic_hat"] = null + file_data["relic_mask"] = null if(dead) - WRITE_FILE(S["ancestor_name"], ancestor_name) - WRITE_FILE(S["ancestor_chain"], ancestor_chain + 1) - if(!ancestor_name) //new monkey name this round - WRITE_FILE(S["ancestor_name"], name) - if(head) - WRITE_FILE(S["relic_hat"], head.type) - else - WRITE_FILE(S["relic_hat"], null) - if(wear_mask) - WRITE_FILE(S["relic_mask"], wear_mask.type) - else - WRITE_FILE(S["relic_mask"], null) + file_data["ancestor_name"] = ancestor_name + file_data["ancestor_chain"] = ancestor_chain + 1 + file_data["relic_hat"] = head ? head.type : null + file_data["relic_mask"] = wear_mask ? wear_mask.type : null + if(!ancestor_name) + file_data["ancestor_name"] = name + fdel(json_file) + WRITE_FILE(json_file, json_encode(json_file)) if(!dead) memory_saved = 1 diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 364c141abf..cd6231094c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -241,7 +241,7 @@ return 1 /mob/living/proc/InCritical() - return (health < 0 && health > -100 && stat == UNCONSCIOUS) + return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS) //This proc is used for mobs which are affected by pressure to calculate the amount of pressure that actually //affects them once clothing is factored in. ~Errorage @@ -798,11 +798,11 @@ else to_chat(src, "You don't have the dexterity to do this!") return -/mob/living/proc/can_use_guns(var/obj/item/G) +/mob/living/proc/can_use_guns(obj/item/G) if (G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && !IsAdvancedToolUser()) to_chat(src, "You don't have the dexterity to do this!") - return 0 - return 1 + return FALSE + return TRUE /mob/living/carbon/proc/update_stamina() if(staminaloss) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index f924a82e2d..e3f7795f64 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -67,17 +67,15 @@ var/zone = ran_zone("chest", 65)//Hits a random part of the body, geared towards the chest var/dtype = BRUTE var/volume = I.get_volume_by_throwforce_and_or_w_class() - if(istype(I, /obj/item/weapon)) //If the item is a weapon... - var/obj/item/W = I - dtype = W.damtype + dtype = I.damtype - if (W.throwforce > 0) //If the weapon's throwforce is greater than zero... - if (W.throwhitsound) //...and throwhitsound is defined... - playsound(loc, W.throwhitsound, volume, 1, -1) //...play the weapon's throwhitsound. - else if(W.hitsound) //Otherwise, if the weapon's hitsound is defined... - playsound(loc, W.hitsound, volume, 1, -1) //...play the weapon's hitsound. - else if(!W.throwhitsound) //Otherwise, if throwhitsound isn't defined... - playsound(loc, 'sound/weapons/genhit.ogg',volume, 1, -1) //...play genhit.ogg. + if (I.throwforce > 0) //If the weapon's throwforce is greater than zero... + if (I.throwhitsound) //...and throwhitsound is defined... + playsound(loc, I.throwhitsound, volume, 1, -1) //...play the weapon's throwhitsound. + else if(I.hitsound) //Otherwise, if the weapon's hitsound is defined... + playsound(loc, I.hitsound, volume, 1, -1) //...play the weapon's hitsound. + else if(!I.throwhitsound) //Otherwise, if throwhitsound isn't defined... + playsound(loc, 'sound/weapons/genhit.ogg',volume, 1, -1) //...play genhit.ogg. else if(!I.throwhitsound && I.throwforce > 0) //Otherwise, if the item doesn't have a throwhitsound and has a throwforce greater than zero... playsound(loc, 'sound/weapons/genhit.ogg', volume, 1, -1)//...play genhit.ogg diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 6cb3a8daa9..f32ca97b09 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -75,3 +75,5 @@ var/datum/riding/riding_datum var/datum/language/selected_default_language + + var/last_words //used for database logging diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 68e2b150f3..cf1b95b98d 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -155,6 +155,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/message_len = length(message) message = copytext(message, 1, health_diff) + "[message_len > health_diff ? "-.." : "..."]" message = Ellipsis(message, 10, 1) + last_words = message message_mode = MODE_WHISPER_CRIT succumbed = TRUE else diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm.rej b/code/modules/mob/living/silicon/robot/robot_modules.dm.rej deleted file mode 100644 index ad89ae720b..0000000000 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm (rejected hunks) -@@ -121,7 +121,7 @@ - if(I.loc != src) - I.forceMove(src) - modules += I -- I.flags |= NODROP -+ I.flags_1 |= NODROP_1 - I.mouse_opacity = MOUSE_OPACITY_OPAQUE - if(nonstandard) - added_modules += I diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 4d3c468191..562b51945b 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -36,11 +36,11 @@ var/d_hud = DATA_HUD_DIAGNOSTIC //There is only one kind of diag hud var/law_change_counter = 0 - var/obj/machinery/camera/builtInCamera = null - var/updating = FALSE //portable camera camerachunk update + var/obj/machinery/camera/builtInCamera = null + var/updating = FALSE //portable camera camerachunk update /mob/living/silicon/Initialize() - . = ..() + . = ..() GLOB.silicon_mobs += src var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] diag_hud.add_to_hud(src) @@ -56,7 +56,7 @@ /mob/living/silicon/Destroy() radio = null aicamera = null - QDEL_NULL(builtInCamera) + QDEL_NULL(builtInCamera) GLOB.silicon_mobs -= src return ..() @@ -310,7 +310,7 @@ else //For department channels, if any, given by the internal radio. for(var/key in GLOB.department_radio_keys) if(GLOB.department_radio_keys[key] == Autochan) - radiomod = key + radiomod = ":" + key break to_chat(src, "Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]") diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index 07222ade05..9c16c2a924 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -28,3 +28,6 @@ . = ..() var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) + +/mob/living/simple_animal/butterfly/bee_friendly() + return TRUE //treaty signed at the Beeneeva convention diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index c762bca6a0..0e0b811810 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -113,14 +113,22 @@ ..() /mob/living/simple_animal/pet/cat/Runtime/proc/Read_Memory() - var/savefile/S = new /savefile("data/npc_saves/Runtime.sav") - S["family"] >> family - + if(fexists("data/npc_saves/Runtime.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/Runtime.sav") + S["family"] >> family + fdel("data/npc_saves/Runtime.sav") + else + var/json_file = file("data/npc_saves/Runtime.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + family = json["family"] if(isnull(family)) family = list() /mob/living/simple_animal/pet/cat/Runtime/proc/Write_Memory(dead) - var/savefile/S = new /savefile("data/npc_saves/Runtime.sav") + var/json_file = file("data/npc_saves/Runtime.json") family = list() if(!dead) for(var/mob/living/simple_animal/pet/cat/kitten/C in children) @@ -130,7 +138,8 @@ family[C.type] += 1 else family[C.type] = 1 - WRITE_FILE(S["family"], family) + fdel(json_file) + WRITE_FILE(json_file, json_encode(family)) memory_saved = 1 /mob/living/simple_animal/pet/cat/Runtime/proc/Deploy_The_Cats() diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 5a6b00489e..244e77d33a 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -328,33 +328,44 @@ ..() /mob/living/simple_animal/pet/dog/corgi/Ian/proc/Read_Memory() - var/savefile/S = new /savefile("data/npc_saves/Ian.sav") - S["age"] >> age - S["record_age"] >> record_age - S["saved_head"] >> saved_head - + if(fexists("data/npc_saves/Ian.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/Ian.sav") + S["age"] >> age + S["record_age"] >> record_age + S["saved_head"] >> saved_head + fdel("data/npc_saves/Ian.sav") + else + var/json_file = file("data/npc_saves/Ian.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + age = json["age"] + record_age = json["record_age"] + saved_head = json["saved_head"] if(isnull(age)) age = 0 if(isnull(record_age)) record_age = 1 - if(saved_head) place_on_head(new saved_head) /mob/living/simple_animal/pet/dog/corgi/Ian/proc/Write_Memory(dead) - var/savefile/S = new /savefile("data/npc_saves/Ian.sav") + var/json_file = file("data/npc_saves/Ian.json") + var/list/file_data = list() if(!dead) - WRITE_FILE(S["age"], age + 1) + file_data["age"] = age + 1 if((age + 1) > record_age) - WRITE_FILE(S["record_age"], record_age + 1) + file_data["record_age"] = record_age + 1 if(inventory_head) - WRITE_FILE(S["saved_head"], inventory_head.type) + file_data["saved_head"] = inventory_head.type else - WRITE_FILE(S["age"], 0) - WRITE_FILE(S["saved_head"], null) + file_data["age"] = 0 + file_data["saved_head"] = null + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) memory_saved = 1 - /mob/living/simple_animal/pet/dog/corgi/Ian/Life() ..() diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 21a3347d3d..1f1f937d9a 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -490,7 +490,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians return used = TRUE to_chat(user, "[use_message]") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100) + var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_HOLOPARASITE) var/mob/dead/observer/theghost = null if(candidates.len) diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/emotes.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/emotes.dm new file mode 100644 index 0000000000..3af442930e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/emotes.dm @@ -0,0 +1,11 @@ +/datum/emote/sound/gorilla + mob_type_allowed_typecache = /mob/living/simple_animal/hostile/gorilla + mob_type_blacklist_typecache = list() + +/datum/emote/sound/gorilla/ooga + key = "ooga" + key_third_person = "oogas" + message = "oogas." + message_param = "oogas at %t." + sound = "sound/creatures/gorilla.ogg" + diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm new file mode 100644 index 0000000000..b697473787 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -0,0 +1,77 @@ +#define GORILLA_HANDS_LAYER 1 +#define GORILLA_TOTAL_LAYERS 1 + +/mob/living/simple_animal/hostile/gorilla + name = "Gorilla" + desc = "A ground-dwelling, predominantly herbivorous ape that inhabits the forests of central Africa." + icon = 'icons/mob/gorilla.dmi' + icon_state = "crawling" + icon_state = "crawling" + icon_living = "crawling" + icon_dead = "dead" + speak_chance = 80 + maxHealth = 220 + health = 220 + loot = list(/obj/effect/gibspawner/generic) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/gorilla = 4) + response_help = "prods" + response_disarm = "challenges" + response_harm = "thumps" + speed = 1 + melee_damage_lower = 15 + melee_damage_upper = 18 + damage_coeff = list(BRUTE = 1, BURN = 1.5, TOX = 1.5, CLONE = 0, STAMINA = 0, OXY = 1.5) + obj_damage = 20 + environment_smash = 2 + attacktext = "pummels" + attack_sound = 'sound/weapons/punch1.ogg' + dextrous = TRUE + possible_a_intents = list(INTENT_HELP, INTENT_GRAB, INTENT_DISARM, INTENT_HARM) + faction = list("jungle") + robust_searching = TRUE + stat_attack = UNCONSCIOUS + minbodytemp = 270 + maxbodytemp = 350 + var/list/gorilla_overlays[GORILLA_TOTAL_LAYERS] + +// Gorillas like to dismember limbs from unconcious mobs. +// Returns null when the target is not an unconcious carbon mob; a list of limbs (possibly empty) otherwise. +/mob/living/simple_animal/hostile/gorilla/proc/target_bodyparts(atom/the_target) + var/list/parts = list() + if(iscarbon(the_target)) + var/mob/living/carbon/C = the_target + if(C.stat >= UNCONSCIOUS) + for(var/X in C.bodyparts) + var/obj/item/bodypart/BP = X + if(BP.body_part != HEAD && BP.body_part != CHEST) + if(BP.dismemberable) + parts += BP + return parts + +/mob/living/simple_animal/hostile/gorilla/AttackingTarget() + var/list/parts = target_bodyparts(target) + if(parts) + if(!parts.len) + return FALSE + var/obj/item/bodypart/BP = pick(parts) + BP.dismember() + return ..() + . = ..() + if(. && isliving(target)) + var/mob/living/L = target + if(prob(80)) + var/atom/throw_target = get_edge_target_turf(L, dir) + L.throw_at(throw_target, rand(1,2), 7, src) + else + L.Knockdown(20) + visible_message("[src] knocks [L] down!") + +/mob/living/simple_animal/hostile/gorilla/CanAttack(atom/the_target) + var/list/parts = target_bodyparts(target) + return ..() && !istype(the_target, /mob/living/carbon/monkey) && (!parts || parts.len > 3) + +/mob/living/simple_animal/hostile/gorilla/handle_automated_speech(override) + if(speak_chance && (override || prob(speak_chance))) + playsound(src, "sound/creatures/gorilla.ogg", 200) + ..() + diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm new file mode 100644 index 0000000000..b3e0f3b658 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm @@ -0,0 +1,55 @@ +/mob/living/simple_animal/hostile/gorilla/proc/apply_overlay(cache_index) + . = gorilla_overlays[cache_index] + if(.) + add_overlay(.) + +/mob/living/simple_animal/hostile/gorilla/proc/remove_overlay(cache_index) + var/I = gorilla_overlays[cache_index] + if(I) + cut_overlay(I) + gorilla_overlays[cache_index] = null + +/mob/living/simple_animal/hostile/gorilla/update_inv_hands() + cut_overlays("standing_overlay") + remove_overlay(GORILLA_HANDS_LAYER) + + var/standing = FALSE + for(var/I in held_items) + if(I) + standing = TRUE + break + if(!standing) + if(stat != DEAD) + icon_state = "crawling" + speed = 1 + return ..() + if(stat != DEAD) + icon_state = "standing" + speed = 3 // Gorillas are slow when standing up. + + var/list/hands_overlays = list() + + var/obj/item/l_hand = get_item_for_held_index(1) + var/obj/item/r_hand = get_item_for_held_index(2) + + if(r_hand) + var/r_state = r_hand.item_state ? r_hand.item_state : r_hand.icon_state + var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) + r_hand_overlay.pixel_y -= 1 + hands_overlays += r_hand_overlay + + if(l_hand) + var/l_state = l_hand.item_state ? l_hand.item_state : l_hand.icon_state + var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) + l_hand_overlay.pixel_y -= 1 + hands_overlays += l_hand_overlay + + if(hands_overlays.len) + gorilla_overlays[GORILLA_HANDS_LAYER] = hands_overlays + apply_overlay(GORILLA_HANDS_LAYER) + add_overlay("standing_overlay") + return ..() + +/mob/living/simple_animal/hostile/gorilla/regenerate_icons() + update_inv_hands() + diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm new file mode 100644 index 0000000000..c337344c90 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm @@ -0,0 +1,17 @@ +/mob/living/simple_animal/hostile/jungle + vision_range = 5 + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + faction = list("jungle") + weather_immunities = list("acid") + obj_damage = 30 + environment_smash = ENVIRONMENT_SMASH_WALLS + minbodytemp = 0 + maxbodytemp = 450 + response_help = "pokes" + response_disarm = "shoves" + response_harm = "strikes" + status_flags = NONE + a_intent = INTENT_HARM + see_in_dark = 4 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + mob_size = MOB_SIZE_LARGE diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm new file mode 100644 index 0000000000..491aca3233 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -0,0 +1,263 @@ +#define PLAYER_HOP_DELAY 25 + +//Huge, carnivorous toads that spit an immobilizing toxin at its victims before leaping onto them. +//It has no melee attack, and its damage comes from the toxin in its bubbles and its crushing leap. +//Its eyes will turn red to signal an imminent attack! +/mob/living/simple_animal/hostile/jungle/leaper + name = "leaper" + desc = "Commonly referred to as 'leapers', the Geron Toad is a massive beast that spits out highly pressurized bubbles containing a unique toxin, knocking down its prey and then crushing it with its girth." + icon = 'icons/mob/jungle/leaper.dmi' + icon_state = "leaper" + icon_living = "leaper" + icon_dead = "leaper_dead" + maxHealth = 300 + health = 300 + ranged = TRUE + projectiletype = /obj/item/projectile/leaper + projectilesound = 'sound/weapons/pierce.ogg' + ranged_cooldown_time = 30 + pixel_x = -16 + layer = LARGE_MOB_LAYER + speed = 10 + stat_attack = 1 + robust_searching = 1 + var/hopping = FALSE + var/hop_cooldown = 0 //Strictly for player controlled leapers + var/projectile_ready = FALSE //Stopping AI leapers from firing whenever they want, and only doing it after a hop has finished instead + +/obj/item/projectile/leaper + name = "leaper bubble" + icon_state = "leaper" + knockdown = 50 + damage = 0 + range = 7 + hitsound = 'sound/effects/snap.ogg' + nondirectional_sprite = TRUE + impact_effect_type = /obj/effect/temp_visual/leaper_projectile_impact + +/obj/item/projectile/leaper/on_hit(atom/target, blocked = FALSE) + ..() + if(iscarbon(target)) + var/mob/living/carbon/C = target + C.reagents.add_reagent("leaper_venom", 5) + return + if(isanimal(target)) + var/mob/living/simple_animal/L = target + L.adjustHealth(25) + +/obj/item/projectile/leaper/on_range() + var/turf/T = get_turf(src) + ..() + new /obj/structure/leaper_bubble(T) + +/obj/effect/temp_visual/leaper_projectile_impact + name = "leaper bubble" + icon = 'icons/obj/projectiles.dmi' + icon_state = "leaper_bubble_pop" + layer = ABOVE_ALL_MOB_LAYER + duration = 3 + +/obj/effect/temp_visual/leaper_projectile_impact/Initialize() + . = ..() + new /obj/effect/decal/cleanable/leaper_sludge(get_turf(src)) + +/obj/effect/decal/cleanable/leaper_sludge + name = "leaper sludge" + desc = "A small pool of sludge, containing trace amounts of leaper venom." + icon = 'icons/effects/tomatodecal.dmi' + icon_state = "tomato_floor1" + +/obj/structure/leaper_bubble + name = "leaper bubble" + desc = "A floating bubble containing leaper venom. The contents are under a surprising amount of pressure." + icon = 'icons/obj/projectiles.dmi' + icon_state = "leaper" + max_integrity = 10 + density = FALSE + +/obj/structure/leaper_bubble/Initialize() + . = ..() + float(on = TRUE) + QDEL_IN(src, 100) + +/obj/structure/leaper_bubble/Destroy() + new /obj/effect/temp_visual/leaper_projectile_impact(get_turf(src)) + playsound(src,'sound/effects/snap.ogg',50, 1, -1) + return ..() + +/obj/structure/leaper_bubble/Crossed(atom/movable/AM) + if(isliving(AM)) + var/mob/living/L = AM + if(!istype(L, /mob/living/simple_animal/hostile/jungle/leaper)) + playsound(src,'sound/effects/snap.ogg',50, 1, -1) + L.Knockdown(50) + if(iscarbon(L)) + var/mob/living/carbon/C = L + C.reagents.add_reagent("leaper_venom", 5) + if(isanimal(L)) + var/mob/living/simple_animal/A = L + A.adjustHealth(25) + qdel(src) + return ..() + +/datum/reagent/toxin/leaper_venom + name = "Leaper venom" + id = "leaper_venom" + description = "A toxin spat out by leapers that, while harmless in small doses, quickly creates a toxic reaction if too much is in the body." + color = "#801E28" // rgb: 128, 30, 40 + toxpwr = 0 + taste_description = "french cuisine" + taste_mult = 1.3 + +/datum/reagent/toxin/leaper_venom/on_mob_life(mob/living/M) + if(volume >= 10) + M.adjustToxLoss(5, 0) + ..() + +/obj/effect/temp_visual/leaper_crush + name = "grim tidings" + desc = "Incoming leaper!" + icon = 'icons/effects/96x96.dmi' + icon_state = "lily_pad" + layer = BELOW_MOB_LAYER + pixel_x = -32 + pixel_y = -32 + duration = 30 + +/mob/living/simple_animal/hostile/jungle/leaper/Initialize() + . = ..() + verbs -= /mob/living/verb/pulled + +/mob/living/simple_animal/hostile/jungle/leaper/CtrlClickOn(atom/A) + face_atom(A) + target = A + if(!isturf(loc)) + return + if(next_move > world.time) + return + if(hopping) + return + if(isliving(A)) + var/mob/living/L = A + if(L.incapacitated()) + BellyFlop() + return + if(hop_cooldown <= world.time) + Hop(player_hop = TRUE) + +/mob/living/simple_animal/hostile/jungle/leaper/AttackingTarget() + if(isliving(target)) + return + return ..() + +/mob/living/simple_animal/hostile/jungle/leaper/handle_automated_action() + if(hopping || projectile_ready) + return + . = ..() + if(target) + if(isliving(target)) + var/mob/living/L = target + if(L.incapacitated()) + BellyFlop() + return + if(!hopping) + Hop() + +/mob/living/simple_animal/hostile/jungle/leaper/Life() + . = ..() + update_icons() + +/mob/living/simple_animal/hostile/jungle/leaper/adjustHealth(amount, updating_health = TRUE, forced = FALSE) + if(prob(33) && !ckey) + ranged_cooldown = 0 //Keeps em on their toes instead of a constant rotation + ..() + +/mob/living/simple_animal/hostile/jungle/leaper/OpenFire() + face_atom(target) + if(ranged_cooldown <= world.time) + if(ckey) + if(hopping) + return + if(isliving(target)) + var/mob/living/L = target + if(L.incapacitated()) + return //No stunlocking. Hop on them after you stun them, you donk. + if(AIStatus == AI_ON && !projectile_ready && !ckey) + return + . = ..(target) + projectile_ready = FALSE + update_icons() + +/mob/living/simple_animal/hostile/jungle/leaper/proc/Hop(player_hop = FALSE) + if(z != target.z) + return + hopping = TRUE + density = FALSE + pass_flags |= PASSMOB + notransform = TRUE + var/turf/new_turf = locate((target.x + rand(-3,3)),(target.y + rand(-3,3)),target.z) + if(player_hop) + new_turf = get_turf(target) + hop_cooldown = world.time + PLAYER_HOP_DELAY + if(AIStatus == AI_ON && ranged_cooldown <= world.time) + projectile_ready = TRUE + update_icons() + throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, .FinishHop)) + +/mob/living/simple_animal/hostile/jungle/leaper/proc/FinishHop() + density = TRUE + notransform = FALSE + pass_flags &= ~PASSMOB + hopping = FALSE + playsound(src.loc, 'sound/effects/meteorimpact.ogg', 100, 1) + if(target && AIStatus == AI_ON && projectile_ready && !ckey) + face_atom(target) + addtimer(CALLBACK(src, .proc/OpenFire, target), 5) + +/mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlop() + var/turf/new_turf = get_turf(target) + hopping = TRUE + notransform = TRUE + new /obj/effect/temp_visual/leaper_crush(new_turf) + addtimer(CALLBACK(src, .proc/BellyFlopHop, new_turf), 30) + +/mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlopHop(turf/T) + density = FALSE + throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, .proc/Crush)) + +/mob/living/simple_animal/hostile/jungle/leaper/proc/Crush() + hopping = FALSE + density = TRUE + notransform = FALSE + playsound(src, 'sound/effects/meteorimpact.ogg', 200, 1) + for(var/mob/living/L in orange(1, src)) + L.adjustBruteLoss(35) + if(!QDELETED(L)) // Some mobs are deleted on death + var/throw_dir = get_dir(src, L) + if(L.loc == loc) + throw_dir = pick(GLOB.alldirs) + var/throwtarget = get_edge_target_turf(src, throw_dir) + L.throw_at(throwtarget, 3, 1) + visible_message("[L] is thrown clear of [src]!") + if(ckey)//Lessens ability to chain stun as a player + ranged_cooldown = ranged_cooldown_time + world.time + update_icons() + +/mob/living/simple_animal/hostile/jungle/leaper/Goto() + return + +/mob/living/simple_animal/hostile/jungle/leaper/throw_impact() + return + +/mob/living/simple_animal/hostile/jungle/leaper/update_icons() + . = ..() + if(stat) + icon_state = "leaper_dead" + return + if(ranged_cooldown <= world.time) + if(AIStatus == AI_ON && projectile_ready || ckey) + icon_state = "leaper_alert" + return + icon_state = "leaper" + +#undef PLAYER_HOP_DELAY diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm new file mode 100644 index 0000000000..be51502a96 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm @@ -0,0 +1,65 @@ +//Large and powerful, but timid. It won't engage anything above 50 health, or anything without legcuffs. +//It can fire fleshy snares that legcuff anyone that it hits, making them look especially tasty to the arachnid. +/mob/living/simple_animal/hostile/jungle/mega_arachnid + name = "mega arachnid" + desc = "Though physically imposing, it prefers to ambush its prey, and it will only engage with an already crippled opponent." + icon = 'icons/mob/jungle/arachnid.dmi' + icon_state = "arachnid" + icon_living = "arachnid" + icon_dead = "arachnid_dead" + melee_damage_lower = 30 + melee_damage_upper = 30 + maxHealth = 300 + health = 300 + speed = 1 + ranged = 1 + pixel_x = -16 + move_to_delay = 10 + aggro_vision_range = 9 + speak_emote = list("chitters") + attack_sound = 'sound/weapons/bladeslice.ogg' + ranged_cooldown_time = 60 + projectiletype = /obj/item/projectile/mega_arachnid + projectilesound = 'sound/weapons/pierce.ogg' + alpha = 50 + +/mob/living/simple_animal/hostile/jungle/mega_arachnid/Life() + ..() + if(target && ranged_cooldown > world.time && iscarbon(target)) + var/mob/living/carbon/C = target + if(!C.legcuffed && C.health < 50) + retreat_distance = 9 + minimum_distance = 9 + alpha = 125 + return + retreat_distance = 0 + minimum_distance = 0 + alpha = 255 + + +/mob/living/simple_animal/hostile/jungle/mega_arachnid/Aggro() + ..() + alpha = 255 + +/mob/living/simple_animal/hostile/jungle/mega_arachnid/LoseAggro() + ..() + alpha = 50 + +/obj/item/projectile/mega_arachnid + name = "flesh snare" + nodamage = 1 + damage = 0 + icon_state = "tentacle_end" + +/obj/item/projectile/mega_arachnid/on_hit(atom/target, blocked = FALSE) + if(iscarbon(target) && blocked < 100) + var/obj/item/restraints/legcuffs/beartrap/mega_arachnid/B = new /obj/item/restraints/legcuffs/beartrap/mega_arachnid(get_turf(target)) + B.Crossed(target) + ..() + +/obj/item/restraints/legcuffs/beartrap/mega_arachnid + name = "fleshy restraints" + desc = "Used by mega arachnids to immobilize their prey." + flags_1 = DROPDEL_1 + icon_state = "tentacle_end" + icon = 'icons/obj/projectiles.dmi' diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm new file mode 100644 index 0000000000..05896c80b5 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm @@ -0,0 +1,224 @@ +#define MOOK_ATTACK_NEUTRAL 0 +#define MOOK_ATTACK_WARMUP 1 +#define MOOK_ATTACK_ACTIVE 2 +#define MOOK_ATTACK_RECOVERY 3 +#define ATTACK_INTERMISSION_TIME 5 + +//Fragile but highly aggressive wanderers that pose a large threat in numbers. +//They'll attempt to leap at their target from afar using their hatchets. +/mob/living/simple_animal/hostile/jungle/mook + name = "wanderer" + desc = "This unhealthy looking primitive is wielding a rudimentary hatchet, swinging it with wild abandon. One isn't much of a threat, but in numbers they can quickly overwhelm a superior opponent." + icon = 'icons/mob/jungle/mook.dmi' + icon_state = "mook" + icon_living = "mook" + icon_dead = "mook_dead" + pixel_x = -16 + maxHealth = 45 + health = 45 + melee_damage_lower = 30 + melee_damage_upper = 30 + pixel_y = -8 + ranged = TRUE + ranged_cooldown_time = 10 + pass_flags = LETPASSTHROW + robust_searching = TRUE + stat_attack = UNCONSCIOUS + attack_sound = 'sound/weapons/rapierhit.ogg' + death_sound = 'sound/voice/mook_death.ogg' + aggro_vision_range = 15 //A little more aggressive once in combat to balance out their really low HP + var/attack_state = MOOK_ATTACK_NEUTRAL + var/struck_target_leap = FALSE + +/mob/living/simple_animal/hostile/jungle/mook/CanPass(atom/movable/O) + if(istype(O, /mob/living/simple_animal/hostile/jungle/mook)) + var/mob/living/simple_animal/hostile/jungle/mook/M = O + if(M.attack_state == MOOK_ATTACK_ACTIVE && M.throwing) + return TRUE + return ..() + +/mob/living/simple_animal/hostile/jungle/mook/death() + desc = "A deceased primitive. Upon closer inspection, it was suffering from severe cellular degeneration and its garments are machine made..."//Can you guess the twist + return ..() + +/mob/living/simple_animal/hostile/jungle/mook/AttackingTarget() + if(isliving(target)) + if(ranged_cooldown <= world.time && attack_state == MOOK_ATTACK_NEUTRAL) + var/mob/living/L = target + if(L.incapacitated()) + WarmupAttack(forced_slash_combo = TRUE) + return + WarmupAttack() + return + return ..() + +/mob/living/simple_animal/hostile/jungle/mook/Goto() + if(attack_state != MOOK_ATTACK_NEUTRAL) + return + return ..() + +/mob/living/simple_animal/hostile/jungle/mook/Move() + if(attack_state == MOOK_ATTACK_WARMUP || attack_state == MOOK_ATTACK_RECOVERY) + return + return ..() + +/mob/living/simple_animal/hostile/jungle/mook/proc/WarmupAttack(forced_slash_combo = FALSE) + if(attack_state == MOOK_ATTACK_NEUTRAL && target) + attack_state = MOOK_ATTACK_WARMUP + walk(src,0) + update_icons() + if(prob(50) && get_dist(src,target) <= 3 || forced_slash_combo) + addtimer(CALLBACK(src, .proc/SlashCombo), ATTACK_INTERMISSION_TIME) + return + addtimer(CALLBACK(src, .proc/LeapAttack), ATTACK_INTERMISSION_TIME + rand(0,3)) + return + attack_state = MOOK_ATTACK_RECOVERY + ResetNeutral() + +/mob/living/simple_animal/hostile/jungle/mook/proc/SlashCombo() + if(attack_state == MOOK_ATTACK_WARMUP && !stat) + attack_state = MOOK_ATTACK_ACTIVE + update_icons() + SlashAttack() + addtimer(CALLBACK(src, .proc/SlashAttack), 3) + addtimer(CALLBACK(src, .proc/SlashAttack), 6) + addtimer(CALLBACK(src, .proc/AttackRecovery), 9) + +/mob/living/simple_animal/hostile/jungle/mook/proc/SlashAttack() + if(target && !stat && attack_state == MOOK_ATTACK_ACTIVE) + melee_damage_lower = 15 + melee_damage_upper = 15 + var/mob_direction = get_dir(src,target) + if(get_dist(src,target) > 1) + step(src,mob_direction) + if(targets_from && isturf(targets_from.loc) && target.Adjacent(targets_from) && isliving(target)) + var/mob/living/L = target + L.attack_animal(src) + return + var/swing_turf = get_step(src,mob_direction) + new /obj/effect/temp_visual/kinetic_blast(swing_turf) + playsound(src, 'sound/weapons/slashmiss.ogg', 50, 1) + +/mob/living/simple_animal/hostile/jungle/mook/proc/LeapAttack() + if(target && !stat && attack_state == MOOK_ATTACK_WARMUP) + attack_state = MOOK_ATTACK_ACTIVE + density = FALSE + melee_damage_lower = 30 + melee_damage_upper = 30 + update_icons() + new /obj/effect/temp_visual/mook_dust(get_turf(src)) + playsound(src, 'sound/weapons/thudswoosh.ogg', 25, 1) + playsound(src, 'sound/voice/mook_leap_yell.ogg', 100, 1) + var/target_turf = get_turf(target) + throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, .proc/AttackRecovery)) + return + attack_state = MOOK_ATTACK_RECOVERY + ResetNeutral() + +/mob/living/simple_animal/hostile/jungle/mook/proc/AttackRecovery() + if(attack_state == MOOK_ATTACK_ACTIVE && !stat) + attack_state = MOOK_ATTACK_RECOVERY + density = TRUE + face_atom(target) + if(!struck_target_leap) + update_icons() + struck_target_leap = FALSE + if(prob(40)) + attack_state = MOOK_ATTACK_NEUTRAL + if(target) + if(isliving(target)) + var/mob/living/L = target + if(L.incapacitated() && L.stat != DEAD) + addtimer(CALLBACK(src, .proc/WarmupAttack, TRUE), ATTACK_INTERMISSION_TIME) + return + addtimer(CALLBACK(src, .proc/WarmupAttack), ATTACK_INTERMISSION_TIME) + return + addtimer(CALLBACK(src, .proc/ResetNeutral), ATTACK_INTERMISSION_TIME) + +/mob/living/simple_animal/hostile/jungle/mook/proc/ResetNeutral() + if(attack_state == MOOK_ATTACK_RECOVERY) + attack_state = MOOK_ATTACK_NEUTRAL + ranged_cooldown = world.time + ranged_cooldown_time + update_icons() + if(target && !stat) + update_icons() + Goto(target, move_to_delay, minimum_distance) + +/mob/living/simple_animal/hostile/jungle/mook/throw_impact(atom/hit_atom, throwingdatum) + . = ..() + if(isliving(hit_atom) && attack_state == MOOK_ATTACK_ACTIVE) + var/mob/living/L = hit_atom + if(CanAttack(L)) + L.attack_animal(src) + struck_target_leap = TRUE + density = TRUE + update_icons() + var/mook_under_us = FALSE + for(var/A in get_turf(src)) + if(struck_target_leap && mook_under_us) + break + if(A == src) + continue + if(isliving(A)) + var/mob/living/ML = A + if(!struck_target_leap && CanAttack(ML))//Check if some joker is attempting to use rest to evade us + struck_target_leap = TRUE + ML.attack_animal(src) + density = TRUE + struck_target_leap = TRUE + update_icons() + continue + if(istype(ML, /mob/living/simple_animal/hostile/jungle/mook) && !mook_under_us)//If we land on the same tile as another mook, spread out so we don't stack our sprite on the same tile + var/mob/living/simple_animal/hostile/jungle/mook/M = ML + if(!M.stat) + mook_under_us = TRUE + var/anydir = pick(GLOB.cardinals) + Move(get_step(src, anydir), anydir) + continue + +/mob/living/simple_animal/hostile/jungle/mook/handle_automated_action() + if(attack_state) + return + return ..() + +/mob/living/simple_animal/hostile/jungle/mook/OpenFire() + if(isliving(target)) + var/mob/living/L = target + if(L.incapacitated()) + return + WarmupAttack() + +/mob/living/simple_animal/hostile/jungle/mook/update_icons() + . = ..() + if(!stat) + switch(attack_state) + if(MOOK_ATTACK_NEUTRAL) + icon_state = "mook" + if(MOOK_ATTACK_WARMUP) + icon_state = "mook_warmup" + if(MOOK_ATTACK_ACTIVE) + if(!density) + icon_state = "mook_leap" + return + if(struck_target_leap) + icon_state = "mook_strike" + return + icon_state = "mook_slash_combo" + if(MOOK_ATTACK_RECOVERY) + icon_state = "mook" + +/obj/effect/temp_visual/mook_dust + name = "dust" + desc = "it's just a dust cloud!" + icon = 'icons/mob/jungle/mook.dmi' + icon_state = "mook_leap_cloud" + layer = BELOW_MOB_LAYER + pixel_x = -16 + pixel_y = -16 + duration = 10 + +#undef MOOK_ATTACK_NEUTRAL +#undef MOOK_ATTACK_WARMUP +#undef MOOK_ATTACK_ACTIVE +#undef MOOK_ATTACK_RECOVERY +#undef ATTACK_INTERMISSION_TIME diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm new file mode 100644 index 0000000000..3e28a789ad --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm @@ -0,0 +1,244 @@ +#define SEEDLING_STATE_NEUTRAL 0 +#define SEEDLING_STATE_WARMUP 1 +#define SEEDLING_STATE_ACTIVE 2 +#define SEEDLING_STATE_RECOVERY 3 + +//A plant rooted in the ground that forfeits its melee attack in favor of ranged barrages. +//It will fire flurries of solar energy, and occasionally charge up a powerful blast that makes it vulnerable to attack. +/mob/living/simple_animal/hostile/jungle/seedling + name = "seedling" + desc = "This oversized, predatory flower conceals what can only be described as an organic energy cannon, and it will not die until its hidden vital organs are sliced out. \ + The concentrated streams of energy it sometimes produces require its full attention, attacking it during this time will prevent it from finishing its attack." + icon = 'icons/mob/jungle/seedling.dmi' + icon_state = "seedling" + icon_living = "seedling" + icon_dead = "seedling_dead" + maxHealth = 100 + health = 100 + melee_damage_lower = 30 + melee_damage_upper = 30 + pixel_x = -16 + pixel_y = -14 + minimum_distance = 3 + move_to_delay = 20 + vision_range = 9 + aggro_vision_range = 15 + ranged = TRUE + ranged_cooldown_time = 10 + projectiletype = /obj/item/projectile/seedling + projectilesound = 'sound/weapons/pierce.ogg' + robust_searching = TRUE + stat_attack = UNCONSCIOUS + anchored = TRUE + var/combatant_state = SEEDLING_STATE_NEUTRAL + var/obj/seedling_weakpoint/weak_point + var/mob/living/beam_debuff_target + var/solar_beam_identifier = 0 + +/obj/item/projectile/seedling + name = "solar energy" + icon_state = "seedling" + damage = 10 + damage_type = BURN + light_range = 2 + flag = "energy" + light_color = LIGHT_COLOR_YELLOW + hitsound = 'sound/weapons/sear.ogg' + hitsound_wall = 'sound/weapons/effects/searwall.ogg' + nondirectional_sprite = TRUE + +/obj/item/projectile/seedling/Collide(atom/A)//Stops seedlings from destroying other jungle mobs through FF + if(isliving(A)) + var/mob/living/L = A + if("jungle" in L.faction) + return FALSE + return ..() + +/obj/effect/temp_visual/solarbeam_killsat + name = "beam of solar energy" + icon_state = "solar_beam" + icon = 'icons/effects/beam.dmi' + layer = LIGHTING_LAYER + duration = 5 + randomdir = FALSE + +/datum/status_effect/seedling_beam_indicator + id = "seedling beam indicator" + duration = 30 + status_type = STATUS_EFFECT_MULTIPLE + alert_type = null + tick_interval = 1 + var/obj/screen/seedling/seedling_screen_object + var/atom/target + + +/datum/status_effect/seedling_beam_indicator/on_creation(mob/living/new_owner, target_plant) + . = ..() + if(.) + target = target_plant + tick() + +/datum/status_effect/seedling_beam_indicator/on_apply() + if(owner.client) + seedling_screen_object = new /obj/screen/seedling() + owner.client.screen += seedling_screen_object + tick() + return ..() + +/datum/status_effect/seedling_beam_indicator/Destroy() + if(owner) + if(owner.client) + owner.client.screen -= seedling_screen_object + return ..() + +/datum/status_effect/seedling_beam_indicator/tick() + var/target_angle = Get_Angle(owner, target) + var/matrix/final = matrix() + final.Turn(target_angle) + seedling_screen_object.transform = final + +/obj/screen/seedling + icon = 'icons/mob/jungle/arachnid.dmi' + icon_state = "seedling_beam_indicator" + screen_loc = "CENTER:-16,CENTER:-16" + +/mob/living/simple_animal/hostile/jungle/seedling/Goto() + if(combatant_state != SEEDLING_STATE_NEUTRAL) + return + return ..() + +/mob/living/simple_animal/hostile/jungle/seedling/AttackingTarget() + if(isliving(target)) + if(ranged_cooldown <= world.time && combatant_state == SEEDLING_STATE_NEUTRAL) + OpenFire(target) + return + return ..() + +/mob/living/simple_animal/hostile/jungle/seedling/OpenFire() + WarmupAttack() + +/mob/living/simple_animal/hostile/jungle/seedling/proc/WarmupAttack() + if(combatant_state == SEEDLING_STATE_NEUTRAL) + combatant_state = SEEDLING_STATE_WARMUP + walk(src,0) + update_icons() + var/target_dist = get_dist(src,target) + var/living_target_check = isliving(target) + if(living_target_check) + if(target_dist > 7)//Offscreen check + SolarBeamStartup(target) + return + if(get_dist(src,target) >= 4 && prob(40)) + SolarBeamStartup(target) + return + addtimer(CALLBACK(src, .proc/Volley), 5) + +/mob/living/simple_animal/hostile/jungle/seedling/proc/SolarBeamStartup(mob/living/living_target)//It's more like requiem than final spark + if(combatant_state == SEEDLING_STATE_WARMUP && target) + combatant_state = SEEDLING_STATE_ACTIVE + living_target.apply_status_effect(/datum/status_effect/seedling_beam_indicator, src) + beam_debuff_target = living_target + playsound(src,'sound/effects/seedling_chargeup.ogg', 100, 0) + if(get_dist(src,living_target) > 7) + playsound(living_target,'sound/effects/seedling_chargeup.ogg', 100, 0) + solar_beam_identifier = world.time + addtimer(CALLBACK(src, .proc/Beamu, living_target, solar_beam_identifier), 35) + +/mob/living/simple_animal/hostile/jungle/seedling/proc/Beamu(mob/living/living_target, beam_id = 0) + if(combatant_state == SEEDLING_STATE_ACTIVE && living_target && beam_id == solar_beam_identifier) + if(living_target.z == z) + update_icons() + var/obj/effect/temp_visual/solarbeam_killsat/S = new (get_turf(src)) + var/matrix/starting = matrix() + starting.Scale(1,32) + starting.Translate(0,520) + S.transform = starting + var/obj/effect/temp_visual/solarbeam_killsat/K = new (get_turf(living_target)) + var/matrix/final = matrix() + final.Scale(1,32) + final.Translate(0,512) + K.transform = final + living_target.adjustFireLoss(30) + living_target.adjust_fire_stacks(0.2)//Just here for the showmanship + living_target.IgniteMob() + playsound(living_target,'sound/weapons/sear.ogg', 50, 1) + addtimer(CALLBACK(src, .proc/AttackRecovery), 5) + return + AttackRecovery() + +/mob/living/simple_animal/hostile/jungle/seedling/proc/Volley() + if(combatant_state == SEEDLING_STATE_WARMUP && target) + combatant_state = SEEDLING_STATE_ACTIVE + update_icons() + var/datum/callback/cb = CALLBACK(src, .proc/InaccurateShot) + for(var/i in 1 to 13) + addtimer(cb, i) + addtimer(CALLBACK(src, .proc/AttackRecovery), 14) + +/mob/living/simple_animal/hostile/jungle/seedling/proc/InaccurateShot() + if(!QDELETED(target) && combatant_state == SEEDLING_STATE_ACTIVE && !stat) + if(get_dist(src,target) <= 3)//If they're close enough just aim straight at them so we don't miss at point blank ranges + Shoot(target) + return + var/turf/our_turf = get_turf(src) + var/obj/item/projectile/seedling/readied_shot = new /obj/item/projectile/seedling(our_turf) + readied_shot.current = our_turf + readied_shot.starting = our_turf + readied_shot.firer = src + readied_shot.original = target + readied_shot.yo = target.y - our_turf.y + rand(-1,1) + readied_shot.xo = target.x - our_turf.x + rand(-1,1) + readied_shot.fire() + playsound(src, projectilesound, 100, 1) + +/mob/living/simple_animal/hostile/jungle/seedling/proc/AttackRecovery() + if(combatant_state == SEEDLING_STATE_ACTIVE) + combatant_state = SEEDLING_STATE_RECOVERY + update_icons() + ranged_cooldown = world.time + ranged_cooldown_time + if(target) + face_atom(target) + addtimer(CALLBACK(src, .proc/ResetNeutral), 10) + +/mob/living/simple_animal/hostile/jungle/seedling/proc/ResetNeutral() + combatant_state = SEEDLING_STATE_NEUTRAL + if(target && !stat) + update_icons() + Goto(target, move_to_delay, minimum_distance) + +/mob/living/simple_animal/hostile/jungle/seedling/adjustHealth() + . = ..() + if(combatant_state == SEEDLING_STATE_ACTIVE && beam_debuff_target) + beam_debuff_target.remove_status_effect(/datum/status_effect/seedling_beam_indicator) + beam_debuff_target = null + solar_beam_identifier = 0 + AttackRecovery() + +/mob/living/simple_animal/hostile/jungle/seedling/update_icons() + . = ..() + if(!stat) + switch(combatant_state) + if(SEEDLING_STATE_NEUTRAL) + icon_state = "seedling" + if(SEEDLING_STATE_WARMUP) + icon_state = "seedling_charging" + if(SEEDLING_STATE_ACTIVE) + icon_state = "seedling_fire" + if(SEEDLING_STATE_RECOVERY) + icon_state = "seedling" + +/mob/living/simple_animal/hostile/jungle/seedling/GiveTarget() + if(target) + if(combatant_state == SEEDLING_STATE_WARMUP || combatant_state == SEEDLING_STATE_ACTIVE)//So it doesn't 180 and blast you in the face while it's firing at someone else + return + return ..() + +/mob/living/simple_animal/hostile/jungle/seedling/LoseTarget() + if(combatant_state == SEEDLING_STATE_WARMUP || combatant_state == SEEDLING_STATE_ACTIVE) + return + return ..() + +#undef SEEDLING_STATE_NEUTRAL +#undef SEEDLING_STATE_WARMUP +#undef SEEDLING_STATE_ACTIVE +#undef SEEDLING_STATE_RECOVERY diff --git a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm deleted file mode 100644 index b3e1479b91..0000000000 --- a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm +++ /dev/null @@ -1,833 +0,0 @@ -/mob/living/simple_animal/hostile/jungle - vision_range = 5 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - faction = list("jungle") - weather_immunities = list("acid") - obj_damage = 30 - environment_smash = ENVIRONMENT_SMASH_WALLS - minbodytemp = 0 - maxbodytemp = 450 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "strikes" - status_flags = 0 - a_intent = INTENT_HARM - see_in_dark = 4 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - mob_size = MOB_SIZE_LARGE - - - -//Mega arachnid - -/mob/living/simple_animal/hostile/jungle/mega_arachnid - name = "mega arachnid" - desc = "Though physically imposing, it prefers to ambush its prey, and it will only engage with an already crippled opponent." - melee_damage_lower = 30 - melee_damage_upper = 30 - maxHealth = 300 - health = 300 - speed = 1 - ranged = 1 - pixel_x = -16 - move_to_delay = 10 - aggro_vision_range = 9 - speak_emote = list("chitters") - attack_sound = 'sound/weapons/bladeslice.ogg' - ranged_cooldown_time = 60 - projectiletype = /obj/item/projectile/mega_arachnid - projectilesound = 'sound/weapons/pierce.ogg' - icon = 'icons/mob/jungle/arachnid.dmi' - icon_state = "arachnid" - icon_living = "arachnid" - icon_dead = "dead_purple" - alpha = 50 - -/mob/living/simple_animal/hostile/jungle/mega_arachnid/Life() - ..() - if(target && ranged_cooldown > world.time && iscarbon(target)) - var/mob/living/carbon/C = target - if(!C.legcuffed && C.health < 50) - retreat_distance = 9 - minimum_distance = 9 - alpha = 125 - return - retreat_distance = 0 - minimum_distance = 0 - alpha = 255 - - -/mob/living/simple_animal/hostile/jungle/mega_arachnid/Aggro() - ..() - alpha = 255 - -/mob/living/simple_animal/hostile/jungle/mega_arachnid/LoseAggro() - ..() - alpha = 50 - -/obj/item/projectile/mega_arachnid - name = "flesh snare" - nodamage = 1 - damage = 0 - icon_state = "tentacle_end" - -/obj/item/projectile/mega_arachnid/on_hit(atom/target, blocked = FALSE) - if(iscarbon(target) && blocked < 100) - var/obj/item/restraints/legcuffs/beartrap/mega_arachnid/B = new /obj/item/restraints/legcuffs/beartrap/mega_arachnid(get_turf(target)) - B.Crossed(target) - ..() - -/obj/item/restraints/legcuffs/beartrap/mega_arachnid - name = "fleshy restraints" - desc = "Used by mega arachnids to immobilize their prey." - flags_1 = DROPDEL_1 - icon_state = "tentacle_end" - icon = 'icons/obj/projectiles.dmi' - -////Leaper//// - -#define PLAYER_HOP_DELAY 25 - -/mob/living/simple_animal/hostile/jungle/leaper - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - faction = list("jungle") - weather_immunities = list("acid") - obj_damage = 30 - environment_smash = ENVIRONMENT_SMASH_WALLS - maxHealth = 300 - health = 300 - minbodytemp = 0 - maxbodytemp = 450 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "strikes" - status_flags = 0 - a_intent = INTENT_HARM - see_in_dark = 4 - ranged = TRUE - projectiletype = /obj/item/projectile/leaper - projectilesound = 'sound/weapons/pierce.ogg' - ranged_cooldown_time = 30 - pixel_x = -16 - icon = 'icons/mob/jungle/arachnid.dmi' - icon_state = "leaper" - icon_living = "leaper" - icon_dead = "leaper_dead" - layer = LARGE_MOB_LAYER - name = "leaper" - desc = "Commonly referred to as 'leapers', the Geron Toad is a massive beast that spits out highly pressurized bubbles containing a unique toxin, knocking down its prey and then crushing it with its girth." - speed = 10 - stat_attack = 1 - robust_searching = 1 - var/hopping = FALSE - var/hop_cooldown = 0 //Strictly for player controlled leapers - var/projectile_ready = FALSE //Stopping AI leapers from firing whenever they want, and only doing it after a hop has finished instead - -/obj/item/projectile/leaper - name = "leaper bubble" - icon_state = "leaper" - knockdown = 50 - damage = 0 - range = 7 - hitsound = 'sound/effects/snap.ogg' - nondirectional_sprite = TRUE - impact_effect_type = /obj/effect/temp_visual/leaper_projectile_impact - -/obj/item/projectile/leaper/on_hit(atom/target, blocked = FALSE) - ..() - if(iscarbon(target)) - var/mob/living/carbon/C = target - C.reagents.add_reagent("leaper_venom", 5) - return - if(isanimal(target)) - var/mob/living/simple_animal/L = target - L.adjustHealth(25) - -/obj/item/projectile/leaper/on_range() - var/turf/T = get_turf(src) - ..() - new /obj/structure/leaper_bubble(T) - -/obj/effect/temp_visual/leaper_projectile_impact - name = "leaper bubble" - icon = 'icons/obj/projectiles.dmi' - icon_state = "leaper_bubble_pop" - layer = ABOVE_ALL_MOB_LAYER - duration = 3 - -/obj/effect/temp_visual/leaper_projectile_impact/Initialize() - . = ..() - new /obj/effect/decal/cleanable/leaper_sludge(get_turf(src)) - -/obj/effect/decal/cleanable/leaper_sludge - name = "leaper sludge" - desc = "A small pool of sludge, containing trace amounts of leaper venom" - icon = 'icons/effects/tomatodecal.dmi' - icon_state = "tomato_floor1" - -/obj/structure/leaper_bubble - name = "leaper bubble" - desc = "A floating bubble containing leaper venom, the contents are under a surprising amount of pressure." - icon = 'icons/obj/projectiles.dmi' - icon_state = "leaper" - max_integrity = 10 - density = FALSE - -/obj/structure/leaper_bubble/Initialize() - . = ..() - float(on = TRUE) - QDEL_IN(src, 100) - -/obj/structure/leaper_bubble/Destroy() - new /obj/effect/temp_visual/leaper_projectile_impact(get_turf(src)) - playsound(src,'sound/effects/snap.ogg',50, 1, -1) - return ..() - -/obj/structure/leaper_bubble/Crossed(atom/movable/AM) - if(isliving(AM)) - var/mob/living/L = AM - if(!istype(L, /mob/living/simple_animal/hostile/jungle/leaper)) - playsound(src,'sound/effects/snap.ogg',50, 1, -1) - L.Knockdown(50) - if(iscarbon(L)) - var/mob/living/carbon/C = L - C.reagents.add_reagent("leaper_venom", 5) - if(isanimal(L)) - var/mob/living/simple_animal/A = L - A.adjustHealth(25) - qdel(src) - return ..() - -/datum/reagent/toxin/leaper_venom - name = "Leaper venom" - id = "leaper_venom" - description = "A toxin spat out by leapers that while harmless in small doses, quickly creates a toxic reaction if too much is in the body." - color = "#801E28" // rgb: 128, 30, 40 - toxpwr = 0 - taste_description = "french cuisine" - taste_mult = 1.3 - -/datum/reagent/toxin/leaper_venom/on_mob_life(mob/living/M) - if(volume >= 10) - M.adjustToxLoss(5, 0) - ..() - -/obj/effect/temp_visual/leaper_crush - name = "Grim tidings" - desc = "Incoming leaper!" - icon = 'icons/effects/96x96.dmi' - icon_state = "lily_pad" - layer = BELOW_MOB_LAYER - pixel_x = -32 - pixel_y = -32 - duration = 30 - -/mob/living/simple_animal/hostile/jungle/leaper/Initialize() - . = ..() - verbs -= /mob/living/verb/pulled - -/mob/living/simple_animal/hostile/jungle/leaper/CtrlClickOn(atom/A) - face_atom(A) - target = A - if(!isturf(loc)) - return - if(next_move > world.time) - return - if(hopping) - return - if(isliving(A)) - var/mob/living/L = A - if(L.incapacitated()) - BellyFlop() - return - if(hop_cooldown <= world.time) - Hop(player_hop = TRUE) - -/mob/living/simple_animal/hostile/jungle/leaper/AttackingTarget() - if(isliving(target)) - return - return ..() - -/mob/living/simple_animal/hostile/jungle/leaper/handle_automated_action() - if(hopping || projectile_ready) - return - . = ..() - if(target) - if(isliving(target)) - var/mob/living/L = target - if(L.incapacitated()) - BellyFlop() - return - if(!hopping) - Hop() - -/mob/living/simple_animal/hostile/jungle/leaper/Life() - . = ..() - update_icons() - -/mob/living/simple_animal/hostile/jungle/leaper/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - if(prob(33) && !ckey) - ranged_cooldown = 0 //Keeps em on their toes instead of a constant rotation - ..() - -/mob/living/simple_animal/hostile/jungle/leaper/OpenFire() - face_atom(target) - if(ranged_cooldown <= world.time) - if(ckey) - if(hopping) - return - if(isliving(target)) - var/mob/living/L = target - if(L.incapacitated()) - return //No stunlocking. Hop on them after you stun them, you donk. - if(AIStatus == AI_ON && !projectile_ready && !ckey) - return - . = ..(target) - projectile_ready = FALSE - update_icons() - -/mob/living/simple_animal/hostile/jungle/leaper/proc/Hop(player_hop = FALSE) - if(z != target.z) - return - hopping = TRUE - density = FALSE - pass_flags |= PASSMOB - notransform = TRUE - var/turf/new_turf = locate((target.x + rand(-3,3)),(target.y + rand(-3,3)),target.z) - if(player_hop) - new_turf = get_turf(target) - hop_cooldown = world.time + PLAYER_HOP_DELAY - if(AIStatus == AI_ON && ranged_cooldown <= world.time) - projectile_ready = TRUE - update_icons() - throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, .FinishHop)) - -/mob/living/simple_animal/hostile/jungle/leaper/proc/FinishHop() - density = TRUE - notransform = FALSE - pass_flags &= ~PASSMOB - hopping = FALSE - playsound(src.loc, 'sound/effects/meteorimpact.ogg', 100, 1) - if(target && AIStatus == AI_ON && projectile_ready && !ckey) - face_atom(target) - addtimer(CALLBACK(src, .proc/OpenFire, target), 5) - -/mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlop() - var/turf/new_turf = get_turf(target) - hopping = TRUE - notransform = TRUE - new /obj/effect/temp_visual/leaper_crush(new_turf) - addtimer(CALLBACK(src, .proc/BellyFlopHop, new_turf), 30) - -/mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlopHop(turf/T) - density = FALSE - throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, .proc/Crush)) - -/mob/living/simple_animal/hostile/jungle/leaper/proc/Crush() - hopping = FALSE - density = TRUE - notransform = FALSE - playsound(src, 'sound/effects/meteorimpact.ogg', 200, 1) - for(var/mob/living/L in orange(1, src)) - L.adjustBruteLoss(35) - if(!QDELETED(L)) // Some mobs are deleted on death - var/throw_dir = get_dir(src, L) - if(L.loc == loc) - throw_dir = pick(GLOB.alldirs) - var/throwtarget = get_edge_target_turf(src, throw_dir) - L.throw_at(throwtarget, 3, 1) - visible_message("[L] is thrown clear of [src]!") - if(ckey)//Lessens ability to chain stun as a player - ranged_cooldown = ranged_cooldown_time + world.time - update_icons() - -/mob/living/simple_animal/hostile/jungle/leaper/Goto() - return - -/mob/living/simple_animal/hostile/jungle/leaper/throw_impact() - return - -/mob/living/simple_animal/hostile/jungle/leaper/update_icons() - . = ..() - if(stat) - icon_state = "leaper_dead" - return - if(ranged_cooldown <= world.time) - if(AIStatus == AI_ON && projectile_ready || ckey) - icon_state = "leaper_alert" - return - icon_state = "leaper" - -#undef PLAYER_HOP_DELAY - -////JUNGLE MOOK//// - -#define MOOK_ATTACK_NEUTRAL 0 -#define MOOK_ATTACK_WARMUP 1 -#define MOOK_ATTACK_ACTIVE 2 -#define MOOK_ATTACK_RECOVERY 3 - -#define ATTACK_INTERMISSION_TIME 5 - -/mob/living/simple_animal/hostile/jungle/mook - name = "wanderer" - desc = "This unhealthy looking primitive is wielding a rudimentary hatchet, swinging it with wild abandon. One isn't much of a threat, but in numbers they can quickly overwhelm a superior opponent." - maxHealth = 45 - health = 45 - melee_damage_lower = 30 - melee_damage_upper = 30 - icon = 'icons/mob/jungle/arachnid.dmi' - icon_state = "mook" - icon_living = "mook" - icon_dead = "mook_dead" - pixel_x = -16 - pixel_y = -8 - ranged = TRUE - ranged_cooldown_time = 10 - pass_flags = LETPASSTHROW - robust_searching = TRUE - stat_attack = UNCONSCIOUS - attack_sound = 'sound/weapons/rapierhit.ogg' - death_sound = 'sound/voice/mook_death.ogg' - aggro_vision_range = 15 //A little more aggressive once in combat to balance out their really low HP - var/attack_state = MOOK_ATTACK_NEUTRAL - var/struck_target_leap = FALSE - -/mob/living/simple_animal/hostile/jungle/mook/CanPass(atom/movable/O) - if(istype(O, /mob/living/simple_animal/hostile/jungle/mook)) - var/mob/living/simple_animal/hostile/jungle/mook/M = O - if(M.attack_state == MOOK_ATTACK_ACTIVE && M.throwing) - return TRUE - return ..() - -/mob/living/simple_animal/hostile/jungle/mook/death() - desc = "A deceased primitive. Upon closer inspection, it was suffering from severe cellular degeneration and its garments are machine made..."//Can you guess the twist - return ..() - -/mob/living/simple_animal/hostile/jungle/mook/AttackingTarget() - if(isliving(target)) - if(ranged_cooldown <= world.time && attack_state == MOOK_ATTACK_NEUTRAL) - var/mob/living/L = target - if(L.incapacitated()) - WarmupAttack(forced_slash_combo = TRUE) - return - WarmupAttack() - return - return ..() - -/mob/living/simple_animal/hostile/jungle/mook/Goto() - if(attack_state != MOOK_ATTACK_NEUTRAL) - return - return ..() - -/mob/living/simple_animal/hostile/jungle/mook/Move() - if(attack_state == MOOK_ATTACK_WARMUP || attack_state == MOOK_ATTACK_RECOVERY) - return - return ..() - -/mob/living/simple_animal/hostile/jungle/mook/proc/WarmupAttack(forced_slash_combo = FALSE) - if(attack_state == MOOK_ATTACK_NEUTRAL && target) - attack_state = MOOK_ATTACK_WARMUP - walk(src,0) - update_icons() - if(prob(50) && get_dist(src,target) <= 3 || forced_slash_combo) - addtimer(CALLBACK(src, .proc/SlashCombo), ATTACK_INTERMISSION_TIME) - return - addtimer(CALLBACK(src, .proc/LeapAttack), ATTACK_INTERMISSION_TIME + rand(0,3)) - return - attack_state = MOOK_ATTACK_RECOVERY - ResetNeutral() - -/mob/living/simple_animal/hostile/jungle/mook/proc/SlashCombo() - if(attack_state == MOOK_ATTACK_WARMUP && !stat) - attack_state = MOOK_ATTACK_ACTIVE - update_icons() - SlashAttack() - addtimer(CALLBACK(src, .proc/SlashAttack), 3) - addtimer(CALLBACK(src, .proc/SlashAttack), 6) - addtimer(CALLBACK(src, .proc/AttackRecovery), 9) - -/mob/living/simple_animal/hostile/jungle/mook/proc/SlashAttack() - if(target && !stat && attack_state == MOOK_ATTACK_ACTIVE) - melee_damage_lower = 15 - melee_damage_upper = 15 - var/mob_direction = get_dir(src,target) - if(get_dist(src,target) > 1) - step(src,mob_direction) - if(targets_from && isturf(targets_from.loc) && target.Adjacent(targets_from) && isliving(target)) - var/mob/living/L = target - L.attack_animal(src) - return - var/swing_turf = get_step(src,mob_direction) - new /obj/effect/temp_visual/kinetic_blast(swing_turf) - playsound(src, 'sound/weapons/slashmiss.ogg', 50, 1) - -/mob/living/simple_animal/hostile/jungle/mook/proc/LeapAttack() - if(target && !stat && attack_state == MOOK_ATTACK_WARMUP) - attack_state = MOOK_ATTACK_ACTIVE - density = FALSE - melee_damage_lower = 30 - melee_damage_upper = 30 - update_icons() - new /obj/effect/temp_visual/mook_dust(get_turf(src)) - playsound(src, 'sound/weapons/thudswoosh.ogg', 25, 1) - playsound(src, 'sound/voice/mook_leap_yell.ogg', 100, 1) - var/target_turf = get_turf(target) - throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, .proc/AttackRecovery)) - return - attack_state = MOOK_ATTACK_RECOVERY - ResetNeutral() - -/mob/living/simple_animal/hostile/jungle/mook/proc/AttackRecovery() - if(attack_state == MOOK_ATTACK_ACTIVE && !stat) - attack_state = MOOK_ATTACK_RECOVERY - density = TRUE - face_atom(target) - if(!struck_target_leap) - update_icons() - struck_target_leap = FALSE - if(prob(40)) - attack_state = MOOK_ATTACK_NEUTRAL - if(target) - if(isliving(target)) - var/mob/living/L = target - if(L.incapacitated() && L.stat != DEAD) - addtimer(CALLBACK(src, .proc/WarmupAttack, TRUE), ATTACK_INTERMISSION_TIME) - return - addtimer(CALLBACK(src, .proc/WarmupAttack), ATTACK_INTERMISSION_TIME) - return - addtimer(CALLBACK(src, .proc/ResetNeutral), ATTACK_INTERMISSION_TIME) - -/mob/living/simple_animal/hostile/jungle/mook/proc/ResetNeutral() - if(attack_state == MOOK_ATTACK_RECOVERY) - attack_state = MOOK_ATTACK_NEUTRAL - ranged_cooldown = world.time + ranged_cooldown_time - update_icons() - if(target && !stat) - update_icons() - Goto(target, move_to_delay, minimum_distance) - -/mob/living/simple_animal/hostile/jungle/mook/throw_impact(atom/hit_atom, throwingdatum) - . = ..() - if(isliving(hit_atom) && attack_state == MOOK_ATTACK_ACTIVE) - var/mob/living/L = hit_atom - if(CanAttack(L)) - L.attack_animal(src) - struck_target_leap = TRUE - density = TRUE - update_icons() - var/mook_under_us = FALSE - for(var/A in get_turf(src)) - if(struck_target_leap && mook_under_us) - break - if(A == src) - continue - if(isliving(A)) - var/mob/living/ML = A - if(!struck_target_leap && CanAttack(ML))//Check if some joker is attempting to use rest to evade us - struck_target_leap = TRUE - ML.attack_animal(src) - density = TRUE - struck_target_leap = TRUE - update_icons() - continue - if(istype(ML, /mob/living/simple_animal/hostile/jungle/mook) && !mook_under_us)//If we land on the same tile as another mook, spread out so we don't stack our sprite on the same tile - var/mob/living/simple_animal/hostile/jungle/mook/M = ML - if(!M.stat) - mook_under_us = TRUE - var/anydir = pick(GLOB.cardinals) - Move(get_step(src, anydir), anydir) - continue - -/mob/living/simple_animal/hostile/jungle/mook/handle_automated_action() - if(attack_state) - return - return ..() - -/mob/living/simple_animal/hostile/jungle/mook/OpenFire() - if(isliving(target)) - var/mob/living/L = target - if(L.incapacitated()) - return - WarmupAttack() - -/mob/living/simple_animal/hostile/jungle/mook/update_icons() - . = ..() - if(!stat) - switch(attack_state) - if(MOOK_ATTACK_NEUTRAL) - icon_state = "mook" - if(MOOK_ATTACK_WARMUP) - icon_state = "mook_warmup" - if(MOOK_ATTACK_ACTIVE) - if(!density) - icon_state = "mook_leap" - return - if(struck_target_leap) - icon_state = "mook_strike" - return - icon_state = "mook_slash_combo" - if(MOOK_ATTACK_RECOVERY) - icon_state = "mook" - -/obj/effect/temp_visual/mook_dust - name = "dust" - desc = "it's just a dust cloud!" - icon = 'icons/mob/jungle/arachnid.dmi' - icon_state = "mook_leap_cloud" - layer = BELOW_MOB_LAYER - pixel_x = -16 - pixel_y = -16 - duration = 10 - -#undef MOOK_ATTACK_NEUTRAL -#undef MOOK_ATTACK_WARMUP -#undef MOOK_ATTACK_ACTIVE -#undef MOOK_ATTACK_RECOVERY -#undef ATTACK_INTERMISSION_TIME - -////Jungle Seedling//// - -#define SEEDLING_STATE_NEUTRAL 0 -#define SEEDLING_STATE_WARMUP 1 -#define SEEDLING_STATE_ACTIVE 2 -#define SEEDLING_STATE_RECOVERY 3 - - -/mob/living/simple_animal/hostile/jungle/seedling - name = "seedling" - desc = "This oversized, predatory flower conceals what can only be described as an organic energy cannon, and it will not die until its hidden vital organs are sliced out. \ - The concentrated streams of energy it sometimes produces require its full attention, attacking it during this time will prevent it from finishing its attack." - maxHealth = 100 - health = 100 - melee_damage_lower = 30 - melee_damage_upper = 30 - icon = 'icons/mob/jungle/arachnid.dmi' - icon_state = "seedling" - icon_living = "seedling" - icon_dead = "seedling_dead" - pixel_x = -16 - pixel_y = -14 - minimum_distance = 3 - move_to_delay = 20 - vision_range = 9 - aggro_vision_range = 15 - ranged = TRUE - ranged_cooldown_time = 10 - projectiletype = /obj/item/projectile/seedling - projectilesound = 'sound/weapons/pierce.ogg' - robust_searching = TRUE - stat_attack = UNCONSCIOUS - anchored = TRUE - var/combatant_state = SEEDLING_STATE_NEUTRAL - var/obj/seedling_weakpoint/weak_point - var/mob/living/beam_debuff_target - var/solar_beam_identifier = 0 - -/obj/item/projectile/seedling - name = "solar energy" - icon_state = "seedling" - damage = 10 - damage_type = BURN - light_range = 2 - flag = "energy" - light_color = LIGHT_COLOR_YELLOW - hitsound = 'sound/weapons/sear.ogg' - hitsound_wall = 'sound/weapons/effects/searwall.ogg' - nondirectional_sprite = TRUE - -/obj/item/projectile/seedling/Collide(atom/A)//Stops seedlings from destroying other jungle mobs through FF - if(isliving(A)) - var/mob/living/L = A - if("jungle" in L.faction) - return FALSE - return ..() - -/obj/effect/temp_visual/solarbeam_killsat - name = "beam of solar energy" - icon_state = "solar_beam" - icon = 'icons/effects/beam.dmi' - layer = LIGHTING_LAYER - duration = 5 - randomdir = FALSE - -/datum/status_effect/seedling_beam_indicator - id = "seedling beam indicator" - duration = 30 - status_type = STATUS_EFFECT_MULTIPLE - alert_type = null - tick_interval = 1 - var/obj/screen/seedling/seedling_screen_object - var/atom/target - - -/datum/status_effect/seedling_beam_indicator/on_creation(mob/living/new_owner, target_plant) - . = ..() - if(.) - target = target_plant - tick() - -/datum/status_effect/seedling_beam_indicator/on_apply() - if(owner.client) - seedling_screen_object = new /obj/screen/seedling() - owner.client.screen += seedling_screen_object - tick() - return ..() - -/datum/status_effect/seedling_beam_indicator/Destroy() - if(owner) - if(owner.client) - owner.client.screen -= seedling_screen_object - return ..() - -/datum/status_effect/seedling_beam_indicator/tick() - var/target_angle = Get_Angle(owner, target) - var/matrix/final = matrix() - final.Turn(target_angle) - seedling_screen_object.transform = final - -/obj/screen/seedling - icon = 'icons/mob/jungle/arachnid.dmi' - icon_state = "seedling_beam_indicator" - screen_loc = "CENTER:-16,CENTER:-16" - -/mob/living/simple_animal/hostile/jungle/seedling/Goto() - if(combatant_state != SEEDLING_STATE_NEUTRAL) - return - return ..() - -/mob/living/simple_animal/hostile/jungle/seedling/AttackingTarget() - if(isliving(target)) - if(ranged_cooldown <= world.time && combatant_state == SEEDLING_STATE_NEUTRAL) - OpenFire(target) - return - return ..() - -/mob/living/simple_animal/hostile/jungle/seedling/OpenFire() - WarmupAttack() - -/mob/living/simple_animal/hostile/jungle/seedling/proc/WarmupAttack() - if(combatant_state == SEEDLING_STATE_NEUTRAL) - combatant_state = SEEDLING_STATE_WARMUP - walk(src,0) - update_icons() - var/target_dist = get_dist(src,target) - var/living_target_check = isliving(target) - if(living_target_check) - if(target_dist > 7)//Offscreen check - SolarBeamStartup(target) - return - if(get_dist(src,target) >= 4 && prob(40)) - SolarBeamStartup(target) - return - addtimer(CALLBACK(src, .proc/Volley), 5) - -/mob/living/simple_animal/hostile/jungle/seedling/proc/SolarBeamStartup(mob/living/living_target)//It's more like requiem than final spark - if(combatant_state == SEEDLING_STATE_WARMUP && target) - combatant_state = SEEDLING_STATE_ACTIVE - living_target.apply_status_effect(/datum/status_effect/seedling_beam_indicator, src) - beam_debuff_target = living_target - playsound(src,'sound/effects/seedling_chargeup.ogg', 100, 0) - if(get_dist(src,living_target) > 7) - playsound(living_target,'sound/effects/seedling_chargeup.ogg', 100, 0) - solar_beam_identifier = world.time - addtimer(CALLBACK(src, .proc/Beamu, living_target, solar_beam_identifier), 35) - -/mob/living/simple_animal/hostile/jungle/seedling/proc/Beamu(mob/living/living_target, beam_id = 0) - if(combatant_state == SEEDLING_STATE_ACTIVE && living_target && beam_id == solar_beam_identifier) - if(living_target.z == z) - update_icons() - var/obj/effect/temp_visual/solarbeam_killsat/S = new (get_turf(src)) - var/matrix/starting = matrix() - starting.Scale(1,32) - starting.Translate(0,520) - S.transform = starting - var/obj/effect/temp_visual/solarbeam_killsat/K = new (get_turf(living_target)) - var/matrix/final = matrix() - final.Scale(1,32) - final.Translate(0,512) - K.transform = final - living_target.adjustFireLoss(30) - living_target.adjust_fire_stacks(0.2)//Just here for the showmanship - living_target.IgniteMob() - playsound(living_target,'sound/weapons/sear.ogg', 50, 1) - addtimer(CALLBACK(src, .proc/AttackRecovery), 5) - return - AttackRecovery() - -/mob/living/simple_animal/hostile/jungle/seedling/proc/Volley() - if(combatant_state == SEEDLING_STATE_WARMUP && target) - combatant_state = SEEDLING_STATE_ACTIVE - update_icons() - var/datum/callback/cb = CALLBACK(src, .proc/InaccurateShot) - for(var/i in 1 to 13) - addtimer(cb, i) - addtimer(CALLBACK(src, .proc/AttackRecovery), 14) - -/mob/living/simple_animal/hostile/jungle/seedling/proc/InaccurateShot() - if(!QDELETED(target) && combatant_state == SEEDLING_STATE_ACTIVE && !stat) - if(get_dist(src,target) <= 3)//If they're close enough just aim straight at them so we don't miss at point blank ranges - Shoot(target) - return - var/turf/our_turf = get_turf(src) - var/obj/item/projectile/seedling/readied_shot = new /obj/item/projectile/seedling(our_turf) - readied_shot.current = our_turf - readied_shot.starting = our_turf - readied_shot.firer = src - readied_shot.original = target - readied_shot.yo = target.y - our_turf.y + rand(-1,1) - readied_shot.xo = target.x - our_turf.x + rand(-1,1) - readied_shot.fire() - playsound(src, projectilesound, 100, 1) - -/mob/living/simple_animal/hostile/jungle/seedling/proc/AttackRecovery() - if(combatant_state == SEEDLING_STATE_ACTIVE) - combatant_state = SEEDLING_STATE_RECOVERY - update_icons() - ranged_cooldown = world.time + ranged_cooldown_time - if(target) - face_atom(target) - addtimer(CALLBACK(src, .proc/ResetNeutral), 10) - -/mob/living/simple_animal/hostile/jungle/seedling/proc/ResetNeutral() - combatant_state = SEEDLING_STATE_NEUTRAL - if(target && !stat) - update_icons() - Goto(target, move_to_delay, minimum_distance) - -/mob/living/simple_animal/hostile/jungle/seedling/adjustHealth() - . = ..() - if(combatant_state == SEEDLING_STATE_ACTIVE && beam_debuff_target) - beam_debuff_target.remove_status_effect(/datum/status_effect/seedling_beam_indicator) - beam_debuff_target = null - solar_beam_identifier = 0 - AttackRecovery() - -/mob/living/simple_animal/hostile/jungle/seedling/update_icons() - . = ..() - if(!stat) - switch(combatant_state) - if(SEEDLING_STATE_NEUTRAL) - icon_state = "seedling" - if(SEEDLING_STATE_WARMUP) - icon_state = "seedling_charging" - if(SEEDLING_STATE_ACTIVE) - icon_state = "seedling_fire" - if(SEEDLING_STATE_RECOVERY) - icon_state = "seedling" - -/mob/living/simple_animal/hostile/jungle/seedling/GiveTarget() - if(target) - if(combatant_state == SEEDLING_STATE_WARMUP || combatant_state == SEEDLING_STATE_ACTIVE)//So it doesn't 180 and blast you in the face while it's firing at someone else - return - return ..() - -/mob/living/simple_animal/hostile/jungle/seedling/LoseTarget() - if(combatant_state == SEEDLING_STATE_WARMUP || combatant_state == SEEDLING_STATE_ACTIVE) - return - return ..() - -#undef SEEDLING_STATE_NEUTRAL -#undef SEEDLING_STATE_WARMUP -#undef SEEDLING_STATE_ACTIVE -#undef SEEDLING_STATE_RECOVERY \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm.rej b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm.rej deleted file mode 100644 index 9204780124..0000000000 --- a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm (rejected hunks) -@@ -80,7 +80,7 @@ - /obj/item/restraints/legcuffs/beartrap/mega_arachnid - name = "fleshy restraints" - desc = "Used by mega arachnids to immobilize their prey." -- flags = DROPDEL -+ flags_1 = DROPDEL_1 - icon_state = "tentacle_end" - icon = 'icons/obj/projectiles.dmi' - diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index fd92cc17ff..66fd219358 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -277,19 +277,29 @@ Difficulty: Very Hard WriteMemory() /obj/machinery/smartfridge/black_box/proc/WriteMemory() - var/savefile/S = new /savefile("data/npc_saves/Blackbox.sav") + var/json_file = file("data/npc_saves/Blackbox.json") stored_items = list() for(var/obj/O in (contents-component_parts)) stored_items += O.type - - WRITE_FILE(S["stored_items"], stored_items) + var/list/file_data = list() + file_data["data"] = stored_items + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) memory_saved = TRUE /obj/machinery/smartfridge/black_box/proc/ReadMemory() - var/savefile/S = new /savefile("data/npc_saves/Blackbox.sav") - S["stored_items"] >> stored_items - + if(fexists("data/npc_saves/Blackbox.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/Blackbox.sav") + S["stored_items"] >> stored_items + fdel("data/npc_saves/Blackbox.sav") + else + var/json_file = file("data/npc_saves/Blackbox.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + stored_items = json["data"] if(isnull(stored_items)) stored_items = list() diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 66fbc8af8c..aa96494745 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -296,7 +296,7 @@ else parrot_state |= PARROT_FLEE //Otherwise, fly like a bat out of hell! drop_held_item(0) - if(!stat && M.a_intent == INTENT_HELP) + if(stat != DEAD && M.a_intent == INTENT_HELP) handle_automated_speech(1) //assured speak/emote return @@ -924,22 +924,36 @@ ..(gibbed) /mob/living/simple_animal/parrot/Poly/proc/Read_Memory() - var/savefile/S = new /savefile("data/npc_saves/Poly.sav") - S["phrases"] >> speech_buffer - S["roundssurvived"] >> rounds_survived - S["longestsurvival"] >> longest_survival - S["longestdeathstreak"] >> longest_deathstreak - + if(fexists("data/npc_saves/Poly.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/Poly.sav") + S["phrases"] >> speech_buffer + S["roundssurvived"] >> rounds_survived + S["longestsurvival"] >> longest_survival + S["longestdeathstreak"] >> longest_deathstreak + fdel("data/npc_saves/Poly.sav") + else + var/json_file = file("data/npc_saves/Poly.json") + if(!fexists(json_file)) + return + var/list/json = list() + json = json_decode(file2text(json_file)) + speech_buffer = json["phrases"] + rounds_survived = json["roundssurvived"] + longest_survival = json["longestsurvival"] + longest_deathstreak = json["longestdeathstreak"] if(!islist(speech_buffer)) speech_buffer = list() /mob/living/simple_animal/parrot/Poly/proc/Write_Memory() - var/savefile/S = new /savefile("data/npc_saves/Poly.sav") + var/json_file = file("data/npc_saves/Poly.json") + var/list/file_data = list() if(islist(speech_buffer)) - WRITE_FILE(S["phrases"], speech_buffer) - WRITE_FILE(S["roundssurvived"], rounds_survived) - WRITE_FILE(S["longestsurvival"], longest_survival) - WRITE_FILE(S["longestdeathstreak"], longest_deathstreak) + file_data["phrases"] = speech_buffer + file_data["roundssurvived"] = rounds_survived + file_data["longestsurvival"] = longest_survival + file_data["longestdeathstreak"] = longest_deathstreak + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) memory_saved = 1 /mob/living/simple_animal/parrot/Poly/ghost diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 54b6e1ab13..aa95d182cb 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -386,14 +386,14 @@ else ..() -/mob/living/simple_animal/update_canmove() +/mob/living/simple_animal/update_canmove(value_otherwise = TRUE) if(IsUnconscious() || IsStun() || IsKnockdown() || stat || resting) drop_all_held_items() - canmove = 0 + canmove = FALSE else if(buckled) - canmove = 0 + canmove = FALSE else - canmove = 1 + canmove = value_otherwise update_transform() update_action_buttons_icon() return canmove diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5d3d21f082..297f788001 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -623,6 +623,8 @@ continue if(overrides.len && (A in overrides)) continue + if(A.IsObscured()) + continue statpanel(listed_turf.name, null, A) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 021b32e00c..f9763cde7d 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -495,6 +495,30 @@ . = new_corgi qdel(src) +/mob/living/carbon/proc/gorillize() + if(notransform) + return + + var/Itemlist = get_equipped_items() + Itemlist += held_items + for(var/obj/item/W in Itemlist) + dropItemToGround(W, TRUE) + + regenerate_icons() + notransform = TRUE + canmove = FALSE + icon = null + invisibility = INVISIBILITY_MAXIMUM + var/mob/living/simple_animal/hostile/gorilla/new_gorilla = new (get_turf(src)) + new_gorilla.a_intent = INTENT_HARM + if(mind) + mind.transfer_to(new_gorilla) + else + new_gorilla.key = key + to_chat(new_gorilla, "You are now a gorilla. Ooga ooga!") + . = new_gorilla + qdel(src) + /mob/living/carbon/human/Animalize() var/list/mobtypes = typesof(/mob/living/simple_animal) diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index c0db06f730..95e78391bb 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -13,7 +13,6 @@ var/last_battery_percent = 0 // Used for deciding if battery percentage has chandged var/last_world_time = "00:00" var/list/last_header_icons - var/emagged = FALSE // Whether the computer is emagged. var/base_active_power_usage = 50 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too. var/base_idle_power_usage = 5 // Power usage when the computer is idle and screen is off (currently only applies to laptops) diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm.rej b/code/modules/modular_computers/computers/machinery/modular_computer.dm.rej deleted file mode 100644 index 375995bf60..0000000000 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm (rejected hunks) -@@ -125,7 +125,7 @@ - update_icon() - - /obj/machinery/modular_computer/attackby(var/obj/item/W as obj, mob/user) -- if(cpu && !(flags & NODECONSTRUCT)) -+ if(cpu && !(flags_1 & NODECONSTRUCT_1)) - return cpu.attackby(W, user) - return ..() - diff --git a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm index 76cacc00ef..270e1f106f 100644 --- a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm +++ b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm @@ -12,90 +12,72 @@ It is possible to destroy the net by the occupant or someone else. density = TRUE//Can't pass through. opacity = 0//Can see through. mouse_opacity = MOUSE_OPACITY_ICON//So you can hit it with stuff. - anchored = TRUE//Can't drag/grab the trapped mob. + anchored = TRUE//Can't drag/grab the net. layer = ABOVE_ALL_MOB_LAYER max_integrity = 25 //How much health it has. - var/mob/living/affecting = null//Who it is currently affecting, if anyone. - var/mob/living/master = null//Who shot web. Will let this person know if the net was successful or failed. - + can_buckle = 1 + buckle_lying = 0 + buckle_prevents_pull = TRUE + var/mob/living/carbon/affecting//Who it is currently affecting, if anyone. + var/mob/living/carbon/master//Who shot web. Will let this person know if the net was successful or failed. + var/check = 15//30 seconds before teleportation. Could be extended I guess. + var/success = FALSE /obj/structure/energy_net/play_attack_sound(damage, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(src.loc, 'sound/weapons/slash.ogg', 80, 1) + playsound(src, 'sound/weapons/slash.ogg', 80, 1) if(BURN) - playsound(src.loc, 'sound/weapons/slash.ogg', 80, 1) + playsound(src, 'sound/weapons/slash.ogg', 80, 1) /obj/structure/energy_net/Destroy() - if(affecting) - var/mob/living/carbon/M = affecting - M.anchored = FALSE - for(var/mob/O in viewers(src, 3)) - O.show_message("[M.name] was recovered from the energy net!", 1, "You hear a grunt.", 2) - if(master)//As long as they still exist. + if(!success) + if(!QDELETED(affecting)) + affecting.visible_message("[affecting.name] was recovered from the energy net!", "You were recovered from the energy net!", "You hear a grunt.") + if(!QDELETED(master))//As long as they still exist. to_chat(master, "ERROR: unable to initiate transport protocol. Procedure terminated.") return ..() -/obj/structure/energy_net/process(mob/living/carbon/M) - var/check = 30//30 seconds before teleportation. Could be extended I guess. - var/mob_name = affecting.name//Since they will report as null if terminated before teleport. - //The person can still try and attack the net when inside. - - M.notransform = 1 //No moving for you! - - while(!isnull(M)&&!isnull(src)&&check>0)//While M and net exist, and 30 seconds have not passed. - check-- - sleep(10) - - if(isnull(M)||M.loc!=loc)//If mob is gone or not at the location. - if(!isnull(master))//As long as they still exist. - to_chat(master, "ERROR: unable to locate \the [mob_name]. Procedure terminated.") +/obj/structure/energy_net/process() + if(QDELETED(affecting)||affecting.loc!=loc) qdel(src)//Get rid of the net. - M.notransform = 0 return - if(!isnull(src))//As long as both net and person exist. - //No need to check for countdown here since while() broke, it's implicit that it finished. + if(check>0) + check-- + return - density = FALSE//Make the net pass-through. - invisibility = INVISIBILITY_ABSTRACT//Make the net invisible so all the animations can play out. - resistance_flags |= INDESTRUCTIBLE //Make the net invincible so that an explosion/something else won't kill it while, spawn() is running. - for(var/obj/item/W in M) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(W == H.w_uniform) - continue//So all they're left with are shoes and uniform. - if(W == H.shoes) - continue - M.dropItemToGround(W) + success = TRUE + qdel(src) + if(ishuman(affecting)) + var/mob/living/carbon/human/H = affecting + for(var/obj/item/W in H) + if(W == H.w_uniform) + continue//So all they're left with are shoes and uniform. + if(W == H.shoes) + continue + H.dropItemToGround(W) - playsound(M.loc, 'sound/effects/sparks4.ogg', 50, 1) - new /obj/effect/temp_visual/dir_setting/ninja/phase/out(get_turf(M), M.dir) - - visible_message("[M] suddenly vanishes!") - M.forceMove(pick(GLOB.holdingfacility)) //Throw mob in to the holding facility. - to_chat(M, "You appear in a strange place!") - - if(!isnull(master))//As long as they still exist. - to_chat(master, "SUCCESS: transport procedure of \the [affecting] complete.") - M.notransform = 0 - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, M.loc) - spark_system.start() - playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1) - playsound(M.loc, 'sound/effects/sparks2.ogg', 50, 1) - new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(M), M.dir) - qdel(src) - - else//And they are free. - to_chat(M, "You are free of the net!") - M.notransform = 0 - return + playsound(affecting, 'sound/effects/sparks4.ogg', 50, 1) + new /obj/effect/temp_visual/dir_setting/ninja/phase/out(affecting.drop_location(), affecting.dir) + visible_message("[affecting] suddenly vanishes!") + affecting.forceMove(pick(GLOB.holdingfacility)) //Throw mob in to the holding facility. + to_chat(affecting, "You appear in a strange place!") + if(!QDELETED(master))//As long as they still exist. + to_chat(master, "SUCCESS: transport procedure of [affecting] complete.") + do_sparks(5, FALSE, affecting) + playsound(affecting, 'sound/effects/phasein.ogg', 25, 1) + playsound(affecting, 'sound/effects/sparks2.ogg', 50, 1) + new /obj/effect/temp_visual/dir_setting/ninja/phase(affecting.drop_location(), affecting.dir) /obj/structure/energy_net/attack_paw(mob/user) return attack_hand() +/obj/structure/energy_net/user_buckle_mob(mob/living/M, mob/living/user) + return//We only want our target to be buckled +/obj/structure/energy_net/user_unbuckle_mob(mob/living/buckled_mob, mob/living/user) + return//The net must be destroyed to free the target diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm index 71f8166339..6c0dddf88b 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm @@ -2,20 +2,19 @@ //Movement impairing would indicate drugs and the like. /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost() - if(!ninjacost(0,N_ADRENALINE))//Have to make sure stat is not counted for this ability. + if(!ninjacost(0,N_ADRENALINE)) var/mob/living/carbon/human/H = affecting H.SetUnconscious(0) H.SetStun(0) H.SetKnockdown(0) - - spawn(30)//Slight delay so the enemy does not immedietly know the ability was used. Due to lag, this often came before waking up. - H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!")) - spawn(70) - if(reagents.total_volume) - var/fraction = min(a_transfer/reagents.total_volume, 1) - reagents.reaction(H, INJECT, fraction) - reagents.trans_id_to(H, "radium", a_transfer) - to_chat(H, "You are beginning to feel the after-effect of the injection.") + H.stuttering = 0 + H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!")) a_boost-- to_chat(H, "There are [a_boost] adrenaline boosts remaining.") s_coold = 3 + addtimer(CALLBACK(src, .proc/ninjaboost_after), 70) + +/obj/item/clothing/suit/space/space_ninja/proc/ninjaboost_after() + var/mob/living/carbon/human/H = affecting + H.reagents.add_reagent("radium", a_transfer) + to_chat(H, "You are beginning to feel the after-effect of the injection.") diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm index 1d728084b3..12fea51815 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm @@ -3,10 +3,6 @@ //Cost function for suit Procs/Verbs/Abilities /obj/item/clothing/suit/space/space_ninja/proc/ninjacost(cost = 0, specificCheck = 0) var/mob/living/carbon/human/H = affecting - if((H.stat || H.incorporeal_move) && (specificCheck != N_ADRENALINE))//Will not return if user is using an adrenaline booster since you can use them when stat==1. - to_chat(H, "You must be conscious and solid to do this.") - return 1 - var/actualCost = cost*10 if(cost && cell.charge < actualCost) to_chat(H, "Not enough energy.") diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm index 18682e87eb..81d731b110 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm @@ -1,24 +1,33 @@ //Allows the ninja to kidnap people -/obj/item/clothing/suit/space/space_ninja/proc/ninjanet(mob/living/carbon/C in oview())//Only living carbon mobs. +/obj/item/clothing/suit/space/space_ninja/proc/ninjanet() + var/mob/living/carbon/human/H = affecting + var/mob/living/carbon/C = input("Select who to capture:","Capture who?",null) as null|mob in oview(H) - if(!ninjacost(200,N_STEALTH_CANCEL) && iscarbon(C)) - var/mob/living/carbon/human/H = affecting - if(C.client)//Monkeys without a client can still step_to() and bypass the net. Also, netting inactive people is lame. - if(!locate(/obj/structure/energy_net) in C.loc)//Check if they are already being affected by an energy net. - for(var/turf/T in getline(H.loc, C.loc)) - if(T.density)//Don't want them shooting nets through walls. It's kind of cheesy. - to_chat(H, "You may not use an energy net through solid obstacles!") - return - H.Beam(C,"n_beam",time=15) - H.say("Get over here!") - var/obj/structure/energy_net/E = new /obj/structure/energy_net(C.loc) - H.visible_message("[H] caught [C] with an energy net!","You caught [C] with an energy net!") - E.affecting = C - E.master = H - spawn(0)//Parallel processing. - E.process(C) - else - to_chat(H, "[C.p_they(TRUE)] are already trapped inside an energy net!") - else - to_chat(H, "[C.p_they(TRUE)] will bring no honor to your Clan!") + if(QDELETED(C)||!(C in oview(H))) + return 0 + + if(!C.client)//Monkeys without a client can still step_to() and bypass the net. Also, netting inactive people is lame. + to_chat(H, "[C.p_they(TRUE)] will bring no honor to your Clan!") + return + if(locate(/obj/structure/energy_net) in get_turf(C))//Check if they are already being affected by an energy net. + to_chat(H, "[C.p_they(TRUE)] are already trapped inside an energy net!") + return + for(var/turf/T in getline(get_turf(H), get_turf(C))) + if(T.density)//Don't want them shooting nets through walls. It's kind of cheesy. + to_chat(H, "You may not use an energy net through solid obstacles!") + return + if(!ninjacost(200,N_STEALTH_CANCEL)) + H.Beam(C,"n_beam",time=15) + H.say("Get over here!") + var/obj/structure/energy_net/E = new /obj/structure/energy_net(C.drop_location()) + E.affecting = C + E.master = H + H.visible_message("[H] caught [C] with an energy net!","You caught [C] with an energy net!") + + if(C.buckled) + C.buckled.unbuckle_mob(affecting,TRUE) + E.buckle_mob(C, TRUE) //No moving for you! + //The person can still try and attack the net when inside. + + START_PROCESSING(SSobj, E) diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 7cf355fde6..40d18951e6 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -17,7 +17,7 @@ Contents: icon_state = "s-ninja" item_state = "s-ninja_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/stock_parts/cell) - slowdown = 0 + slowdown = 1 resistance_flags = LAVA_PROOF | ACID_PROOF armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 100, acid = 100) strip_delay = 12 @@ -28,7 +28,6 @@ Contents: var/mob/living/carbon/human/affecting = null var/obj/item/stock_parts/cell/cell var/datum/effect_system/spark_spread/spark_system - var/list/reagent_list = list("omnizine","salbutamol","spaceacillin","charcoal","nutriment","radium","potass_iodide")//The reagents ids which are added to the suit at New(). var/list/stored_research = list()//For stealing station research. var/obj/item/disk/tech_disk/t_disk//To copy design onto disk. var/obj/item/dash/energy_katana/energyKatana //For teleporting the katana back to the ninja (It's an ability) @@ -44,11 +43,10 @@ Contents: var/s_cost = 5//Base energy cost each ntick. var/s_acost = 25//Additional cost for additional powers active. var/s_delay = 40//How fast the suit does certain things, lower is faster. Can be overridden in specific procs. Also determines adverse probability. - var/a_transfer = 20//How much reagent is transferred when injecting. - var/r_maxamount = 80//How much reagent in total there is. + var/a_transfer = 20//How much radium is used per adrenaline boost. + var/a_maxamount = 7//Maximum number of adrenaline boosts. //Support function variables. - var/spideros = 0//Mode of SpiderOS. This can change so I won't bother listing the modes here (0 is hub). Check ninja_equipment.dm for how it all works. var/s_active = 0//Stealth off. var/s_busy = FALSE//Is the suit busy with a process? Like AI hacking. Used for safety functions. @@ -73,28 +71,12 @@ Contents: for(var/T in subtypesof(/datum/tech))//Store up on research. stored_research += new T(src) - //Reagent Init - var/reagent_amount - for(var/reagent_id in reagent_list) - reagent_amount += reagent_id == "radium" ? r_maxamount+(a_boost*a_transfer) : r_maxamount - reagents = new(reagent_amount) - reagents.my_atom = src - for(var/reagent_id in reagent_list) - reagent_id == "radium" ? reagents.add_reagent(reagent_id, r_maxamount+(a_boost*a_transfer)) : reagents.add_reagent(reagent_id, r_maxamount)//It will take into account radium used for adrenaline boosting. - //Cell Init cell = new/obj/item/stock_parts/cell/high cell.charge = 9000 cell.name = "black power cell" cell.icon_state = "bscell" - -/obj/item/clothing/suit/space/space_ninja/Destroy() - if(affecting) - affecting << browse(null, "window=hack spideros") - return ..() - - //Simply deletes all the attachments and self, killing all related procs. /obj/item/clothing/suit/space/space_ninja/proc/terminate() qdel(n_hood) @@ -117,7 +99,7 @@ Contents: if(!istype(H)) return 0 if(!is_ninja(H)) - to_chat(H, "\red fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAU†HORIZED USÈ DETÈC†††eD\nCoMMÈNCING SUB-R0U†IN3 13...\nTÈRMInATING U-U-USÈR...") + to_chat(H, "fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAU?HORIZED USÈ DETÈC???eD\nCoMMÈNCING SUB-R0U?IN3 13...\nTÈRMInATING U-U-USÈR...") H.gib() return FALSE if(!istype(H.head, /obj/item/clothing/head/helmet/space/space_ninja)) @@ -131,7 +113,7 @@ Contents: return FALSE affecting = H flags_1 |= NODROP_1 //colons make me go all |= - slowdown = FALSE + slowdown = 0 n_hood = H.head n_hood.flags_1 |= NODROP_1 n_shoes = H.shoes @@ -170,7 +152,7 @@ Contents: ..() if(s_initialized) if(user == affecting) - to_chat(user, "All systems operational. Current energy capacity: [cell.charge].") + to_chat(user, "All systems operational. Current energy capacity: [DisplayPower(cell.charge)].") to_chat(user, "The CLOAK-tech device is [s_active?"active":"inactive"].") to_chat(user, "There are [s_bombs] smoke bomb\s remaining.") to_chat(user, "There are [a_boost] adrenaline booster\s remaining.") diff --git a/code/modules/ninja/suit/suit_attackby.dm b/code/modules/ninja/suit/suit_attackby.dm index 23f2ac4b9e..1db76bc971 100644 --- a/code/modules/ninja/suit/suit_attackby.dm +++ b/code/modules/ninja/suit/suit_attackby.dm @@ -1,70 +1,60 @@ /obj/item/clothing/suit/space/space_ninja/attackby(obj/item/I, mob/U, params) - if(U==affecting)//Safety, in case you try doing this without wearing the suit/being the person with the suit. + if(U!=affecting)//Safety, in case you try doing this without wearing the suit/being the person with the suit. + return ..() - if(istype(I, /obj/item/reagent_containers/glass))//If it's a glass beaker. - var/total_reagent_transfer//Keep track of this stuff. - for(var/reagent_id in reagent_list) - var/datum/reagent/R = I.reagents.has_reagent(reagent_id)//Mostly to pull up the name of the reagent after calculating. Also easier to use than writing long proc paths. - if(R&&reagents.get_reagent_amount(reagent_id)=a_transfer)//Radium is always special. - //Here we determine how much reagent will actually transfer if there is enough to transfer or there is a need of transfer. Minimum of max amount available (using a_transfer) or amount needed. - var/amount_to_transfer = min( (r_maxamount+(reagent_id == "radium"?(a_boost*a_transfer):0)-reagents.get_reagent_amount(reagent_id)) ,(round(R.volume/a_transfer))*a_transfer)//In the end here, we round the amount available, then multiply it again. - R.volume -= amount_to_transfer//Remove from reagent volume. Don't want to delete the reagent now since we need to perserve the name. - reagents.add_reagent(reagent_id, amount_to_transfer)//Add to suit. Reactions are not important. - total_reagent_transfer += amount_to_transfer//Add to total reagent trans. - to_chat(U, "Added [amount_to_transfer] units of [R.name].") - I.reagents.update_total()//Now we manually update the total to make sure everything is properly shoved under the rug. - - to_chat(U, "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units.") + if(istype(I, /obj/item/reagent_containers/glass))//If it's a glass beaker. + if(I.reagents.has_reagent("radium", a_transfer) && a_boost < a_maxamount) + I.reagents.remove_reagent("radium", a_transfer) + a_boost++; + to_chat(U, "There are now [a_boost] adrenaline boosts remaining.") return - else if(istype(I, /obj/item/stock_parts/cell)) - var/obj/item/stock_parts/cell/CELL = I - if(CELL.maxcharge > cell.maxcharge && n_gloves && n_gloves.candrain) - to_chat(U, "Higher maximum capacity detected.\nUpgrading...") - if (n_gloves && n_gloves.candrain && do_after(U,s_delay, target = src)) - U.drop_item() - CELL.loc = src - CELL.charge = min(CELL.charge+cell.charge, CELL.maxcharge) - var/obj/item/stock_parts/cell/old_cell = cell - old_cell.charge = 0 - U.put_in_hands(old_cell) - old_cell.add_fingerprint(U) - old_cell.corrupt() - old_cell.update_icon() - cell = CELL - to_chat(U, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%") - else - to_chat(U, "Procedure interrupted. Protocol terminated.") - return - - else if(istype(I, /obj/item/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit. - var/obj/item/disk/tech_disk/TD = I - var/has_research = 0 - for(var/V in TD.tech_stored) - if(V) - has_research = 1 - break - if(has_research)//If it has something on it. - to_chat(U, "Research information detected, processing...") - if(do_after(U,s_delay, target = src)) - for(var/V1 in 1 to TD.max_tech_stored) - var/datum/tech/new_data = TD.tech_stored[V1] - TD.tech_stored[V1] = null - if(!new_data) - continue - for(var/V2 in stored_research) - var/datum/tech/current_data = V2 - if(current_data.id == new_data.id) - current_data.level = max(current_data.level, new_data.level) - break - to_chat(U, "Data analyzed and updated. Disk erased.") - else - to_chat(U, "ERROR: Procedure interrupted. Process terminated.") + else if(istype(I, /obj/item/stock_parts/cell)) + var/obj/item/stock_parts/cell/CELL = I + if(CELL.maxcharge > cell.maxcharge && n_gloves && n_gloves.candrain) + to_chat(U, "Higher maximum capacity detected.\nUpgrading...") + if (n_gloves && n_gloves.candrain && do_after(U,s_delay, target = src)) + U.transferItemToLoc(CELL, src) + CELL.charge = min(CELL.charge+cell.charge, CELL.maxcharge) + var/obj/item/stock_parts/cell/old_cell = cell + old_cell.charge = 0 + U.put_in_hands(old_cell) + old_cell.add_fingerprint(U) + old_cell.corrupt() + old_cell.update_icon() + cell = CELL + to_chat(U, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%") else - I.loc = src - t_disk = I - to_chat(U, "You slot \the [I] into \the [src].") - return - ..() \ No newline at end of file + to_chat(U, "Procedure interrupted. Protocol terminated.") + return + + else if(istype(I, /obj/item/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit. + var/obj/item/disk/tech_disk/TD = I + var/has_research = FALSE + for(var/V in TD.tech_stored) + if(V) + has_research = TRUE + break + if(has_research)//If it has something on it. + to_chat(U, "Research information detected, processing...") + if(do_after(U,s_delay, target = src)) + for(var/V1 in 1 to TD.max_tech_stored) + var/datum/tech/new_data = TD.tech_stored[V1] + TD.tech_stored[V1] = null + if(!new_data) + continue + for(var/V2 in stored_research) + var/datum/tech/current_data = V2 + if(current_data.id == new_data.id) + current_data.level = max(current_data.level, new_data.level) + break + to_chat(U, "Data analyzed and updated. Disk erased.") + + else + to_chat(U, "ERROR: Procedure interrupted. Process terminated.") + else + to_chat(U, "No research information detected.") + return + return ..() diff --git a/code/modules/ninja/suit/suit_initialisation.dm b/code/modules/ninja/suit/suit_initialisation.dm index 5fb3fe8a62..0084ff1995 100644 --- a/code/modules/ninja/suit/suit_initialisation.dm +++ b/code/modules/ninja/suit/suit_initialisation.dm @@ -11,9 +11,6 @@ /obj/item/clothing/suit/space/space_ninja/proc/ninitialize(delay = s_delay, mob/living/carbon/human/U = loc) if(!U.mind) return //Not sure how this could happen. - if(!is_ninja(U)) - to_chat(U, "You do not understand how this suit functions. Where the heck did it even come from?") - return s_busy = TRUE to_chat(U, "Now initializing...") addtimer(CALLBACK(src, .proc/ninitialize_two, delay, U), delay) @@ -30,9 +27,10 @@ addtimer(CALLBACK(src, .proc/ninitialize_four, delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_four(delay, mob/living/carbon/human/U) - if(U.stat==2||U.health<=0) - to_chat(U, "FĆAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...") + if(U.stat == DEAD|| U.health <= 0) + to_chat(U, "FÄ?AL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...") unlock_suit() + s_busy = FALSE return lockIcons(U)//Check for icons. U.regenerate_icons() @@ -44,13 +42,12 @@ addtimer(CALLBACK(src, .proc/ninitialize_six, delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_six(delay, mob/living/carbon/human/U) - to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [cell.charge].") + to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [DisplayPower(cell.charge)].") addtimer(CALLBACK(src, .proc/ninitialize_seven, delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_seven(delay, mob/living/carbon/human/U) to_chat(U, "All systems operational. Welcome to SpiderOS, [U.real_name].") - grant_ninja_verbs() - grant_equip_verbs() + s_initialized = TRUE ntick() s_busy = FALSE @@ -66,7 +63,6 @@ /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_two(delay, mob/living/carbon/human/U) to_chat(U, "Now de-initializing...") - spideros = 0//Spideros resets. addtimer(CALLBACK(src, .proc/deinitialize_three, delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_three(delay, mob/living/carbon/human/U) @@ -92,6 +88,7 @@ /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_eight(delay, mob/living/carbon/human/U) to_chat(U, "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED.") - remove_equip_verbs() + unlock_suit() U.regenerate_icons() + s_initialized = FALSE s_busy = FALSE diff --git a/code/modules/paperwork/contract.dm.rej b/code/modules/paperwork/contract.dm.rej deleted file mode 100644 index 2cfb1cdcb1..0000000000 --- a/code/modules/paperwork/contract.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm (rejected hunks) -@@ -5,7 +5,7 @@ - throw_speed = 3 - var/signed = FALSE - var/datum/mind/target -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - - /obj/item/paper/contract/proc/update_text() - return diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index 541a49706a..2c704b8568 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -124,3 +124,5 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "cutterblade" item_state = "knife" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' diff --git a/code/modules/paperwork/paper_premade.dm.rej b/code/modules/paperwork/paper_premade.dm.rej deleted file mode 100644 index 2372bba734..0000000000 --- a/code/modules/paperwork/paper_premade.dm.rej +++ /dev/null @@ -1,23 +0,0 @@ -diff a/code/modules/paperwork/paper_premade.dm b/code/modules/paperwork/paper_premade.dm (rejected hunks) -@@ -91,18 +91,18 @@ - info = "...EMPTY HALLS...USELESS SPACE..." - - --/////////// Centcom -+/////////// CentCom - - /obj/item/paper/fluff/stations/centcom/disk_memo - name = "memo" - info = "GET DAT FUKKEN DISK" - - /obj/item/paper/fluff/stations/centcom/broken_evac -- info = "Due to circumstances beyond our control, your Emergency Evacuation Shuttle is out of service.

We apologize for the inconvenience this may cause you.

Please enjoy the use of this complementary book.

Sincerely,
Centcom Operations Demolitions Examination Retribution Bugfixing Underlining Services" -+ info = "Due to circumstances beyond our control, your Emergency Evacuation Shuttle is out of service.

We apologize for the inconvenience this may cause you.

Please enjoy the use of this complementary book.

Sincerely,
CentCom Operations Demolitions Examination Retribution Bugfixing Underlining Services" - - /obj/item/paper/fluff/stations/centcom/bulletin - name = "paper- 'Official Bulletin'" -- info = "
Centcom Security
Port Division
Official Bulletin

Inspector,
There is an emergency shuttle arriving today.

Approval is restricted to Nanotrasen employees only. Deny all other entrants.

Centcom Port Commissioner" -+ info = "
CentCom Security
Port Division
Official Bulletin

Inspector,
There is an emergency shuttle arriving today.

Approval is restricted to Nanotrasen employees only. Deny all other entrants.

CentCom Port Commissioner" - - - /////////// Lavaland diff --git a/code/modules/paperwork/pen.dm.rej b/code/modules/paperwork/pen.dm.rej deleted file mode 100644 index 0f04a96950..0000000000 --- a/code/modules/paperwork/pen.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm (rejected hunks) -@@ -168,7 +168,7 @@ - */ - /obj/item/pen/sleepy - origin_tech = "engineering=4;syndicate=2" -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - - - /obj/item/pen/sleepy/attack(mob/living/M, mob/user) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index f6b39514b2..57da035890 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -17,6 +17,8 @@ desc = "A camera film cartridge. Insert it into a camera to reload it." icon_state = "film" item_state = "electropack" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE diff --git a/code/modules/paperwork/photography.dm.rej b/code/modules/paperwork/photography.dm.rej deleted file mode 100644 index eb8210739b..0000000000 --- a/code/modules/paperwork/photography.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm (rejected hunks) -@@ -497,7 +497,7 @@ - desc = "The perfect showcase for your favorite deathtrap memories." - icon = 'icons/obj/decals.dmi' - materials = list() -- flags = 0 -+ flags_1 = 0 - icon_state = "frame-empty" - result_path = /obj/structure/sign/picture_frame - var/obj/item/photo/displayed diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 716c1b1f80..3b070f1384 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -120,8 +120,15 @@ if(auto_name) name = "\improper [get_area(src)] APC" - pixel_x = (src.tdir & 3)? 0 : (src.tdir == 4 ? 26 : -27) - pixel_y = (src.tdir & 3)? (src.tdir == 1 ? 25 : -25) : 0 + switch(tdir) + if(NORTH) + pixel_y = 23 + if(SOUTH) + pixel_y = -23 + if(EAST) + pixel_x = 24 + if(WEST) + pixel_x = -25 if (building) area = get_area(src) opened = 1 diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 8dd013facc..34635084dd 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -1,11 +1,11 @@ /obj/item/stock_parts/cell name = "power cell" - desc = "A rechargeable electrochemical power cell." + desc = "A rechargeable electrochemical power cell." icon = 'icons/obj/power.dmi' icon_state = "cell" item_state = "cell" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' origin_tech = "powerstorage=1" force = 5 throwforce = 5 @@ -156,7 +156,7 @@ /obj/item/stock_parts/cell/blob_act(obj/structure/blob/B) - ex_act(EXPLODE_DEVASTATE) + ex_act(EXPLODE_DEVASTATE) /obj/item/stock_parts/cell/proc/get_electrocute_damage() if(charge >= 1000) @@ -166,7 +166,7 @@ /* Cell variants*/ /obj/item/stock_parts/cell/crap - name = "\improper Nanotrasen brand rechargeable AA battery" + name = "\improper Nanotrasen brand rechargeable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT maxcharge = 500 materials = list(MAT_GLASS=40) @@ -176,8 +176,21 @@ ..() charge = 0 +/obj/item/stock_parts/cell/upgraded + name = "high-capacity power cell" + desc = "A power cell with a slightly higher capacity than normal!" + maxcharge = 2500 + materials = list(MAT_GLASS=50) + rating = 2 + chargerate = 1000 + +/obj/item/stock_parts/cell/upgraded/plus + name = "upgraded power cell+" + desc = "A power cell with an even higher capacity than the base model!" + maxcharge = 5000 + /obj/item/stock_parts/cell/secborg - name = "security borg rechargeable D battery" + name = "security borg rechargeable D battery" origin_tech = null maxcharge = 600 //600 max charge / 100 charge per shot = six shots materials = list(MAT_GLASS=40) @@ -249,7 +262,7 @@ /obj/item/stock_parts/cell/bluespace name = "bluespace power cell" - desc = "A rechargeable transdimensional power cell." + desc = "A rechargeable transdimensional power cell." origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4" icon_state = "bscell" maxcharge = 40000 @@ -289,7 +302,7 @@ /obj/item/stock_parts/cell/potato name = "potato battery" - desc = "A rechargeable starch based power cell." + desc = "A rechargeable starch based power cell." icon = 'icons/obj/hydroponics/harvest.dmi' icon_state = "potato" origin_tech = "powerstorage=1;biotech=1" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 8654953994..096c050fcc 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -588,6 +588,8 @@ icon_state = "lbulb" base_state = "lbulb" item_state = "contvapour" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' brightness = 4 /obj/item/light/throw_impact(atom/hit_atom) diff --git a/code/modules/power/singularity/emitter.dm.rej b/code/modules/power/singularity/emitter.dm.rej deleted file mode 100644 index 12ee0046bd..0000000000 --- a/code/modules/power/singularity/emitter.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm (rejected hunks) -@@ -445,8 +445,8 @@ - name = "turret controls" - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE -- flags = ABSTRACT | NODROP -- resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON -+ flags_1 = ABSTRACT_1 | NODROP_1 -+ resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON_1 - var/delay = 0 - - /obj/item/turret_control/afterattack(atom/targeted_atom, mob/user) diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm.rej b/code/modules/power/singularity/particle_accelerator/particle_control.dm.rej deleted file mode 100644 index c8e42a734f..0000000000 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm (rejected hunks) -@@ -17,7 +17,7 @@ - var/active = 0 - var/strength = 0 - var/powered = 0 -- mouse_opacity = 2 -+ mouse_opacity = MOUSE_OPACITY_OPAQUE - - /obj/machinery/particle_accelerator/control_box/Initialize() - . = ..() diff --git a/code/modules/power/supermatter/supermatter.dm.rej b/code/modules/power/supermatter/supermatter.dm.rej deleted file mode 100644 index 7360ec9fbb..0000000000 --- a/code/modules/power/supermatter/supermatter.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm (rejected hunks) -@@ -524,7 +524,7 @@ - R.receive_pulse(power * (1 + power_transmission_bonus)/10 * freon_transmit_modifier) - - /obj/machinery/power/supermatter_shard/attackby(obj/item/W, mob/living/user, params) -- if(!istype(W) || (W.flags & ABSTRACT) || !istype(user)) -+ if(!istype(W) || (W.flags_1 & ABSTRACT_1) || !istype(user)) - return - if(istype(W, /obj/item/scalpel/supermatter)) - playsound(src, W.usesound, 100, 1) diff --git a/code/modules/procedural_mapping/mapGenerators/shuttle.dm b/code/modules/procedural_mapping/mapGenerators/shuttle.dm index 7ce98040bb..ba877eeabb 100644 --- a/code/modules/procedural_mapping/mapGenerators/shuttle.dm +++ b/code/modules/procedural_mapping/mapGenerators/shuttle.dm @@ -3,7 +3,7 @@ /datum/mapGeneratorModule/border/shuttleWalls spawnableAtoms = list() - spawnableTurfs = list(/turf/closed/wall/shuttle = 100) + spawnableTurfs = list(/turf/closed/wall/mineral/titanium = 100) // Generators /datum/mapGenerator/shuttle/full diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index 52bff5129b..b73c1b7242 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -7,6 +7,8 @@ icon = 'icons/obj/guns/minigun.dmi' icon_state = "holstered" item_state = "backpack" + lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' slot_flags = SLOT_BACK w_class = WEIGHT_CLASS_HUGE var/obj/item/gun/ballistic/minigun/gun diff --git a/code/modules/projectiles/guns/beam_rifle.dm.rej b/code/modules/projectiles/guns/beam_rifle.dm.rej deleted file mode 100644 index ecc9695fda..0000000000 --- a/code/modules/projectiles/guns/beam_rifle.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/guns/beam_rifle.dm b/code/modules/projectiles/guns/beam_rifle.dm (rejected hunks) -@@ -715,7 +715,7 @@ - light_range = 2 - light_color = "#00ffff" - mouse_opacity = MOUSE_OPACITY_TRANSPARENT -- flags = ABSTRACT -+ flags_1 = ABSTRACT_1 - appearance_flags = 0 - - /obj/effect/projectile_beam/proc/scale_to(nx,ny,override=TRUE) diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index e13e1d5f0b..1ce94796fc 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -65,6 +65,9 @@ name = "\improper DRAGnet" desc = "The \"Dynamic Rapid-Apprehension of the Guilty\" net is a revolution in law enforcement technology." icon_state = "dragnet" + item_state = "dragnet" + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' origin_tech = "combat=4;magnets=3;bluespace=4" ammo_type = list(/obj/item/ammo_casing/energy/net, /obj/item/ammo_casing/energy/trap) can_flashlight = 0 diff --git a/code/modules/projectiles/guns/energy/pulse.dm.rej b/code/modules/projectiles/guns/energy/pulse.dm.rej deleted file mode 100644 index 1466e76076..0000000000 --- a/code/modules/projectiles/guns/energy/pulse.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm (rejected hunks) -@@ -6,7 +6,7 @@ - w_class = WEIGHT_CLASS_BULKY - force = 10 - modifystate = TRUE -- flags = CONDUCT -+ flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK - ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) - cell_type = "/obj/item/stock_parts/cell/pulse" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index fddf73dfbf..fa7540315e 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -1,290 +1,290 @@ -/obj/item/gun/energy/ionrifle - name = "ion rifle" - desc = "A man-portable anti-armor weapon designed to disable mechanical threats at range." - icon_state = "ionrifle" - item_state = null //so the human update icon uses the icon_state instead. - origin_tech = "combat=4;magnets=4" - can_flashlight = 1 - w_class = WEIGHT_CLASS_HUGE +/obj/item/gun/energy/ionrifle + name = "ion rifle" + desc = "A man-portable anti-armor weapon designed to disable mechanical threats at range." + icon_state = "ionrifle" + item_state = null //so the human update icon uses the icon_state instead. + origin_tech = "combat=4;magnets=4" + can_flashlight = 1 + w_class = WEIGHT_CLASS_HUGE flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK - ammo_type = list(/obj/item/ammo_casing/energy/ion) - ammo_x_offset = 3 - flight_x_offset = 17 - flight_y_offset = 9 - -/obj/item/gun/energy/ionrifle/emp_act(severity) - return - -/obj/item/gun/energy/ionrifle/carbine - name = "ion carbine" - desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient." - icon_state = "ioncarbine" - w_class = WEIGHT_CLASS_NORMAL - slot_flags = SLOT_BELT - pin = null - ammo_x_offset = 2 - flight_x_offset = 18 - flight_y_offset = 11 - -/obj/item/gun/energy/decloner - name = "biological demolecularisor" - desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." - icon_state = "decloner" - origin_tech = "combat=4;materials=4;biotech=5;plasmatech=6" - ammo_type = list(/obj/item/ammo_casing/energy/declone) - pin = null - ammo_x_offset = 1 - -/obj/item/gun/energy/decloner/update_icon() - ..() - var/obj/item/ammo_casing/energy/shot = ammo_type[select] - if(cell.charge > shot.e_cost) - add_overlay("decloner_spin") - -/obj/item/gun/energy/floragun - name = "floral somatoray" - desc = "A tool that discharges controlled radiation which induces mutation in plant cells." - icon_state = "flora" - item_state = "gun" - ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut) - origin_tech = "materials=2;biotech=4" - modifystate = 1 - ammo_x_offset = 1 - selfcharge = 1 - -/obj/item/gun/energy/meteorgun - name = "meteor gun" - desc = "For the love of god, make sure you're aiming this the right way!" - icon_state = "meteor_gun" - item_state = "c20r" - w_class = WEIGHT_CLASS_BULKY - ammo_type = list(/obj/item/ammo_casing/energy/meteor) - cell_type = "/obj/item/stock_parts/cell/potato" - clumsy_check = 0 //Admin spawn only, might as well let clowns use it. - selfcharge = 1 - -/obj/item/gun/energy/meteorgun/pen - name = "meteor pen" - desc = "The pen is mightier than the sword." - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "pen" - item_state = "pen" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - w_class = WEIGHT_CLASS_TINY - -/obj/item/gun/energy/mindflayer - name = "\improper Mind Flayer" - desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." - icon_state = "xray" - item_state = null - ammo_type = list(/obj/item/ammo_casing/energy/mindflayer) - ammo_x_offset = 2 - -/obj/item/gun/energy/kinetic_accelerator/crossbow - name = "mini energy crossbow" - desc = "A weapon favored by syndicate stealth specialists." - icon_state = "crossbow" - item_state = "crossbow" - w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=2000) - origin_tech = "combat=4;magnets=4;syndicate=5" - suppressed = 1 - ammo_type = list(/obj/item/ammo_casing/energy/bolt) - weapon_weight = WEAPON_LIGHT - unique_rename = 0 - overheat_time = 20 - holds_charge = TRUE - unique_frequency = TRUE - can_flashlight = 0 - max_mod_capacity = 0 - empty_state = null - -/obj/item/gun/energy/kinetic_accelerator/crossbow/halloween - name = "candy corn crossbow" - desc = "A weapon favored by Syndicate trick-or-treaters." - icon_state = "crossbow_halloween" - item_state = "crossbow" - ammo_type = list(/obj/item/ammo_casing/energy/bolt/halloween) - -/obj/item/gun/energy/kinetic_accelerator/crossbow/large - name = "energy crossbow" - desc = "A reverse engineered weapon using syndicate technology." - icon_state = "crossbowlarge" - w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=4000) - origin_tech = "combat=4;magnets=4;syndicate=2" - suppressed = 0 - ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) - pin = null - -/obj/item/gun/energy/plasmacutter - name = "plasma cutter" - desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off xenos! Or, you know, mine stuff." - icon_state = "plasmacutter" - item_state = "plasmacutter" - origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1" - ammo_type = list(/obj/item/ammo_casing/energy/plasma) + slot_flags = SLOT_BACK + ammo_type = list(/obj/item/ammo_casing/energy/ion) + ammo_x_offset = 3 + flight_x_offset = 17 + flight_y_offset = 9 + +/obj/item/gun/energy/ionrifle/emp_act(severity) + return + +/obj/item/gun/energy/ionrifle/carbine + name = "ion carbine" + desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient." + icon_state = "ioncarbine" + w_class = WEIGHT_CLASS_NORMAL + slot_flags = SLOT_BELT + pin = null + ammo_x_offset = 2 + flight_x_offset = 18 + flight_y_offset = 11 + +/obj/item/gun/energy/decloner + name = "biological demolecularisor" + desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." + icon_state = "decloner" + origin_tech = "combat=4;materials=4;biotech=5;plasmatech=6" + ammo_type = list(/obj/item/ammo_casing/energy/declone) + pin = null + ammo_x_offset = 1 + +/obj/item/gun/energy/decloner/update_icon() + ..() + var/obj/item/ammo_casing/energy/shot = ammo_type[select] + if(cell.charge > shot.e_cost) + add_overlay("decloner_spin") + +/obj/item/gun/energy/floragun + name = "floral somatoray" + desc = "A tool that discharges controlled radiation which induces mutation in plant cells." + icon_state = "flora" + item_state = "gun" + ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut) + origin_tech = "materials=2;biotech=4" + modifystate = 1 + ammo_x_offset = 1 + selfcharge = 1 + +/obj/item/gun/energy/meteorgun + name = "meteor gun" + desc = "For the love of god, make sure you're aiming this the right way!" + icon_state = "meteor_gun" + item_state = "c20r" + w_class = WEIGHT_CLASS_BULKY + ammo_type = list(/obj/item/ammo_casing/energy/meteor) + cell_type = "/obj/item/stock_parts/cell/potato" + clumsy_check = 0 //Admin spawn only, might as well let clowns use it. + selfcharge = 1 + +/obj/item/gun/energy/meteorgun/pen + name = "meteor pen" + desc = "The pen is mightier than the sword." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "pen" + item_state = "pen" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + w_class = WEIGHT_CLASS_TINY + +/obj/item/gun/energy/mindflayer + name = "\improper Mind Flayer" + desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." + icon_state = "xray" + item_state = null + ammo_type = list(/obj/item/ammo_casing/energy/mindflayer) + ammo_x_offset = 2 + +/obj/item/gun/energy/kinetic_accelerator/crossbow + name = "mini energy crossbow" + desc = "A weapon favored by syndicate stealth specialists." + icon_state = "crossbow" + item_state = "crossbow" + w_class = WEIGHT_CLASS_SMALL + materials = list(MAT_METAL=2000) + origin_tech = "combat=4;magnets=4;syndicate=5" + suppressed = 1 + ammo_type = list(/obj/item/ammo_casing/energy/bolt) + weapon_weight = WEAPON_LIGHT + unique_rename = 0 + overheat_time = 20 + holds_charge = TRUE + unique_frequency = TRUE + can_flashlight = 0 + max_mod_capacity = 0 + empty_state = null + +/obj/item/gun/energy/kinetic_accelerator/crossbow/halloween + name = "candy corn crossbow" + desc = "A weapon favored by Syndicate trick-or-treaters." + icon_state = "crossbow_halloween" + item_state = "crossbow" + ammo_type = list(/obj/item/ammo_casing/energy/bolt/halloween) + +/obj/item/gun/energy/kinetic_accelerator/crossbow/large + name = "energy crossbow" + desc = "A reverse engineered weapon using syndicate technology." + icon_state = "crossbowlarge" + w_class = WEIGHT_CLASS_NORMAL + materials = list(MAT_METAL=4000) + origin_tech = "combat=4;magnets=4;syndicate=2" + suppressed = 0 + ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) + pin = null + +/obj/item/gun/energy/plasmacutter + name = "plasma cutter" + desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off xenos! Or, you know, mine stuff." + icon_state = "plasmacutter" + item_state = "plasmacutter" + origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1" + ammo_type = list(/obj/item/ammo_casing/energy/plasma) flags_1 = CONDUCT_1 container_type = OPENCONTAINER_1 - attack_verb = list("attacked", "slashed", "cut", "sliced") - force = 12 - sharpness = IS_SHARP - can_charge = 0 - heat = 3800 - toolspeed = 0.7 //plasmacutters can be used as welders for a few things, and are faster than standard welders - -/obj/item/gun/energy/plasmacutter/examine(mob/user) - ..() - if(cell) - to_chat(user, "[src] is [round(cell.percent())]% charged.") - -/obj/item/gun/energy/plasmacutter/attackby(obj/item/A, mob/user) - if(istype(A, /obj/item/stack/sheet/mineral/plasma)) - var/obj/item/stack/sheet/S = A - S.use(1) - cell.give(1000) - recharge_newshot(1) - to_chat(user, "You insert [A] in [src], recharging it.") - else if(istype(A, /obj/item/ore/plasma)) - qdel(A) - cell.give(500) - recharge_newshot(1) - to_chat(user, "You insert [A] in [src], recharging it.") - else - ..() - -/obj/item/gun/energy/plasmacutter/update_icon() - return - -/obj/item/gun/energy/plasmacutter/adv - name = "advanced plasma cutter" - icon_state = "adv_plasmacutter" - origin_tech = "combat=3;materials=4;magnets=3;plasmatech=4;engineering=2" - force = 15 - ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) - -/obj/item/gun/energy/wormhole_projector - name = "bluespace wormhole projector" - desc = "A projector that emits high density quantum-coupled bluespace beams." - ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) - item_state = null - icon_state = "wormhole_projector" - origin_tech = "combat=4;bluespace=6;plasmatech=4;engineering=4" - var/obj/effect/portal/p_blue - var/obj/effect/portal/p_orange - -/obj/item/gun/energy/wormhole_projector/update_icon() - icon_state = "[initial(icon_state)][select]" - item_state = icon_state - return - -/obj/item/gun/energy/wormhole_projector/process_chamber() - ..() - select_fire() - -/obj/item/gun/energy/wormhole_projector/proc/on_portal_destroy(obj/effect/portal/P) - if(P == p_blue) - p_blue = null - else if(P == p_orange) - p_orange = null - -/obj/item/gun/energy/wormhole_projector/proc/has_blue_portal() - if(istype(p_blue) && !QDELETED(p_blue)) - return TRUE - return FALSE - -/obj/item/gun/energy/wormhole_projector/proc/has_orange_portal() - if(istype(p_orange) && !QDELETED(p_orange)) - return TRUE - return FALSE - -/obj/item/gun/energy/wormhole_projector/proc/crosslink() - if(!has_blue_portal() && !has_orange_portal()) - return - if(!has_blue_portal() && has_orange_portal()) - p_orange.link_portal(null) - return - if(!has_orange_portal() && has_blue_portal()) - p_blue.link_portal(null) - return - p_orange.link_portal(p_blue) - p_blue.link_portal(p_orange) - -/obj/item/gun/energy/wormhole_projector/proc/create_portal(obj/item/projectile/beam/wormhole/W, turf/target) - var/obj/effect/portal/P = new /obj/effect/portal(target, src, 300, null, FALSE, null) - if(istype(W, /obj/item/projectile/beam/wormhole/orange)) - qdel(p_orange) - p_orange = P - P.icon_state = "portal1" - else - qdel(p_blue) - p_blue = P - crosslink() - -/* 3d printer 'pseudo guns' for borgs */ - -/obj/item/gun/energy/printer - name = "cyborg lmg" - desc = "A machinegun that fires 3d-printed flechettes slowly regenerated using a cyborg's internal power source." - icon_state = "l6closed0" - icon = 'icons/obj/guns/projectile.dmi' - cell_type = "/obj/item/stock_parts/cell/secborg" - ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet) - can_charge = 0 - use_cyborg_cell = 1 - -/obj/item/gun/energy/printer/update_icon() - return - -/obj/item/gun/energy/printer/emp_act() - return - -/obj/item/gun/energy/temperature - name = "temperature gun" - icon_state = "freezegun" - desc = "A gun that changes temperatures." - origin_tech = "combat=4;materials=4;powerstorage=3;magnets=2" - ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot) - cell_type = "/obj/item/stock_parts/cell/high" - pin = null - -/obj/item/gun/energy/temperature/security - name = "security temperature gun" - desc = "A weapon that can only be used to its full potential by the truly robust." - origin_tech = "combat=2;materials=2;powerstorage=1;magnets=1" - pin = /obj/item/device/firing_pin - -/obj/item/gun/energy/laser/instakill - name = "instakill rifle" - icon_state = "instagib" - item_state = "instagib" - desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit." - ammo_type = list(/obj/item/ammo_casing/energy/instakill) - force = 60 - origin_tech = "combat=7;magnets=6" - -/obj/item/gun/energy/laser/instakill/red - desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a red design." - icon_state = "instagibred" - item_state = "instagibred" - ammo_type = list(/obj/item/ammo_casing/energy/instakill/red) - -/obj/item/gun/energy/laser/instakill/blue - desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a blue design." - icon_state = "instagibblue" - item_state = "instagibblue" - ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue) - -/obj/item/gun/energy/laser/instakill/emp_act() //implying you could stop the instagib - return - -/obj/item/gun/energy/gravity_gun - name = "one-point bluespace-gravitational manipulator" - desc = "An experimental, multi-mode device that fires bolts of Zero-Point Energy, causing local distortions in gravity." - ammo_type = list(/obj/item/ammo_casing/energy/gravityrepulse, /obj/item/ammo_casing/energy/gravityattract, /obj/item/ammo_casing/energy/gravitychaos) - origin_tech = "combat=4;magnets=4;materials=6;powerstorage=4;bluespace=4" - item_state = null - icon_state = "gravity_gun" - var/power = 4 + attack_verb = list("attacked", "slashed", "cut", "sliced") + force = 12 + sharpness = IS_SHARP + can_charge = 0 + heat = 3800 + toolspeed = 0.7 //plasmacutters can be used as welders for a few things, and are faster than standard welders + +/obj/item/gun/energy/plasmacutter/examine(mob/user) + ..() + if(cell) + to_chat(user, "[src] is [round(cell.percent())]% charged.") + +/obj/item/gun/energy/plasmacutter/attackby(obj/item/A, mob/user) + if(istype(A, /obj/item/stack/sheet/mineral/plasma)) + var/obj/item/stack/sheet/S = A + S.use(1) + cell.give(1000) + recharge_newshot(1) + to_chat(user, "You insert [A] in [src], recharging it.") + else if(istype(A, /obj/item/ore/plasma)) + qdel(A) + cell.give(500) + recharge_newshot(1) + to_chat(user, "You insert [A] in [src], recharging it.") + else + ..() + +/obj/item/gun/energy/plasmacutter/update_icon() + return + +/obj/item/gun/energy/plasmacutter/adv + name = "advanced plasma cutter" + icon_state = "adv_plasmacutter" + origin_tech = "combat=3;materials=4;magnets=3;plasmatech=4;engineering=2" + force = 15 + ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) + +/obj/item/gun/energy/wormhole_projector + name = "bluespace wormhole projector" + desc = "A projector that emits high density quantum-coupled bluespace beams." + ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) + item_state = null + icon_state = "wormhole_projector" + origin_tech = "combat=4;bluespace=6;plasmatech=4;engineering=4" + var/obj/effect/portal/p_blue + var/obj/effect/portal/p_orange + +/obj/item/gun/energy/wormhole_projector/update_icon() + icon_state = "[initial(icon_state)][select]" + item_state = icon_state + return + +/obj/item/gun/energy/wormhole_projector/process_chamber() + ..() + select_fire() + +/obj/item/gun/energy/wormhole_projector/proc/on_portal_destroy(obj/effect/portal/P) + if(P == p_blue) + p_blue = null + else if(P == p_orange) + p_orange = null + +/obj/item/gun/energy/wormhole_projector/proc/has_blue_portal() + if(istype(p_blue) && !QDELETED(p_blue)) + return TRUE + return FALSE + +/obj/item/gun/energy/wormhole_projector/proc/has_orange_portal() + if(istype(p_orange) && !QDELETED(p_orange)) + return TRUE + return FALSE + +/obj/item/gun/energy/wormhole_projector/proc/crosslink() + if(!has_blue_portal() && !has_orange_portal()) + return + if(!has_blue_portal() && has_orange_portal()) + p_orange.link_portal(null) + return + if(!has_orange_portal() && has_blue_portal()) + p_blue.link_portal(null) + return + p_orange.link_portal(p_blue) + p_blue.link_portal(p_orange) + +/obj/item/gun/energy/wormhole_projector/proc/create_portal(obj/item/projectile/beam/wormhole/W, turf/target) + var/obj/effect/portal/P = new /obj/effect/portal(target, src, 300, null, FALSE, null) + if(istype(W, /obj/item/projectile/beam/wormhole/orange)) + qdel(p_orange) + p_orange = P + P.icon_state = "portal1" + else + qdel(p_blue) + p_blue = P + crosslink() + +/* 3d printer 'pseudo guns' for borgs */ + +/obj/item/gun/energy/printer + name = "cyborg lmg" + desc = "A machinegun that fires 3d-printed flechettes slowly regenerated using a cyborg's internal power source." + icon_state = "l6closed0" + icon = 'icons/obj/guns/projectile.dmi' + cell_type = "/obj/item/stock_parts/cell/secborg" + ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet) + can_charge = 0 + use_cyborg_cell = 1 + +/obj/item/gun/energy/printer/update_icon() + return + +/obj/item/gun/energy/printer/emp_act() + return + +/obj/item/gun/energy/temperature + name = "temperature gun" + icon_state = "freezegun" + desc = "A gun that changes temperatures." + origin_tech = "combat=4;materials=4;powerstorage=3;magnets=2" + ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot) + cell_type = "/obj/item/stock_parts/cell/high" + pin = null + +/obj/item/gun/energy/temperature/security + name = "security temperature gun" + desc = "A weapon that can only be used to its full potential by the truly robust." + origin_tech = "combat=2;materials=2;powerstorage=1;magnets=1" + pin = /obj/item/device/firing_pin + +/obj/item/gun/energy/laser/instakill + name = "instakill rifle" + icon_state = "instagib" + item_state = "instagib" + desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit." + ammo_type = list(/obj/item/ammo_casing/energy/instakill) + force = 60 + origin_tech = "combat=7;magnets=6" + +/obj/item/gun/energy/laser/instakill/red + desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a red design." + icon_state = "instagibred" + item_state = "instagibred" + ammo_type = list(/obj/item/ammo_casing/energy/instakill/red) + +/obj/item/gun/energy/laser/instakill/blue + desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a blue design." + icon_state = "instagibblue" + item_state = "instagibblue" + ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue) + +/obj/item/gun/energy/laser/instakill/emp_act() //implying you could stop the instagib + return + +/obj/item/gun/energy/gravity_gun + name = "one-point bluespace-gravitational manipulator" + desc = "An experimental, multi-mode device that fires bolts of Zero-Point Energy, causing local distortions in gravity." + ammo_type = list(/obj/item/ammo_casing/energy/gravityrepulse, /obj/item/ammo_casing/energy/gravityattract, /obj/item/ammo_casing/energy/gravitychaos) + origin_tech = "combat=4;magnets=4;materials=6;powerstorage=4;bluespace=4" + item_state = "gravity_gun" + icon_state = "gravity_gun" + var/power = 4 diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 8e97a3d7a9..f419374857 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -4,6 +4,8 @@ icon = 'icons/obj/guns/magic.dmi' icon_state = "staffofnothing" item_state = "staff" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' fire_sound = 'sound/weapons/emitter.ogg' flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_HUGE diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index bb770e0598..c94deefd08 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -101,7 +101,7 @@ qdel(dummy) return 0 for(var/obj/effect/ebeam/medical/B in turf)// Don't cross the str-beams! - if(B.owner != current_beam) + if(B.owner.origin != current_beam.origin) explosion(B.loc,0,3,5,8) qdel(dummy) return 0 diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 232cb5987e..75066540cf 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -8,7 +8,6 @@ flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY attack_verb = list("poked") - var/emagged = FALSE var/fail_message = "INVALID USER." var/selfdestruct = 0 // Explode when user check is failed. var/force_replace = 0 // Can forcefully replace other pins. diff --git a/code/modules/projectiles/projectile.dm.rej b/code/modules/projectiles/projectile.dm.rej deleted file mode 100644 index 9c9e12e95a..0000000000 --- a/code/modules/projectiles/projectile.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm (rejected hunks) -@@ -4,7 +4,7 @@ - icon_state = "bullet" - density = FALSE - anchored = TRUE -- flags = ABSTRACT -+ flags_1 = ABSTRACT_1 - pass_flags = PASSTABLE - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - hitsound = 'sound/weapons/pierce.ogg' diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 12ced0ed74..27284a1712 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -165,7 +165,7 @@ if("animal") var/path if(prob(50)) - var/beast = pick("carp","bear","mushroom","statue", "bat", "goat","killertomato", "spiderbase", "spiderhunter", "blobbernaut", "magicarp", "chaosmagicarp", "watcher", "goliath", "headcrab", "morph", "stickman", "stickdog", "lesserdragon") + var/beast = pick("carp","bear","mushroom","statue", "bat", "goat","killertomato", "spiderbase", "spiderhunter", "blobbernaut", "magicarp", "chaosmagicarp", "watcher", "goliath", "headcrab", "morph", "stickman", "stickdog", "lesserdragon", "gorilla") switch(beast) if("carp") path = /mob/living/simple_animal/hostile/carp @@ -205,6 +205,8 @@ path = /mob/living/simple_animal/hostile/stickman/dog if("lesserdragon") path = /mob/living/simple_animal/hostile/megafauna/dragon/lesser + if("gorilla") + path = /mob/living/simple_animal/hostile/gorilla else var/animal = pick("parrot","corgi","crab","pug","cat","mouse","chicken","cow","lizard","chick","fox","butterfly","cak") switch(animal) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index d2a3a24886..538ae996ea 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -75,9 +75,9 @@ /obj/machinery/chem_dispenser/emag_act(mob/user) if(emagged) - to_chat(user, "\The [src] has no functional safeties to emag.") + to_chat(user, "[src] has no functional safeties to emag.") return - to_chat(user, "You short out \the [src]'s safeties.") + to_chat(user, "You short out [src]'s safeties.") dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones emagged = TRUE @@ -182,21 +182,20 @@ var/obj/item/reagent_containers/B = I . = 1 //no afterattack if(beaker) - to_chat(user, "A container is already loaded into the machine!") + to_chat(user, "A container is already loaded into [src]!") return - if(!user.drop_item()) // Can't let go? + if(!user.transferItemToLoc(B, src)) return beaker = B - beaker.loc = src - to_chat(user, "You add \the [B] to the machine.") + to_chat(user, "You add [B] to [src].") beaker_overlay = beaker_overlay || mutable_appearance(icon, "disp_beaker") beaker_overlay.pixel_x = rand(-10, 5)//randomize beaker overlay position. add_overlay(beaker_overlay) else if(user.a_intent != INTENT_HARM && !istype(I, /obj/item/card/emag)) - to_chat(user, "You can't load \the [I] into the machine!") + to_chat(user, "You can't load [I] into [src]!") return ..() else return ..() @@ -227,10 +226,10 @@ icon_state = "minidispenser" powerefficiency = 0.001 amount = 5 - recharge_delay = 30 + recharge_delay = 20 dispensable_reagents = list() circuit = /obj/item/circuitboard/machine/chem_dispenser - var/list/dispensable_reagent_tiers = list( + var/static/list/dispensable_reagent_tiers = list( list( "hydrogen", "oxygen", @@ -282,7 +281,7 @@ time += M.rating for(var/obj/item/stock_parts/capacitor/C in component_parts) time += C.rating - recharge_delay /= time/2 //delay between recharges, double the usual time on lowest 50% less than usual on highest + recharge_delay = 30/(time/2) //delay between recharges, double the usual time on lowest 50% less than usual on highest for(var/obj/item/stock_parts/manipulator/M in component_parts) for(i=1, i<=M.rating, i++) dispensable_reagents |= dispensable_reagent_tiers[i] diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm.rej b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm.rej deleted file mode 100644 index 8803fd1086..0000000000 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm (rejected hunks) -@@ -178,7 +178,7 @@ - if(default_unfasten_wrench(user, I)) - return - -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - var/obj/item/reagent_containers/B = I - . = 1 //no afterattack - if(beaker) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm.rej b/code/modules/reagents/chemistry/machinery/chem_heater.dm.rej deleted file mode 100644 index d60e535a87..0000000000 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm (rejected hunks) -@@ -42,7 +42,7 @@ - if(default_deconstruction_crowbar(I)) - return - -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - . = 1 //no afterattack - if(beaker) - to_chat(user, "A beaker is already loaded into the machine!") diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm.rej b/code/modules/reagents/chemistry/machinery/chem_master.dm.rej deleted file mode 100644 index cd3de881dc..0000000000 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm (rejected hunks) -@@ -79,7 +79,7 @@ - if(default_unfasten_wrench(user, I)) - return - -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - . = 1 // no afterattack - if(panel_open) - to_chat(user, "You can't use the [src.name] while its panel is opened!") diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index fa31fb8ec1..64f0eae564 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -1,3 +1,6 @@ +#define MAIN_SCREEN 1 +#define SYMPTOM_DETAILS 2 + /obj/machinery/computer/pandemic name = "PanD.E.M.I.C 2200" desc = "Used to work with viruses." @@ -10,6 +13,8 @@ idle_power_usage = 20 resistance_flags = ACID_PROOF var/wait + var/mode = MAIN_SCREEN + var/datum/symptom/selected_symptom var/obj/item/reagent_containers/beaker /obj/machinery/computer/pandemic/Initialize() @@ -34,9 +39,7 @@ /obj/machinery/computer/pandemic/proc/get_viruses_data(datum/reagent/blood/B) . = list() - if(!islist(B.data["viruses"])) - return - var/list/V = B.data["viruses"] + var/list/V = B.get_diseases() var/index = 1 for(var/virus in V) var/datum/disease/D = virus @@ -47,21 +50,24 @@ this["name"] = D.name if(istype(D, /datum/disease/advance)) var/datum/disease/advance/A = D - var/datum/disease/advance/archived = SSdisease.archive_diseases[D.GetDiseaseID()] - if(archived.name == "Unknown") + var/disease_name = SSdisease.get_disease_name(A.GetDiseaseID()) + if(disease_name == "Unknown") this["can_rename"] = TRUE - this["name"] = archived.name + this["name"] = disease_name this["is_adv"] = TRUE - this["resistance"] = A.totalResistance() - this["stealth"] = A.totalStealth() - this["stage_speed"] = A.totalStageSpeed() - this["transmission"] = A.totalTransmittable() this["symptoms"] = list() + var/symptom_index = 1 for(var/symptom in A.symptoms) var/datum/symptom/S = symptom var/list/this_symptom = list() this_symptom["name"] = S.name + this_symptom["sym_index"] = symptom_index + symptom_index++ this["symptoms"] += list(this_symptom) + this["resistance"] = A.totalResistance() + this["stealth"] = A.totalStealth() + this["stage_speed"] = A.totalStageSpeed() + this["transmission"] = A.totalTransmittable() this["index"] = index++ this["agent"] = D.agent this["description"] = D.desc || "none" @@ -70,6 +76,20 @@ . += list(this) +/obj/machinery/computer/pandemic/proc/get_symptom_data(datum/symptom/S) + . = list() + var/list/this = list() + this["name"] = S.name + this["desc"] = S.desc + this["stealth"] = S.stealth + this["resistance"] = S.resistance + this["stage_speed"] = S.stage_speed + this["transmission"] = S.transmittable + this["level"] = S.level + this["neutered"] = S.neutered + this["threshold_desc"] = S.threshold_desc + . += this + /obj/machinery/computer/pandemic/proc/get_resistance_data(datum/reagent/blood/B) . = list() if(!islist(B.data["resistances"])) @@ -81,6 +101,7 @@ if(D) this["id"] = id this["name"] = D.name + . += list(this) /obj/machinery/computer/pandemic/proc/reset_replicator_cooldown() @@ -113,18 +134,23 @@ /obj/machinery/computer/pandemic/ui_data(mob/user) var/list/data = list() data["is_ready"] = !wait - if(beaker) - data["has_beaker"] = TRUE - if(!beaker.reagents.total_volume || !beaker.reagents.reagent_list) - data["beaker_empty"] = TRUE - var/datum/reagent/blood/B = locate() in beaker.reagents.reagent_list - if(B) - data["has_blood"] = TRUE - data["blood"] = list() - data["blood"]["dna"] = B.data["blood_DNA"] || "none" - data["blood"]["type"] = B.data["blood_type"] || "none" - data["viruses"] = get_viruses_data(B) - data["resistances"] = get_resistance_data(B) + data["mode"] = mode + switch(mode) + if(MAIN_SCREEN) + if(beaker) + data["has_beaker"] = TRUE + if(!beaker.reagents.total_volume || !beaker.reagents.reagent_list) + data["beaker_empty"] = TRUE + var/datum/reagent/blood/B = locate() in beaker.reagents.reagent_list + if(B) + data["has_blood"] = TRUE + data["blood"] = list() + data["blood"]["dna"] = B.data["blood_DNA"] || "none" + data["blood"]["type"] = B.data["blood_type"] || "none" + data["viruses"] = get_viruses_data(B) + data["resistances"] = get_resistance_data(B) + if(SYMPTOM_DETAILS) + data["symptom"] = get_symptom_data(selected_symptom) return data @@ -166,8 +192,8 @@ addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) . = TRUE if("create_vaccine_bottle") - var/index = params["index"] - var/datum/disease/D = SSdisease.archive_diseases[index] + var/index = text2num(params["index"]) + var/datum/disease/D = SSdisease.archive_diseases[get_virus_id_by_index(index)] var/obj/item/reagent_containers/glass/bottle/B = new(get_turf(src)) B.name = "[D.name] vaccine bottle" B.reagents.add_reagent("vaccine", 15, list(index)) @@ -175,6 +201,19 @@ update_icon() addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 200) . = TRUE + if("symptom_details") + var/picked_symptom_index = text2num(params["picked_symptom"]) + var/index = text2num(params["index"]) + var/datum/disease/advance/A = get_by_index("viruses", index) + var/datum/symptom/S = A.symptoms[picked_symptom_index] + mode = SYMPTOM_DETAILS + selected_symptom = S + . = TRUE + if("back") + mode = MAIN_SCREEN + selected_symptom = null + . = TRUE + /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) @@ -182,14 +221,13 @@ if(stat & (NOPOWER|BROKEN)) return if(beaker) - to_chat(user, "A beaker is already loaded into the machine!") + to_chat(user, "A container is already loaded into [src]!") return - if(!user.drop_item()) + if(!user.transferItemToLoc(I, src)) return beaker = I - beaker.forceMove(src) - to_chat(user, "You add the beaker to the machine.") + to_chat(user, "You insert [I] into [src].") update_icon() else return ..() diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm.rej b/code/modules/reagents/chemistry/machinery/pandemic.dm.rej deleted file mode 100644 index 4aa7a64767..0000000000 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm (rejected hunks) -@@ -177,7 +177,7 @@ - . = TRUE - - /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - . = TRUE //no afterattack - if(stat & (NOPOWER|BROKEN)) - return diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm.rej b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm.rej deleted file mode 100644 index 41ecfa55e8..0000000000 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm (rejected hunks) -@@ -116,7 +116,7 @@ - if(default_unfasten_wrench(user, I)) - return - -- if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER) ) -+ if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1) ) - if (!beaker) - if(!user.drop_item()) - return 1 diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 3247b273ae..ffc24882fd 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -62,6 +62,13 @@ data["viruses"] = preserve return 1 +/datum/reagent/blood/proc/get_diseases() + . = list() + if(data && data["viruses"]) + for(var/thing in data["viruses"]) + var/datum/disease/D = thing + . += D + /datum/reagent/blood/reaction_turf(turf/T, reac_volume)//splash the blood all over the place if(!istype(T)) return @@ -1079,6 +1086,14 @@ color = "#664B63" // rgb: 102, 75, 99 taste_description = "metal" +/datum/reagent/smart_foaming_agent //Smart foaming agent. Functions similarly to metal foam, but conforms to walls. + name = "Smart foaming agent" + id = "smart_foaming_agent" + description = "A agent that yields metallic foam which conforms to area boundaries when mixed with light metal and a strong acid." + reagent_state = SOLID + color = "#664B63" // rgb: 102, 75, 99 + taste_description = "metal" + /datum/reagent/ammonia name = "Ammonia" id = "ammonia" @@ -1558,6 +1573,18 @@ ZI.Insert(H) ..() +/datum/reagent/magillitis + name = "Magillitis" + id = "magillitis" + description = "An experimental serum which causes rapid muscular growth in basic primates. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." + reagent_state = LIQUID + color = "#00f041" + +/datum/reagent/magillitis/on_mob_life(mob/living/carbon/M) + ..() + if(ismonkey(M) && current_cycle >= 10) + return M.gorillize() + /datum/reagent/growthserum name = "Growth Serum" id = "growthserum" diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 5eb034d604..36320459e8 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -106,6 +106,11 @@ metabolization_rate = 0.05 taste_description = "salt" +/datum/reagent/blackpowder/on_mob_life(mob/living/M) + ..() + if(isplasmaman(M)) + M.hallucination += 10 + /datum/reagent/blackpowder/on_ex_act() var/location = get_turf(holder.my_atom) var/datum/effect_system/reagents_explosion/e = new() diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 173bcbcacc..222f88ba8b 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -466,6 +466,20 @@ s.start() holder.clear_reagents() +/datum/chemical_reaction/smart_foam + name = "Smart Metal Foam" + id = "smart_metal_foam" + required_reagents = list("aluminium" = 3, "smart_foaming_agent" = 1, "facid" = 1) + mob_react = TRUE + +/datum/chemical_reaction/smart_foam/on_reaction(datum/reagents/holder, created_volume) + var/turf/location = get_turf(holder.my_atom) + location.visible_message("The solution spews out metallic foam!") + var/datum/effect_system/foam_spread/metal/smart/s = new() + s.set_up(created_volume * 5, location, holder, TRUE) + s.start() + holder.clear_reagents() + /datum/chemical_reaction/ironfoam name = "Iron Foam" id = "ironlfoam" @@ -487,6 +501,13 @@ results = list("foaming_agent" = 1) required_reagents = list("lithium" = 1, "hydrogen" = 1) +/datum/chemical_reaction/smart_foaming_agent + name = "Smart foaming Agent" + id = "smart_foaming_agent" + results = list("smart_foaming_agent" = 3) + required_reagents = list("foaming_agent" = 3, "acetone" = 1, "iron" = 1) + mix_message = "The solution mixes into a frothy metal foam and conforms to the walls of its container." + /////////////////////////////// Cleaning and hydroponics ///////////////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index b1b5b2939e..2fd728d546 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -162,6 +162,12 @@ icon_state = "bottle16" list_reagents = list("polonium" = 30) +/obj/item/reagent_containers/glass/bottle/magillitis + name = "magillitis bottle" + desc = "A small bottle. Contains a serum known only as 'magillitis'." + icon_state = "bottle16" + list_reagents = list("magillitis" = 5) + /obj/item/reagent_containers/glass/bottle/venom name = "venom bottle" desc = "A small bottle. Contains Venom." @@ -270,11 +276,11 @@ icon_state = "bottle3" spawned_disease = /datum/disease/advance/heal -/obj/item/reagent_containers/glass/bottle/hullucigen_virion - name = "Hullucigen virion culture bottle" - desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." +/obj/item/reagent_containers/glass/bottle/hallucigen_virion + name = "Hallucigen virion culture bottle" + desc = "A small bottle. Contains hallucigen virion culture in synthblood medium." icon_state = "bottle3" - spawned_disease = /datum/disease/advance/hullucigen + spawned_disease = /datum/disease/advance/hallucigen /obj/item/reagent_containers/glass/bottle/pierrot_throat name = "Pierrot's Throat culture bottle" diff --git a/code/modules/reagents/reagent_containers/dropper.dm.rej b/code/modules/reagents/reagent_containers/dropper.dm.rej deleted file mode 100644 index 672eff145d..0000000000 --- a/code/modules/reagents/reagent_containers/dropper.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm (rejected hunks) -@@ -6,7 +6,7 @@ - amount_per_transfer_from_this = 5 - possible_transfer_amounts = list(1, 2, 3, 4, 5) - volume = 5 -- container_type = TRANSPARENT -+ container_type = TRANSPARENT_1 - - /obj/item/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity) - if(!proximity) return diff --git a/code/modules/reagents/reagent_containers/glass.dm.rej b/code/modules/reagents/reagent_containers/glass.dm.rej deleted file mode 100644 index fe8fd55da1..0000000000 --- a/code/modules/reagents/reagent_containers/glass.dm.rej +++ /dev/null @@ -1,28 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm (rejected hunks) -@@ -169,7 +169,7 @@ - volume = 100 - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,50,100) -- flags = OPENCONTAINER -+ flags_1 = OPENCONTAINER_1 - - /obj/item/reagent_containers/glass/beaker/noreact - name = "cryostasis beaker" -@@ -180,7 +180,7 @@ - volume = 50 - amount_per_transfer_from_this = 10 - origin_tech = "materials=2;engineering=3;plasmatech=3" -- flags = OPENCONTAINER -+ flags_1 = OPENCONTAINER_1 - - /obj/item/reagent_containers/glass/beaker/noreact/Initialize() - . = ..() -@@ -196,7 +196,7 @@ - volume = 300 - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) -- flags = OPENCONTAINER -+ flags_1 = OPENCONTAINER_1 - origin_tech = "bluespace=5;materials=4;plasmatech=4" - - /obj/item/reagent_containers/glass/beaker/cryoxadone diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 74de184958..ec34bf833f 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -65,6 +65,14 @@ volume = 100 list_reagents = list("nanites" = 80, "synaptizine" = 20) +/obj/item/reagent_containers/hypospray/magillitis + name = "experimental autoinjector" + desc = "A modified air-needle autoinjector with a small single-use reservoir. It contains an experimental serum." + icon_state = "combat_hypo" + volume = 5 + container_type = NONE + list_reagents = list("magillitis" = 5) + //MediPens /obj/item/reagent_containers/hypospray/medipen @@ -88,7 +96,7 @@ ..() if(!iscyborg(user)) reagents.maximum_volume = 0 //Makes them useless afterwards - container_type = 0 + container_type = NONE update_icon() spawn(80) if(iscyborg(user) && !reagents.total_volume) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm.rej b/code/modules/reagents/reagent_containers/hypospray.dm.rej deleted file mode 100644 index 03d17d2639..0000000000 --- a/code/modules/reagents/reagent_containers/hypospray.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm (rejected hunks) -@@ -77,8 +77,8 @@ - amount_per_transfer_from_this = 10 - volume = 10 - ignore_flags = 1 //so you can medipen through hardsuits -- container_type = DRAWABLE -- flags = null -+ container_type = DRAWABLE_1 -+ flags_1 = null - list_reagents = list("epinephrine" = 10) - - /obj/item/reagent_containers/hypospray/medipen/attack(mob/M, mob/user) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 9d7579c9dc..869076081e 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -1,80 +1,80 @@ -/obj/item/reagent_containers/spray - name = "spray bottle" - desc = "A spray bottle, with an unscrewable top." - icon = 'icons/obj/janitor.dmi' - icon_state = "cleaner" - item_state = "cleaner" +/obj/item/reagent_containers/spray + name = "spray bottle" + desc = "A spray bottle, with an unscrewable top." + icon = 'icons/obj/janitor.dmi' + icon_state = "cleaner" + item_state = "cleaner" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' flags_1 = NOBLUDGEON_1 container_type = OPENCONTAINER_1 - slot_flags = SLOT_BELT - throwforce = 0 - w_class = WEIGHT_CLASS_SMALL - throw_speed = 3 - throw_range = 7 - var/stream_mode = 0 //whether we use the more focused mode - var/current_range = 3 //the range of tiles the sprayer will reach. - var/spray_range = 3 //the range of tiles the sprayer will reach when in spray mode. - var/stream_range = 1 //the range of tiles the sprayer will reach when in stream mode. - var/stream_amount = 10 //the amount of reagents transfered when in stream mode. - amount_per_transfer_from_this = 5 - volume = 250 - possible_transfer_amounts = list(5,10,15,20,25,30,50,100) - - -/obj/item/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user) - if(istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics)) - return - - if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution - if(!A.reagents.total_volume && A.reagents) - to_chat(user, "\The [A] is empty.") - return - - if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\The [src] is full.") - return - - var/trans = A.reagents.trans_to(src, 50) //transfer 50u , using the spray's transfer amount would take too long to refill - to_chat(user, "You fill \the [src] with [trans] units of the contents of \the [A].") - return - - if(reagents.total_volume < amount_per_transfer_from_this) - to_chat(user, "\The [src] is empty!") - return - - spray(A) - - playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) - user.changeNext_move(CLICK_CD_RANGE*2) - user.newtonian_move(get_dir(A, user)) - var/turf/T = get_turf(src) - var/area/area = get_area(src) - if(reagents.has_reagent("sacid")) - message_admins("[ADMIN_LOOKUPFLW(user)] fired sulphuric acid from \a [src] at [area] [ADMIN_COORDJMP(T)].") - log_game("[key_name(user)] fired sulphuric acid from \a [src] at [area] ([T.x], [T.y], [T.z]).") - if(reagents.has_reagent("facid")) - message_admins("[ADMIN_LOOKUPFLW(user)] fired Fluacid from \a [src] at [area] [ADMIN_COORDJMP(T)].") - log_game("[key_name(user)] fired Fluacid from \a [src] at [area] [COORD(T)].") - if(reagents.has_reagent("lube")) - message_admins("[ADMIN_LOOKUPFLW(user)] fired Space lube from \a [src] at [area] [ADMIN_COORDJMP(T)].") - log_game("[key_name(user)] fired Space lube from \a [src] at [area] [COORD(T)].") - return - - -/obj/item/reagent_containers/spray/proc/spray(atom/A) - var/range = max(min(current_range, get_dist(src, A)), 1) - var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) - var/puff_reagent_left = range //how many turf, mob or dense objet we can react with before we consider the chem puff consumed - if(stream_mode) - reagents.trans_to(D, amount_per_transfer_from_this) - puff_reagent_left = 1 - else - reagents.trans_to(D, amount_per_transfer_from_this, 1/range) - D.color = mix_color_from_reagents(D.reagents.reagent_list) - var/wait_step = max(round(2+3/range), 2) + slot_flags = SLOT_BELT + throwforce = 0 + w_class = WEIGHT_CLASS_SMALL + throw_speed = 3 + throw_range = 7 + var/stream_mode = 0 //whether we use the more focused mode + var/current_range = 3 //the range of tiles the sprayer will reach. + var/spray_range = 3 //the range of tiles the sprayer will reach when in spray mode. + var/stream_range = 1 //the range of tiles the sprayer will reach when in stream mode. + var/stream_amount = 10 //the amount of reagents transfered when in stream mode. + amount_per_transfer_from_this = 5 + volume = 250 + possible_transfer_amounts = list(5,10,15,20,25,30,50,100) + + +/obj/item/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user) + if(istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics)) + return + + if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution + if(!A.reagents.total_volume && A.reagents) + to_chat(user, "\The [A] is empty.") + return + + if(reagents.total_volume >= reagents.maximum_volume) + to_chat(user, "\The [src] is full.") + return + + var/trans = A.reagents.trans_to(src, 50) //transfer 50u , using the spray's transfer amount would take too long to refill + to_chat(user, "You fill \the [src] with [trans] units of the contents of \the [A].") + return + + if(reagents.total_volume < amount_per_transfer_from_this) + to_chat(user, "\The [src] is empty!") + return + + spray(A) + + playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) + user.changeNext_move(CLICK_CD_RANGE*2) + user.newtonian_move(get_dir(A, user)) + var/turf/T = get_turf(src) + var/area/area = get_area(src) + if(reagents.has_reagent("sacid")) + message_admins("[ADMIN_LOOKUPFLW(user)] fired sulphuric acid from \a [src] at [area] [ADMIN_COORDJMP(T)].") + log_game("[key_name(user)] fired sulphuric acid from \a [src] at [area] ([T.x], [T.y], [T.z]).") + if(reagents.has_reagent("facid")) + message_admins("[ADMIN_LOOKUPFLW(user)] fired Fluacid from \a [src] at [area] [ADMIN_COORDJMP(T)].") + log_game("[key_name(user)] fired Fluacid from \a [src] at [area] [COORD(T)].") + if(reagents.has_reagent("lube")) + message_admins("[ADMIN_LOOKUPFLW(user)] fired Space lube from \a [src] at [area] [ADMIN_COORDJMP(T)].") + log_game("[key_name(user)] fired Space lube from \a [src] at [area] [COORD(T)].") + return + + +/obj/item/reagent_containers/spray/proc/spray(atom/A) + var/range = max(min(current_range, get_dist(src, A)), 1) + var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src)) + D.create_reagents(amount_per_transfer_from_this) + var/puff_reagent_left = range //how many turf, mob or dense objet we can react with before we consider the chem puff consumed + if(stream_mode) + reagents.trans_to(D, amount_per_transfer_from_this) + puff_reagent_left = 1 + else + reagents.trans_to(D, amount_per_transfer_from_this, 1/range) + D.color = mix_color_from_reagents(D.reagents.reagent_list) + var/wait_step = max(round(2+3/range), 2) do_spray(A, wait_step, D, range, puff_reagent_left) /obj/item/reagent_containers/spray/proc/do_spray(atom/A, wait_step, obj/effect/decal/chempuff/D, range, puff_reagent_left) @@ -96,153 +96,155 @@ var/mob/M = T if(!M.lying || !range_left) D.reagents.reaction(M, VAPOR) - puff_reagent_left -= 1 + puff_reagent_left -= 1 else if(!range_left) D.reagents.reaction(T, VAPOR) else D.reagents.reaction(T, VAPOR) if(ismob(T)) puff_reagent_left -= 1 - + if(puff_reagent_left > 0 && (!stream_mode || !range_left)) D.reagents.reaction(get_turf(D), VAPOR) puff_reagent_left -= 1 - + if(puff_reagent_left <= 0) // we used all the puff so we delete it. qdel(D) return qdel(D) - -/obj/item/reagent_containers/spray/attack_self(mob/user) - stream_mode = !stream_mode - if(stream_mode) - amount_per_transfer_from_this = stream_amount - current_range = stream_range - else - amount_per_transfer_from_this = initial(amount_per_transfer_from_this) - current_range = spray_range - to_chat(user, "You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""]. You'll now use [amount_per_transfer_from_this] units per use.") - -/obj/item/reagent_containers/spray/verb/empty() - set name = "Empty Spray Bottle" - set category = "Object" - set src in usr - if(usr.incapacitated()) - return - if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes") - return - if(isturf(usr.loc) && src.loc == usr) - to_chat(usr, "You empty \the [src] onto the floor.") - reagents.reaction(usr.loc) - src.reagents.clear_reagents() - -//space cleaner -/obj/item/reagent_containers/spray/cleaner - name = "space cleaner" - desc = "BLAM!-brand non-foaming space cleaner!" - list_reagents = list("cleaner" = 250) - -//spray tan -/obj/item/reagent_containers/spray/spraytan - name = "spray tan" - volume = 50 - desc = "Gyaro brand spray tan. Do not spray near eyes or other orifices." - list_reagents = list("spraytan" = 50) - - -/obj/item/reagent_containers/spray/medical - name = "medical spray" - icon = 'icons/obj/chemical.dmi' - icon_state = "medspray" - volume = 100 - - -/obj/item/reagent_containers/spray/medical/sterilizer - name = "sterilizer spray" - desc = "Spray bottle loaded with non-toxic sterilizer. Useful in preparation for surgery." - list_reagents = list("sterilizine" = 100) - - -//pepperspray -/obj/item/reagent_containers/spray/pepper - name = "pepperspray" - desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "pepperspray" - item_state = "pepperspray" + +/obj/item/reagent_containers/spray/attack_self(mob/user) + stream_mode = !stream_mode + if(stream_mode) + amount_per_transfer_from_this = stream_amount + current_range = stream_range + else + amount_per_transfer_from_this = initial(amount_per_transfer_from_this) + current_range = spray_range + to_chat(user, "You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""]. You'll now use [amount_per_transfer_from_this] units per use.") + +/obj/item/reagent_containers/spray/verb/empty() + set name = "Empty Spray Bottle" + set category = "Object" + set src in usr + if(usr.incapacitated()) + return + if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes") + return + if(isturf(usr.loc) && src.loc == usr) + to_chat(usr, "You empty \the [src] onto the floor.") + reagents.reaction(usr.loc) + src.reagents.clear_reagents() + +//space cleaner +/obj/item/reagent_containers/spray/cleaner + name = "space cleaner" + desc = "BLAM!-brand non-foaming space cleaner!" + list_reagents = list("cleaner" = 250) + +//spray tan +/obj/item/reagent_containers/spray/spraytan + name = "spray tan" + volume = 50 + desc = "Gyaro brand spray tan. Do not spray near eyes or other orifices." + list_reagents = list("spraytan" = 50) + + +/obj/item/reagent_containers/spray/medical + name = "medical spray" + icon = 'icons/obj/chemical.dmi' + icon_state = "medspray" + volume = 100 + + +/obj/item/reagent_containers/spray/medical/sterilizer + name = "sterilizer spray" + desc = "Spray bottle loaded with non-toxic sterilizer. Useful in preparation for surgery." + list_reagents = list("sterilizine" = 100) + + +//pepperspray +/obj/item/reagent_containers/spray/pepper + name = "pepperspray" + desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "pepperspray" + item_state = "pepperspray" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - volume = 40 - stream_range = 4 - amount_per_transfer_from_this = 5 - list_reagents = list("condensedcapsaicin" = 40) - -// Fix pepperspraying yourself -/obj/item/reagent_containers/spray/pepper/afterattack(atom/A as mob|obj, mob/user) - if (A.loc == user) - return - ..() - -//water flower -/obj/item/reagent_containers/spray/waterflower - name = "water flower" - desc = "A seemingly innocent sunflower...with a twist." - icon = 'icons/obj/hydroponics/harvest.dmi' - icon_state = "sunflower" - item_state = "sunflower" - amount_per_transfer_from_this = 1 - volume = 10 - list_reagents = list("water" = 10) - -/obj/item/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays - return - -//chemsprayer -/obj/item/reagent_containers/spray/chemsprayer - name = "chem sprayer" - desc = "A utility used to spray large amounts of reagents in a given area." - icon = 'icons/obj/guns/projectile.dmi' - icon_state = "chemsprayer" - item_state = "chemsprayer" - throwforce = 0 - w_class = WEIGHT_CLASS_NORMAL - stream_mode = 1 - current_range = 7 - spray_range = 4 - stream_range = 7 - amount_per_transfer_from_this = 10 - volume = 600 - origin_tech = "combat=3;materials=3;engineering=3" - -/obj/item/reagent_containers/spray/chemsprayer/afterattack(atom/A as mob|obj, mob/user) - // Make it so the bioterror spray doesn't spray yourself when you click your inventory items - if (A.loc == user) - return - ..() - -/obj/item/reagent_containers/spray/chemsprayer/spray(atom/A) - var/direction = get_dir(src, A) - var/turf/T = get_turf(A) - var/turf/T1 = get_step(T,turn(direction, 90)) - var/turf/T2 = get_step(T,turn(direction, -90)) - var/list/the_targets = list(T,T1,T2) - - for(var/i=1, i<=3, i++) // intialize sprays - if(reagents.total_volume < 1) - return - ..(the_targets[i]) - -/obj/item/reagent_containers/spray/chemsprayer/bioterror - list_reagents = list("sodium_thiopental" = 100, "coniine" = 100, "venom" = 100, "condensedcapsaicin" = 100, "initropidril" = 100, "polonium" = 100) - -// Plant-B-Gone -/obj/item/reagent_containers/spray/plantbgone // -- Skie - name = "Plant-B-Gone" - desc = "Kills those pesky weeds!" - icon = 'icons/obj/hydroponics/equipment.dmi' - icon_state = "plantbgone" - item_state = "plantbgone" + volume = 40 + stream_range = 4 + amount_per_transfer_from_this = 5 + list_reagents = list("condensedcapsaicin" = 40) + +// Fix pepperspraying yourself +/obj/item/reagent_containers/spray/pepper/afterattack(atom/A as mob|obj, mob/user) + if (A.loc == user) + return + ..() + +//water flower +/obj/item/reagent_containers/spray/waterflower + name = "water flower" + desc = "A seemingly innocent sunflower...with a twist." + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "sunflower" + item_state = "sunflower" + amount_per_transfer_from_this = 1 + volume = 10 + list_reagents = list("water" = 10) + +/obj/item/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays + return + +//chemsprayer +/obj/item/reagent_containers/spray/chemsprayer + name = "chem sprayer" + desc = "A utility used to spray large amounts of reagents in a given area." + icon = 'icons/obj/guns/projectile.dmi' + icon_state = "chemsprayer" + item_state = "chemsprayer" + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + throwforce = 0 + w_class = WEIGHT_CLASS_NORMAL + stream_mode = 1 + current_range = 7 + spray_range = 4 + stream_range = 7 + amount_per_transfer_from_this = 10 + volume = 600 + origin_tech = "combat=3;materials=3;engineering=3" + +/obj/item/reagent_containers/spray/chemsprayer/afterattack(atom/A as mob|obj, mob/user) + // Make it so the bioterror spray doesn't spray yourself when you click your inventory items + if (A.loc == user) + return + ..() + +/obj/item/reagent_containers/spray/chemsprayer/spray(atom/A) + var/direction = get_dir(src, A) + var/turf/T = get_turf(A) + var/turf/T1 = get_step(T,turn(direction, 90)) + var/turf/T2 = get_step(T,turn(direction, -90)) + var/list/the_targets = list(T,T1,T2) + + for(var/i=1, i<=3, i++) // intialize sprays + if(reagents.total_volume < 1) + return + ..(the_targets[i]) + +/obj/item/reagent_containers/spray/chemsprayer/bioterror + list_reagents = list("sodium_thiopental" = 100, "coniine" = 100, "venom" = 100, "condensedcapsaicin" = 100, "initropidril" = 100, "polonium" = 100) + +// Plant-B-Gone +/obj/item/reagent_containers/spray/plantbgone // -- Skie + name = "Plant-B-Gone" + desc = "Kills those pesky weeds!" + icon = 'icons/obj/hydroponics/equipment.dmi' + icon_state = "plantbgone" + item_state = "plantbgone" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi' - volume = 100 - list_reagents = list("plantbgone" = 100) + volume = 100 + list_reagents = list("plantbgone" = 100) diff --git a/code/modules/reagents/reagent_containers/syringes.dm.rej b/code/modules/reagents/reagent_containers/syringes.dm.rej deleted file mode 100644 index d184bef7fb..0000000000 --- a/code/modules/reagents/reagent_containers/syringes.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm (rejected hunks) -@@ -16,7 +16,7 @@ - var/busy = FALSE // needed for delayed drawing of blood - var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun - materials = list(MAT_METAL=10, MAT_GLASS=20) -- container_type = TRANSPARENT -+ container_type = TRANSPARENT_1 - - /obj/item/reagent_containers/syringe/Initialize() - . = ..() diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm index 0bb6df7ca9..14ebec8128 100644 --- a/code/modules/recycling/disposal-unit.dm +++ b/code/modules/recycling/disposal-unit.dm @@ -247,6 +247,9 @@ AM.forceMove(T) ..() +/obj/machinery/disposal/get_dumping_location(obj/item/storage/source,mob/user) + return src + //How disposal handles getting a storage dump from a storage object /obj/machinery/disposal/storage_contents_dump_act(obj/item/storage/src_object, mob/user) for(var/obj/item/I in src_object) diff --git a/code/modules/research/circuitprinter.dm.rej b/code/modules/research/circuitprinter.dm.rej deleted file mode 100644 index 6bd06f6d69..0000000000 --- a/code/modules/research/circuitprinter.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm (rejected hunks) -@@ -8,7 +8,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). - name = "circuit imprinter" - desc = "Manufactures circuit boards for the construction of machines." - icon_state = "circuit_imprinter" -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - circuit = /obj/item/circuitboard/machine/circuit_imprinter - - var/datum/material_container/materials diff --git a/code/modules/research/protolathe.dm.rej b/code/modules/research/protolathe.dm.rej deleted file mode 100644 index fa39256713..0000000000 --- a/code/modules/research/protolathe.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm (rejected hunks) -@@ -11,7 +11,7 @@ Note: Must be placed west/left of and R&D console to function. - name = "protolathe" - desc = "Converts raw materials into useful objects." - icon_state = "protolathe" -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - circuit = /obj/item/circuitboard/machine/protolathe - - var/datum/material_container/materials diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index dbfd6d1ed2..f22961ae15 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -44,12 +44,13 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi pshoom_or_beepboopblorpzingshadashwoosh = 'sound/items/pshoom.ogg' alt_sound = 'sound/items/pshoom_2.ogg' -/obj/item/storage/part_replacer/bluespace/content_can_dump(atom/dest_object, mob/user) +/obj/item/storage/part_replacer/bluespace/dump_content_at(atom/dest_object, mob/user) if(Adjacent(user)) - if(get_dist(user, dest_object) < 8) - if(dest_object.storage_contents_dump_act(src, user)) + var/atom/dumping_location = dest_object.get_dumping_location() + if(get_dist(user, dumping_location) < 8) + if(dumping_location.storage_contents_dump_act(src, user)) play_rped_sound() - user.Beam(dest_object,icon_state="rped_upgrade",time=5) + user.Beam(dumping_location,icon_state="rped_upgrade",time=5) return 1 to_chat(user, "The [src.name] buzzes.") playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index a061d00a44..a01a144bc3 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -111,7 +111,9 @@ desc = "Their success will be yours." icon = 'icons/obj/wizard.dmi' icon_state = "render" - item_state = "render" + item_state = "knife" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' force = 18 throwforce = 10 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index bdaac1d3cb..a3ebba05a1 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -78,7 +78,7 @@ /obj/machinery/computer/shuttle/emag_act(mob/user) if(emagged) return - req_access = null + req_access = list() emagged = TRUE to_chat(user, "You fried the consoles ID checking system.") diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 85f32b745d..d574a38d73 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -290,7 +290,7 @@ if(SHUTTLE_CALL) if(time_left <= 0) //move emergency shuttle to station - if(dock(SSshuttle.getDock("emergency_home"))) + if(dock(SSshuttle.getDock("emergency_home")) != DOCKING_SUCCESS) setTimer(20) return mode = SHUTTLE_DOCKED diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index b09c38d714..59a0a46ae8 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -4,15 +4,17 @@ All ShuttleMove procs go here /************************************Base procs************************************/ -// Called on every turf in the shuttle region, return false if it doesn't want to move -/turf/proc/fromShuttleMove(turf/newT, turf_type, baseturf_type) - if(type == turf_type && baseturf == baseturf_type) - return FALSE - return TRUE +// Called on every turf in the shuttle region, returns a bitflag for allowed movements of that turf +// returns the new move_mode (based on the old) +/turf/proc/fromShuttleMove(turf/newT, turf_type, list/baseturf_cache, move_mode) + if(!(move_mode & MOVE_AREA) || (istype(src, turf_type) && baseturf_cache[baseturf])) + return move_mode + return move_mode | MOVE_TURF | MOVE_CONTENTS // Called from the new turf before anything has been moved // Only gets called if fromShuttleMove returns true first -/turf/proc/toShuttleMove(turf/oldT, shuttle_dir) +// returns the new move_mode (based on the old) +/turf/proc/toShuttleMove(turf/oldT, shuttle_dir, move_mode) for(var/i in contents) var/atom/movable/thing = i if(ismob(thing)) @@ -38,7 +40,7 @@ All ShuttleMove procs go here else qdel(thing) - return TRUE + return move_mode // Called on the old turf to move the turf data /turf/proc/onShuttleMove(turf/newT, turf_type, baseturf_type, rotation, list/movement_force, move_dir) @@ -73,9 +75,9 @@ All ShuttleMove procs go here ///////////////////////////////////////////////////////////////////////////////////// // Called on every atom in shuttle turf contents before anything has been moved -// Return true if it should be moved regardless of turf being moved -/atom/movable/proc/beforeShuttleMove(turf/newT, rotation) - return FALSE +// returns the new move_mode (based on the old) +/atom/movable/proc/beforeShuttleMove(turf/newT, rotation, move_mode) + return move_mode // Called on atoms to move the atom to the new location /atom/movable/proc/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, old_dock) @@ -102,13 +104,16 @@ All ShuttleMove procs go here ///////////////////////////////////////////////////////////////////////////////////// // Called on areas before anything has been moved -/area/proc/beforeShuttleMove() - return TRUE +// returns the new move_mode (based on the old) +/area/proc/beforeShuttleMove(list/shuttle_areas) + if(!shuttle_areas[src]) + return NONE + return MOVE_AREA // Called on areas to move their turf between areas /area/proc/onShuttleMove(turf/oldT, turf/newT, area/underlying_old_area) if(newT == oldT) // In case of in place shuttle rotation shenanigans. - return + return TRUE contents -= oldT underlying_old_area.contents += oldT @@ -117,7 +122,7 @@ All ShuttleMove procs go here var/area/old_dest_area = newT.loc parallax_movedir = old_dest_area.parallax_movedir - + old_dest_area.contents -= newT contents += newT newT.change_area(old_dest_area, src) @@ -160,9 +165,11 @@ All ShuttleMove procs go here SSair.add_to_active(src, TRUE) SSair.add_to_active(oldT, TRUE) +/************************************Area move procs************************************/ + /************************************Machinery move procs************************************/ -/obj/machinery/door/airlock/beforeShuttleMove(turf/newT, rotation) +/obj/machinery/door/airlock/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() shuttledocked = 0 for(var/obj/machinery/door/airlock/A in range(1, src)) @@ -176,11 +183,11 @@ All ShuttleMove procs go here for(var/obj/machinery/door/airlock/A in range(1, src)) A.shuttledocked = 1 -/obj/machinery/camera/beforeShuttleMove(turf/newT, rotation) +/obj/machinery/camera/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() GLOB.cameranet.removeCamera(src) GLOB.cameranet.updateChunk() - return TRUE + . |= MOVE_CONTENTS /obj/machinery/camera/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) . = ..() @@ -207,7 +214,7 @@ All ShuttleMove procs go here if(z == ZLEVEL_MINING) //Avoids double logging and landing on other Z-levels due to badminnery SSblackbox.add_details("colonies_dropped", "[x]|[y]|[z]") //Number of times a base has been dropped! -/obj/machinery/gravity_generator/main/beforeShuttleMove(turf/newT, rotation) +/obj/machinery/gravity_generator/main/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() on = FALSE update_list() @@ -218,9 +225,9 @@ All ShuttleMove procs go here on = TRUE update_list() -/obj/machinery/thruster/beforeShuttleMove(turf/newT, rotation) +/obj/machinery/thruster/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() - . = TRUE + . |= MOVE_CONTENTS //Properly updates pipes on shuttle movement /obj/machinery/atmospherics/shuttleRotate(rotation) @@ -271,7 +278,7 @@ All ShuttleMove procs go here var/turf/T = loc hide(T.intact) -/obj/machinery/navbeacon/beforeShuttleMove(turf/newT, rotation) +/obj/machinery/navbeacon/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() GLOB.navbeacons["[z]"] -= src GLOB.deliverybeacons -= src @@ -333,13 +340,13 @@ All ShuttleMove procs go here /************************************Structure move procs************************************/ -/obj/structure/grille/beforeShuttleMove(turf/newT, rotation) +/obj/structure/grille/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() - . = TRUE + . |= MOVE_CONTENTS -/obj/structure/lattice/beforeShuttleMove(turf/newT, rotation) +/obj/structure/lattice/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() - . = TRUE + . |= MOVE_CONTENTS /obj/structure/disposalpipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) . = ..() @@ -350,6 +357,11 @@ All ShuttleMove procs go here var/turf/T = loc if(level==1) hide(T.intact) + +/obj/structure/shuttle/beforeShuttleMove(turf/newT, rotation, move_mode) + . = ..() + . |= MOVE_CONTENTS + /************************************Misc move procs************************************/ @@ -371,4 +383,4 @@ All ShuttleMove procs go here /obj/effect/abstract/proximity_checker/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, old_dock) //timer so it only happens once - addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) + addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) \ No newline at end of file diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index d0d5952a0c..f035777df5 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -21,6 +21,10 @@ var/dwidth = 0 //position relative to covered area, perpendicular to dir var/dheight = 0 //position relative to covered area, parallel to dir + var/area_type + var/turf_type + var/baseturf_type + //these objects are indestructible /obj/docking_port/Destroy(force) // unless you assert that you know what you're doing. Horrible things @@ -119,6 +123,39 @@ else . += T +/obj/docking_port/proc/return_ordered_assoc_turfs(_x, _y, _z, _dir) + if(!_dir) + _dir = dir + if(!_x) + _x = x + if(!_y) + _y = y + if(!_z) + _z = z + var/cos = 1 + var/sin = 0 + switch(_dir) + if(WEST) + cos = 0 + sin = 1 + if(SOUTH) + cos = -1 + sin = 0 + if(EAST) + cos = 0 + sin = -1 + + . = list() + + var/xi + var/yi + for(var/dx=0, dx[user] melts into the shadows!
") + var/obj/effect/dummy/shadow/S2 = new(get_turf(user.loc)) + user.forceMove(S2) + S2.jaunter = user + else + to_chat(user, "It isn't dark enough here!") + +/obj/effect/dummy/shadow + name = "darkness" + icon = 'icons/effects/effects.dmi' + icon_state = "nothing" + var/canmove = 1 + var/mob/living/jaunter + density = FALSE + anchored = TRUE + invisibility = 60 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + +/obj/effect/dummy/shadow/relaymove(mob/user, direction) + var/turf/newLoc = get_step(src,direction) + if(isspaceturf(newLoc)) + to_chat(user, "It really would not be wise to go into space.") + return + forceMove(newLoc) + check_light_level() + +/obj/effect/dummy/shadow/proc/check_light_level() + var/turf/T = get_turf(src) + var/light_amount = T.get_lumcount() + if(light_amount > 0.2) // jaunt ends + end_jaunt(TRUE) + else if (light_amount < 0.2 && (!QDELETED(jaunter))) //heal in the dark + jaunter.heal_overall_damage(1,1) + +/obj/effect/dummy/shadow/proc/end_jaunt(forced = FALSE) + if(jaunter) + if(forced) + visible_message("[jaunter] is revealed by the light!") + else + visible_message("[jaunter] emerges from the darkness!") + jaunter.forceMove(get_turf(src)) + playsound(get_turf(jaunter), 'sound/magic/ethereal_exit.ogg', 50, 1, -1) + jaunter = null + qdel(src) + +/obj/effect/dummy/shadow/Initialize(mapload) + . = ..() + START_PROCESSING(SSobj, src) + +/obj/effect/dummy/shadow/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/effect/dummy/shadow/process() + if(!jaunter) + qdel(src) + if(jaunter.loc != src) + qdel(src) + check_light_level() + +/obj/effect/dummy/shadow/ex_act() + return + +/obj/effect/dummy/shadow/bullet_act() + return + +/obj/effect/dummy/shadow/singularity_act() + return + diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index d71cddd3e4..4e478d3420 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -52,7 +52,7 @@ if(active) for(var/obj/item/I in owner.held_items) if(!(I.flags_1 & NODROP_1)) - flags_1 += I + stored_items += I var/list/L = owner.get_empty_held_indexes() if(LAZYLEN(L) == owner.held_items.len) @@ -87,6 +87,7 @@ /obj/item/organ/cyberimp/brain/anti_drop/proc/release_items() for(var/obj/item/I in stored_items) I.flags_1 &= ~NODROP_1 + stored_items = list() /obj/item/organ/cyberimp/brain/anti_drop/Remove(var/mob/living/carbon/M, special = 0) diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm index 2ee223b403..26c2239bb6 100644 --- a/code/modules/surgery/organs/ears.dm +++ b/code/modules/surgery/organs/ears.dm @@ -80,9 +80,6 @@ icon = 'icons/obj/clothing/hats.dmi' icon_state = "kitty" -/obj/item/organ/ears/cat/adjustEarDamage(ddmg, ddeaf) - ..(ddmg*2,ddeaf*2) - /obj/item/organ/ears/cat/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE) ..() color = H.hair_color @@ -93,4 +90,4 @@ ..() color = H.hair_color H.dna.features["ears"] = "None" - H.update_body() \ No newline at end of file + H.update_body() diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 0f5f1de91d..8f32aa89eb 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -569,6 +569,7 @@ message_admins("[key_name_admin(user)] has said '[log_message]' with a Voice of God, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") log_game("[key_name(user)] has said '[log_message]' with a Voice of God, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") + SSblackbox.add_details("voice_of_god", log_message) return cooldown diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index ba1d5c3c40..a3ab275767 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -970,7 +970,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. desc = "When used with an upload console, this module allows you to upload priority laws to an artificial intelligence. \ Be careful with wording, as artificial intelligences may look for loopholes to exploit." item = /obj/item/aiModule/syndicate - cost = 14 + cost = 9 /datum/uplink_item/device_tools/briefcase_launchpad name = "Briefcase Launchpad" @@ -1314,6 +1314,13 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. cost = 14 restricted_roles = list("Geneticist", "Chief Medical Officer") +/datum/uplink_item/role_restricted/magillitis_serum + name = "Magillitis Serum Autoinjector" + desc = "A single-use autoinjector which contains an experimental serum that causes rapid muscular growth in basic primates." + item = /obj/item/reagent_containers/hypospray/magillitis + cost = 15 + restricted_roles = list("Geneticist", "Chief Medical Officer") + /datum/uplink_item/role_restricted/pressure_mod name = "Kinetic Accelerator Pressure Mod" desc = "A modification kit which allows Kinetic Accelerators to do greatly increased damage while indoors. Occupies 35% mod capacity." @@ -1393,8 +1400,8 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. if(crate_value < I.cost) continue crate_value -= I.cost - new I.item(C) - U.purchase_log += "[icon2base64html(I.item)]" + var/obj/goods = new I.item(C) + U.purchase_log += "[icon2base64html(goods)]" SSblackbox.add_details("traitor_uplink_items_bought", "[name]|[cost]") return C diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index d5c484d387..f1e4274ce9 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -24,7 +24,7 @@ var/escapetime = 200 // Deciseconds, how long to escape this belly var/escapechance = 45 // % Chance of prey beginning to escape if prey struggles. var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest. - var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL) // Possible digest modes + var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_NOISY) // Possible digest modes var/tmp/mob/living/owner // The mob whose belly this is. var/tmp/list/internal_contents = list() // People/Things you've eaten into this belly! var/tmp/is_full // Flag for if digested remeans are present. (for disposal messages) @@ -106,7 +106,7 @@ return 0 for (var/atom/movable/M in internal_contents) M.forceMove(owner.loc) // Move the belly contents into the same location as belly's owner. - M << sound(null, repeat = 0, wait = 0, volume = 80, channel = 50) + M << sound(null, repeat = 0, wait = 0, volume = 80, channel = CHANNEL_PREYLOOP) internal_contents.Remove(M) // Remove from the belly contents var/datum/belly/B = check_belly(owner) // This makes sure that the mob behaves properly if released into another mob @@ -124,7 +124,7 @@ return FALSE // They weren't in this belly anyway M.forceMove(owner.loc) // Move the belly contents into the same location as belly's owner. - M << sound(null, repeat = 0, wait = 0, volume = 80, channel = 50) + M << sound(null, repeat = 0, wait = 0, volume = 80, channel = CHANNEL_PREYLOOP) src.internal_contents.Add(M) // Remove from the belly contents var/datum/belly/B = check_belly(owner) if(B) @@ -143,7 +143,7 @@ prey.forceMove(owner) internal_contents.Add(prey) - prey << sound('sound/vore/prey/loop.ogg', repeat = 1, wait = 0, volume = 80, channel = 50) + prey << sound('sound/vore/prey/loop.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_PREYLOOP) if(inside_flavor) prey << "[inside_flavor]" @@ -224,7 +224,7 @@ /datum/belly/proc/digestion_death(var/mob/living/M) is_full = TRUE internal_contents.Remove(M) - M << sound(null, repeat = 0, wait = 0, volume = 80, channel = 50) + M << sound(null, repeat = 0, wait = 0, volume = 80, channel = CHANNEL_PREYLOOP) // If digested prey is also a pred... anyone inside their bellies gets moved up. if (is_vore_predator(M)) for (var/bellytype in M.vore_organs) @@ -255,6 +255,7 @@ return // User is not in this belly, or struggle too soon. R.setClickCooldown(50) + var/sound/prey_struggle = sound(get_sfx("prey_struggle")) if(owner.stat) //If owner is stat (dead, KO) we can actually escape to_chat(R, "You attempt to climb out of \the [name]. (This will take around [escapetime/10] seconds.)") @@ -288,9 +289,9 @@ // for(var/mob/M in hearers(4, owner)) // M.visible_message(struggle_outer_message) // hearable R.visible_message( "[struggle_outer_message]", "[struggle_user_message]") - playsound(get_turf(owner),"struggle_sound",75,0,-5,1,channel=51) - R.stop_sound_channel(51) - R.playsound_local("prey_struggle_sound",60) + playsound(get_turf(owner),"struggle_sound",35,0,-6,1,channel=151) + R.stop_sound_channel(151) + R.playsound_local(get_turf(R), null, 45, S = prey_struggle) if(escapable && R.a_intent != "help") //If the stomach has escapable enabled and the person is actually trying to kick out to_chat(R, "You attempt to climb out of \the [name].") diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index b58875bd1f..19d07e6fb6 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -1,6 +1,8 @@ // Process the predator's effects upon the contents of its belly (i.e digestion/transformation etc) // Called from /mob/living/Life() proc. /datum/belly/proc/process_Life() + var/sound/prey_gurgle = sound(get_sfx("digest_prey")) + var/sound/prey_digest = sound(get_sfx("death_prey")) /////////////////////////// Auto-Emotes /////////////////////////// if((digest_mode in emote_lists) && !emotePend) @@ -19,11 +21,11 @@ //////////////////////////// DM_DIGEST //////////////////////////// if(digest_mode == DM_DIGEST) for (var/mob/living/M in internal_contents) - if(prob(50)) + if(prob(15)) M.stop_sound_channel(CHANNEL_PRED) - playsound(get_turf(owner),"digest_pred",75,0,-6,0,channel=CHANNEL_PRED) + playsound(get_turf(owner),"digest_pred",50,0,-6,0,channel=CHANNEL_PRED) M.stop_sound_channel(CHANNEL_PRED) - M.playsound_local("digest_prey",60) + M.playsound_local(get_turf(M), null, 45, S = prey_gurgle) //Pref protection! if (!M.digestable) @@ -50,9 +52,9 @@ owner.nutrition += 400 // so eating dead mobs gives you *something*. M.stop_sound_channel(CHANNEL_PRED) - playsound(get_turf(owner),"death_pred",50,0,-6,0,channel=CHANNEL_PRED) + playsound(get_turf(owner),"death_pred",45,0,-6,0,channel=CHANNEL_PRED) M.stop_sound_channel(CHANNEL_PRED) - M.playsound_local("death_prey",60) + M.playsound_local(get_turf(M), null, 45, S = prey_digest) digestion_death(M) owner.update_icons() continue @@ -67,11 +69,11 @@ ///////////////////////////// DM_HEAL ///////////////////////////// if(digest_mode == DM_HEAL) for (var/mob/living/M in internal_contents) - if(prob(50)) + if(prob(15)) M.stop_sound_channel(CHANNEL_PRED) - playsound(get_turf(owner),"digest_pred",50,0,-6,0,channel=CHANNEL_PRED) + playsound(get_turf(owner),"digest_pred",35,0,-6,0,channel=CHANNEL_PRED) M.stop_sound_channel(CHANNEL_PRED) - M.playsound_local("digest_prey",60) + M.playsound_local(get_turf(M), null, 45, S = prey_gurgle) if(M.stat != DEAD) if(owner.nutrition >= NUTRITION_LEVEL_STARVING && (M.health < M.maxHealth)) @@ -79,3 +81,13 @@ M.adjustFireLoss(-1) owner.nutrition -= 10 return + +////////////////////////// DM_NOISY ///////////////////////////////// +//for when you just want people to squelch around + if(digest_mode == DM_NOISY) + for (var/mob/living/M in internal_contents) + if(prob(35)) + M.stop_sound_channel(CHANNEL_PRED) + playsound(get_turf(owner),"digest_pred",35,0,-6,0,channel=CHANNEL_PRED) + M.stop_sound_channel(CHANNEL_PRED) + M.playsound_local(get_turf(M), null, 45, S = prey_gurgle) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 7be607bd2a..98db33a763 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -21,7 +21,7 @@ if(M.client && M.client.prefs_vr) if(!M.copy_from_prefs_vr()) - M << "ERROR: You seem to have saved VOREStation prefs, but they couldn't be loaded." + M << "ERROR: You seem to have saved vore prefs, but they couldn't be loaded." return FALSE if(M.vore_organs && M.vore_organs.len) M.vore_selected = M.vore_organs[1] diff --git a/code/modules/vore/trycatch_vr.dm b/code/modules/vore/trycatch_vr.dm index 1ae5c3bc0c..2adf6e0cf6 100644 --- a/code/modules/vore/trycatch_vr.dm +++ b/code/modules/vore/trycatch_vr.dm @@ -1,6 +1,6 @@ /* This file is for jamming single-line procs into Polaris procs. -It will prevent runtimes and allow their code to run if VOREStation's fails. +It will prevent runtimes and allow their code to run if these fail. It will also log when we mess up our code rather than making it vague. Call it at the top of a stock proc with... diff --git a/code/world.dm.rej b/code/world.dm.rej deleted file mode 100644 index e82c17e503..0000000000 --- a/code/world.dm.rej +++ /dev/null @@ -1,301 +0,0 @@ -diff a/code/world.dm b/code/world.dm (rejected hunks) -@@ -10,299 +13,3 @@ - #ifdef GC_FAILURE_HARD_LOOKUP - loop_checks = FALSE - #endif -- --/world/New() -- log_world("World loaded at [time_stamp()]") -- -- SetupExternalRSC() -- -- GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl -- -- make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) -- -- config = new -- -- CheckSchemaVersion() -- SetRoundID() -- -- SetupLogs() -- -- if(!RunningService()) //tgs2 support -- GLOB.revdata.DownloadPRDetails() -- -- load_motd() -- load_admins() -- LoadVerbs(/datum/verbs/menu) -- if(config.usewhitelist) -- load_whitelist() -- LoadBans() -- -- GLOB.timezoneOffset = text2num(time2text(0,"hh")) * 36000 -- -- Master.Initialize(10, FALSE) -- -- if(config.irc_announce_new_game) -- IRCBroadcast("New round starting on [SSmapping.config.map_name]!") -- --/world/proc/SetupExternalRSC() --#if (PRELOAD_RSC == 0) -- external_rsc_urls = world.file2list("config/external_rsc_urls.txt","\n") -- var/i=1 -- while(i<=external_rsc_urls.len) -- if(external_rsc_urls[i]) -- i++ -- else -- external_rsc_urls.Cut(i,i+1) --#endif -- --/world/proc/CheckSchemaVersion() -- if(config.sql_enabled) -- if(SSdbcore.Connect()) -- log_world("Database connection established.") -- var/datum/DBQuery/query_db_version = SSdbcore.NewQuery("SELECT major, minor FROM [format_table_name("schema_revision")] ORDER BY date DESC LIMIT 1") -- query_db_version.Execute() -- if(query_db_version.NextRow()) -- var/db_major = text2num(query_db_version.item[1]) -- var/db_minor = text2num(query_db_version.item[2]) -- if(db_major < DB_MAJOR_VERSION || db_minor < DB_MINOR_VERSION) -- message_admins("Database schema ([db_major].[db_minor]) is behind latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") -- log_sql("Database schema ([db_major].[db_minor]) is behind latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") -- else -- message_admins("Could not get schema version from database") -- else -- log_world("Your server failed to establish a connection with the database.") -- --/world/proc/SetRoundID() -- if(config.sql_enabled) -- if(SSdbcore.Connect()) -- var/datum/DBQuery/query_round_start = SSdbcore.NewQuery("INSERT INTO [format_table_name("round")] (start_datetime, server_ip, server_port) VALUES (Now(), INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]')") -- query_round_start.Execute() -- var/datum/DBQuery/query_round_last_id = SSdbcore.NewQuery("SELECT LAST_INSERT_ID()") -- query_round_last_id.Execute() -- if(query_round_last_id.NextRow()) -- GLOB.round_id = query_round_last_id.item[1] -- --/world/proc/SetupLogs() -- GLOB.log_directory = "data/logs/[time2text(world.realtime, "YYYY/MM/DD")]/round-" -- if(GLOB.round_id) -- GLOB.log_directory += "[GLOB.round_id]" -- else -- GLOB.log_directory += "[replacetext(time_stamp(), ":", ".")]" -- GLOB.world_game_log = file("[GLOB.log_directory]/game.log") -- GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log") -- GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log") -- GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html") -- GLOB.world_game_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------" -- GLOB.world_attack_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------" -- GLOB.world_runtime_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------" -- GLOB.changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently -- if(fexists(GLOB.config_error_log)) -- fcopy(GLOB.config_error_log, "[GLOB.log_directory]/config_error.log") -- fdel(GLOB.config_error_log) -- -- if(GLOB.round_id) -- log_game("Round ID: [GLOB.round_id]") -- --/world/Topic(T, addr, master, key) -- var/list/input = params2list(T) -- -- var/pinging = ("ping" in input) -- var/playing = ("players" in input) -- -- if(!pinging && !playing && config && config.log_world_topic) -- GLOB.world_game_log << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]" -- -- if(input[SERVICE_CMD_PARAM_KEY]) -- return ServiceCommand(input) -- var/key_valid = (global.comms_allowed && input["key"] == global.comms_key) -- -- if(pinging) -- var/x = 1 -- for (var/client/C in GLOB.clients) -- x++ -- return x -- -- else if(playing) -- var/n = 0 -- for(var/mob/M in GLOB.player_list) -- if(M.client) -- n++ -- return n -- -- else if("ircstatus" in input) //tgs2 support -- var/static/last_irc_status = 0 -- if(world.time - last_irc_status < 50) -- return -- var/list/adm = get_admin_counts() -- var/list/allmins = adm["total"] -- var/status = "Admins: [allmins.len] (Active: [english_list(adm["present"])] AFK: [english_list(adm["afk"])] Stealth: [english_list(adm["stealth"])] Skipped: [english_list(adm["noflags"])]). " -- status += "Players: [GLOB.clients.len] (Active: [get_active_player_count(0,1,0)]). Mode: [SSticker.mode.name]." -- send2irc("Status", status) -- last_irc_status = world.time -- -- else if("status" in input) -- var/list/s = list() -- s["version"] = GLOB.game_version -- s["mode"] = GLOB.master_mode -- s["respawn"] = config ? GLOB.abandon_allowed : 0 -- s["enter"] = GLOB.enter_allowed -- s["vote"] = config.allow_vote_mode -- s["ai"] = config.allow_ai -- s["host"] = host ? host : null -- s["active_players"] = get_active_player_count() -- s["players"] = GLOB.clients.len -- s["revision"] = GLOB.revdata.commit -- s["revision_date"] = GLOB.revdata.date -- -- var/list/adm = get_admin_counts() -- var/list/presentmins = adm["present"] -- var/list/afkmins = adm["afk"] -- s["admins"] = presentmins.len + afkmins.len //equivalent to the info gotten from adminwho -- s["gamestate"] = SSticker.current_state -- -- s["map_name"] = SSmapping.config.map_name -- -- if(key_valid && SSticker.HasRoundStarted()) -- s["real_mode"] = SSticker.mode.name -- // Key-authed callers may know the truth behind the "secret" -- -- s["security_level"] = get_security_level() -- s["round_duration"] = SSticker ? round((world.time-SSticker.round_start_time)/10) : 0 -- // Amount of world's ticks in seconds, useful for calculating round duration -- -- if(SSshuttle && SSshuttle.emergency) -- s["shuttle_mode"] = SSshuttle.emergency.mode -- // Shuttle status, see /__DEFINES/stat.dm -- s["shuttle_timer"] = SSshuttle.emergency.timeLeft() -- // Shuttle timer, in seconds -- -- return list2params(s) -- -- else if("announce" in input) -- if(!key_valid) -- return "Bad Key" -- else -- AnnouncePR(input["announce"], json_decode(input["payload"])) -- -- else if("crossmessage" in input) -- if(!key_valid) -- return -- else -- if(input["crossmessage"] == "Ahelp") -- relay_msg_admins("HELP: [input["source"]] [input["message_sender"]]: [input["message"]]") -- if(input["crossmessage"] == "Comms_Console") -- minor_announce(input["message"], "Incoming message from [input["message_sender"]]") -- for(var/obj/machinery/computer/communications/CM in GLOB.machines) -- CM.overrideCooldown() -- if(input["crossmessage"] == "News_Report") -- minor_announce(input["message"], "Breaking Update From [input["message_sender"]]") -- -- else if("adminmsg" in input) //tgs2 support -- if(!key_valid) -- return "Bad Key" -- else -- return IrcPm(input["adminmsg"],input["msg"],input["sender"]) -- -- else if("namecheck" in input) //tgs2 support -- if(!key_valid) -- return "Bad Key" -- else -- log_admin("IRC Name Check: [input["sender"]] on [input["namecheck"]]") -- message_admins("IRC name checking on [input["namecheck"]] from [input["sender"]]") -- return keywords_lookup(input["namecheck"],1) -- else if("adminwho" in input) //tgs2 support -- if(!key_valid) -- return "Bad Key" -- else -- return ircadminwho() -- else if("server_hop" in input) -- show_server_hop_transfer_screen(input["server_hop"]) -- --#define PR_ANNOUNCEMENTS_PER_ROUND 5 //The number of unique PR announcements allowed per round -- //This makes sure that a single person can only spam 3 reopens and 3 closes before being ignored -- --/world/proc/AnnouncePR(announcement, list/payload) -- var/static/list/PRcounts = list() //PR id -> number of times announced this round -- var/id = "[payload["pull_request"]["id"]]" -- if(!PRcounts[id]) -- PRcounts[id] = 1 -- else -- ++PRcounts[id] -- if(PRcounts[id] > PR_ANNOUNCEMENTS_PER_ROUND) -- return -- -- var/final_composed = "PR: [announcement]" -- for(var/client/C in GLOB.clients) -- C.AnnouncePR(final_composed) -- --/world/Reboot(reason = 0, fast_track = FALSE) -- ServiceReboot() //handles alternative actions if necessary -- if (reason || fast_track) //special reboot, do none of the normal stuff -- if (usr) -- log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools") -- message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools") -- to_chat(world, "Rebooting World immediately due to host request") -- else -- to_chat(world, "Rebooting world...") -- Master.Shutdown() //run SS shutdowns -- log_world("World rebooted at [time_stamp()]") -- ..() -- --/world/proc/load_motd() -- GLOB.join_motd = file2text("config/motd.txt") + "
" + GLOB.revdata.GetTestMergeInfo() -- --/world/proc/update_status() -- var/s = "" -- -- if (config && config.server_name) -- s += "[config.server_name] — " -- -- s += "[station_name()]"; -- s += " (" -- s += "" //Change this to wherever you want the hub to link to. -- s += "Default" //Replace this with something else. Or ever better, delete it and uncomment the game version. -- s += "" -- s += ")" -- -- var/list/features = list() -- -- if(GLOB.master_mode) -- features += GLOB.master_mode -- -- if (!GLOB.enter_allowed) -- features += "closed" -- -- features += GLOB.abandon_allowed ? "respawn" : "no respawn" -- -- if (config && config.allow_vote_mode) -- features += "vote" -- -- if (config && config.allow_ai) -- features += "AI allowed" -- -- var/n = 0 -- for (var/mob/M in GLOB.player_list) -- if (M.client) -- n++ -- -- if (n > 1) -- features += "~[n] players" -- else if (n > 0) -- features += "~[n] player" -- -- if (!host && config && config.hostedby) -- features += "hosted by [config.hostedby]" -- -- if (features) -- s += ": [jointext(features, ", ")]" -- -- status = s -- --/world/proc/update_hub_visibility(new_visibility) -- if(new_visibility == GLOB.hub_visibility) -- return -- GLOB.hub_visibility = new_visibility -- if(GLOB.hub_visibility) -- hub_password = "kMZy3U5jJHSiBQjr" -- else -- hub_password = "SORRYNOPASSWORD" diff --git a/config/comms.txt b/config/comms.txt new file mode 100644 index 0000000000..4408819f2e --- /dev/null +++ b/config/comms.txt @@ -0,0 +1,15 @@ +## Communication key for receiving data through world/Topic(), you don't want to give this out +#COMMS_KEY default_pwd + +## World address and port for server recieving cross server messages +#CROSS_SERVER_ADDRESS byond:\\address:port + +## Name that the server calls itself in communications +#CROSS_COMMS_NAME + +## Hub address for tracking stats +## example: Hubmakerckey.Hubname +#MEDAL_HUB_ADDRESS + +## Password for the hub page +#MEDAL_HUB_PASSWORD \ No newline at end of file diff --git a/config/config.txt b/config/config.txt index 7497404a89..ae2cc1e43a 100644 --- a/config/config.txt +++ b/config/config.txt @@ -32,6 +32,19 @@ BAN_LEGACY_SYSTEM ## Uncomment this to have the job system use the player's account creation date, rather than the when they first joined the server for job timers. #USE_ACCOUNT_AGE_FOR_JOBS +## Unhash this to track player playtime in the database. Requires database to be enabled. +#USE_EXP_TRACKING +## Unhash this to enable playtime requirements for head jobs. +#USE_EXP_RESTRICTIONS_HEADS +## Unhash this to override head jobs' playtime requirements with this number of hours. +#USE_EXP_RESTRICTIONS_HEADS_HOURS 15 +## Unhash this to change head jobs' playtime requirements so that they're based on department playtime, rather than crew playtime. +#USE_EXP_RESTRICTIONS_HEADS_DEPARTMENT +## Unhash this to enable playtime requirements for certain non-head jobs, like Engineer and Scientist. +#USE_EXP_RESTRICTIONS_OTHER +## Allows admins to bypass job playtime requirements. +#USE_EXP_RESTRICTIONS_ADMIN_BYPASS + ## log OOC channel LOG_OOC @@ -205,22 +218,6 @@ TICKLAG 0.5 ## Comment this out to disable automuting #AUTOMUTE_ON -## Communication key for receiving data through world/Topic(), you don't want to give this out -#COMMS_KEY default_pwd - -## World address and port for server recieving cross server messages -#CROSS_SERVER_ADDRESS byond:\\address:port - -## Name that the server calls itself in communications -#CROSS_COMMS_NAME - -## Hub address for tracking stats -## example: Hubmakerckey.Hubname -#MEDAL_HUB_ADDRESS - -## Password for the hub page -#MEDAL_HUB_PASSWORD - ## Uncomment this to let players see their own notes (they can still be set by admins only) #SEE_OWN_NOTES @@ -331,4 +328,4 @@ MINUTE_TOPIC_LIMIT 100 #ERROR_MSG_DELAY 50 ## Send a message to IRC when starting a new game -#IRC_ANNOUNCE_NEW_GAME \ No newline at end of file +#IRC_ANNOUNCE_NEW_GAME diff --git a/config/config.txt.rej b/config/config.txt.rej new file mode 100644 index 0000000000..fee79cf699 --- /dev/null +++ b/config/config.txt.rej @@ -0,0 +1,25 @@ +diff a/config/config.txt b/config/config.txt (rejected hunks) +@@ -32,17 +32,17 @@ BAN_LEGACY_SYSTEM + ## Uncomment this to have the job system use the player's account creation date, rather than the when they first joined the server for job timers. + #USE_ACCOUNT_AGE_FOR_JOBS + +-##Unhash this to track player playtime in the database. Requires database to be enabled. ++## Unhash this to track player playtime in the database. Requires database to be enabled. + #USE_EXP_TRACKING +-##Unhash this to enable playtime requirements for head jobs. ++## Unhash this to enable playtime requirements for head jobs. + #USE_EXP_RESTRICTIONS_HEADS +-##Unhash this to override head jobs' playtime requirements with this number of hours. ++## Unhash this to override head jobs' playtime requirements with this number of hours. + #USE_EXP_RESTRICTIONS_HEADS_HOURS 15 +-##Unhash this to change head jobs' playtime requirements so that they're based on department playtime, rather than crew playtime. ++## Unhash this to change head jobs' playtime requirements so that they're based on department playtime, rather than crew playtime. + #USE_EXP_RESTRICTIONS_HEADS_DEPARTMENT +-##Unhash this to enable playtime requirements for certain non-head jobs, like Engineer and Scientist. ++## Unhash this to enable playtime requirements for certain non-head jobs, like Engineer and Scientist. + #USE_EXP_RESTRICTIONS_OTHER +-##Allows admins to bypass job playtime requirements. ++## Allows admins to bypass job playtime requirements. + #USE_EXP_RESTRICTIONS_ADMIN_BYPASS + + diff --git a/config/custom_roundstart_items.txt b/config/custom_roundstart_items.txt new file mode 100644 index 0000000000..8c5a87a676 --- /dev/null +++ b/config/custom_roundstart_items.txt @@ -0,0 +1,10 @@ +//File should be in the format of ckey|exact character name/exact second character name/ALL for all chars|exact job name/exact job name/or put ALL instead of any job names|/path/to/item=amount;/path/to/item=amount +//Each ckey should be in a different line +//if there's multiple entries of a single ckey the later ones will add to the earlier definitions. +//is obviously a comment. +//Recommend defining one job per line, but do what you want. +//test1|Secondary Memenamefortesting|testjob1/test job 2/ALL|/obj/item/gun/energy/laser=3;/obj/item/gun/energy/laser/retro=1;/obj/item/gun/energy=2 +//test1|Memename Lastname|testjob1|/obj/item/device/aicard=3;/obj/item/device/flightpack=1;/obj/item/gun/energy=3 +//kevinz000|Skylar Lineman|ALL|/obj/item/bikehorn/airhorn=1 +//kevinz000|ALL|Clown|/obj/item/bikehorn=1 +JayEhh|ALL|ALL|/obj/item/custom/ceb_soap=1 \ No newline at end of file diff --git a/config/maps.txt b/config/maps.txt index 8bf54ba4a8..4717a566cf 100644 --- a/config/maps.txt +++ b/config/maps.txt @@ -32,7 +32,3 @@ endmap map deltastation minplayers 50 endmap - -map cerestation - minplayers 45 -endmap \ No newline at end of file diff --git a/config/spaceRuinBlacklist.txt b/config/spaceRuinBlacklist.txt index 56f65f6c24..8a1069408e 100644 --- a/config/spaceRuinBlacklist.txt +++ b/config/spaceRuinBlacklist.txt @@ -41,3 +41,4 @@ #_maps/RandomRuins/SpaceRuins/bus.dmm #_maps/RandomRuins/SpaceRuins/miracle.dmm #_maps/RandomRuins/SpaceRuins/dragoontomb.dmm +#_maps/RandomRuins/SpaceRuins/oldstation.dmm diff --git a/html/changelogs/AutoChangeLog-pr-1986.yml b/html/changelogs/AutoChangeLog-pr-1986.yml deleted file mode 100644 index ad49c4159c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-1986.yml +++ /dev/null @@ -1,14 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - experiment: "Viruses and symptoms have been havily reworked." - - rscadd: "Symptoms now have statistic thresholds, that give them new properties or improve their existing ones if the overall virus statistic is above the threshold. Check the pull request in github or the wiki (soon) for the full list." - - rscdel: "Some symptoms no longer scale linearly with stats, and instead have thresholds." - - tweak: "The symptom limit is now 6." - - rscdel: "Viruses can no longer be made invisible to the Pandemic" - - tweak: "Symptoms no longer trigger with a 5% chance every second, but instead have a minimum and maximum number of seconds between each activation, making them more consistent." - - rscdel: "The symptoms Blood Vomit and Projectile Vomit have been removed, and are now bonuses for the base Vomit symptom." - - rscdel: "The Weakness symptom has been removed as it was completely useless." - - tweak: "The Sensory Destruction symptom has been reworked into Narcolepsy, which causes drowsiness and sleep." - - tweak: "Viral Aggressive Metabolism now has a timer before it starts decaying the virus. It scales with the highest between Resistance or Stage Speed." - - rscadd: "You can now neuter symptoms, making them inactive. They will still affect stats. Adding formaldehyde to a virus will neuter a random symptom. A bottle of formaldehyde starts in the virus fridge." diff --git a/html/changelogs/AutoChangeLog-pr-1999.yml b/html/changelogs/AutoChangeLog-pr-1999.yml deleted file mode 100644 index b2d382d973..0000000000 --- a/html/changelogs/AutoChangeLog-pr-1999.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Re-added cortical borers and syndi-borers, though NOT the cortical borer random event." - - bugfix: "Fixed traitors being able to spam the syndi-borer summon, which annoyed ghosts." - - imageadd: "Added borer icons to their own dmi instead of sharing the animal mob one." diff --git a/html/changelogs/AutoChangeLog-pr-2000.yml b/html/changelogs/AutoChangeLog-pr-2000.yml deleted file mode 100644 index b9b6702370..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2000.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - bugfix: "Fixes IV drips not properly injecting the right amount of blood" diff --git a/html/changelogs/AutoChangeLog-pr-2005.yml b/html/changelogs/AutoChangeLog-pr-2005.yml deleted file mode 100644 index 94226dda9d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2005.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Tacolizard and Cyberboss" -delete-after: True -changes: - - rscadd: "Added two new organs, the liver and stomach. Without them, you won't metabolize chemicals." - - rscadd: "The liver is responsible for processing all chemicals except nutrients. If your liver is removed, you will be unable to metabolize any drugs and will slowly die of toxin damage." - - rscadd: "Drinking too much alcohol or having too many toxins in you will damage your liver, if it becomes too damaged, it will undergo liver failure and you will slowly die of toxin damage. Your liver naturally heals a small amount of its damage. However, it doesn't heal enough to offset stronger alcohols or large amounts of toxins, at least until they are metabolized out of your body." - - rscadd: "to conduct a liver transplant, inject corazone into the patient. Corazone will prevent the patient from taking damage due to either not having a liver or undergoing liver failure. Corazone will metabolize out of the patient quickly, so at least 50u is recommended." - - rscadd: "The stomach is responsible for metabolizing nutrients. Without a stomach, you will be unable to get fat, but you will also be unable to process any nutrients, meaning you will eventually starve to death." diff --git a/html/changelogs/AutoChangeLog-pr-2008.yml b/html/changelogs/AutoChangeLog-pr-2008.yml deleted file mode 100644 index 3a32554dac..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2008.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Raeschen" -delete-after: True -changes: - - tweak: "Changed the avian say prefix of \"says\" to \"chirps\"" diff --git a/html/changelogs/AutoChangeLog-pr-2010.yml b/html/changelogs/AutoChangeLog-pr-2010.yml deleted file mode 100644 index 811519bc50..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2010.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "NewSta" -delete-after: True -changes: - - bugfix: "Fixes the maid apron being invisible when in-hand or attached to the maid outfit." diff --git a/html/changelogs/AutoChangeLog-pr-2015.yml b/html/changelogs/AutoChangeLog-pr-2015.yml deleted file mode 100644 index f91f0d144a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2015.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Icons" -delete-after: True -changes: - - rscadd: "new hunter hat" - - imageadd: "changed PDA sprites" diff --git a/html/changelogs/AutoChangeLog-pr-2019.yml b/html/changelogs/AutoChangeLog-pr-2019.yml deleted file mode 100644 index e9c0ee56ff..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2019.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Time stop is now fixed, finally!" - - soundadd: "Time stop's sound now plays in reverse when the effect ends." diff --git a/html/changelogs/AutoChangeLog-pr-2020.yml b/html/changelogs/AutoChangeLog-pr-2020.yml deleted file mode 100644 index 9615854516..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2020.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscdel: "Removed the Soul Vessel, Cogscarab, and Anima Fragment Scriptures." diff --git a/html/changelogs/AutoChangeLog-pr-2021.yml b/html/changelogs/AutoChangeLog-pr-2021.yml deleted file mode 100644 index 346e10f872..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2021.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - rscdel: "blood and gibs on turfs can no longer infect nearby people" - - tweak: "Tuberculosis bypasses species virus immunity (it's not a virus!)" - - tweak: "Disease and appendicitis events no longer infect clientless mobs" - - tweak: "Disease event will no longer pick virus immune mobs" - - tweak: "Appendicitis event will no longer pick mobs without an appendix" - - bugfix: "Fixed changeling panacea curing non-harmful viruses" diff --git a/html/changelogs/AutoChangeLog-pr-2027.yml b/html/changelogs/AutoChangeLog-pr-2027.yml deleted file mode 100644 index 0a54d8afb5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2027.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Enabled random borer event, increased minimum timer before borer event can happen, decreased possibility of borer event, down to default value, increased minimum living, non-AFK players required for event to happen." diff --git a/html/changelogs/AutoChangeLog-pr-2028.yml b/html/changelogs/AutoChangeLog-pr-2028.yml deleted file mode 100644 index 034de7f77f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2028.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "deathride58" -delete-after: True -changes: - - tweak: "The arousal meter is now invisible when arousal is disabled" diff --git a/html/changelogs/AutoChangeLog-pr-2031.yml b/html/changelogs/AutoChangeLog-pr-2031.yml deleted file mode 100644 index 6d46ce6102..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2031.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Missiles can no longer ricochet off of shuttle walls, etc." diff --git a/html/changelogs/AutoChangeLog-pr-2040.yml b/html/changelogs/AutoChangeLog-pr-2040.yml deleted file mode 100644 index 79dbec26db..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2040.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ninjanomnom" -delete-after: True -changes: - - experiment: "Thank you for updating your ShuttlSoft product! Your last update was -ERROR- years ago. A full changelog can be found at CYG10408.SHSO.b9 along with the EULA. This update lays a foundation for new things to come and a sample in the form of new and improved docking procedures." diff --git a/html/changelogs/AutoChangeLog-pr-2043.yml b/html/changelogs/AutoChangeLog-pr-2043.yml deleted file mode 100644 index 5103382514..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2043.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Winter coats now hold all flashlights properly, instead of seclites." diff --git a/html/changelogs/AutoChangeLog-pr-2047.yml b/html/changelogs/AutoChangeLog-pr-2047.yml deleted file mode 100644 index 0a819f5319..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2047.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - bugfix: "The Ark of the Clockwork Justicar will still forcibly take up a 3x3 area even if it still needs components to activate." diff --git a/html/changelogs/AutoChangeLog-pr-2051.yml b/html/changelogs/AutoChangeLog-pr-2051.yml deleted file mode 100644 index 65347e20a9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2051.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Borers can now inject aphrodisiac and anaphrodisiac." - - tweak: "Borer chemicals now sends flavour text to host when injected into them." diff --git a/html/changelogs/AutoChangeLog-pr-2052.yml b/html/changelogs/AutoChangeLog-pr-2052.yml deleted file mode 100644 index 802b5aca94..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2052.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LetterJay" -delete-after: True -changes: - - imagedel: "Removes the 'yiff in hell' graffiti tag" diff --git a/html/changelogs/AutoChangeLog-pr-2054.yml b/html/changelogs/AutoChangeLog-pr-2054.yml deleted file mode 100644 index 79c1892cf6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2054.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Dannno/Supermichael777/InsaneHyena" -delete-after: True -changes: - - rscadd: "You can now pick from a few different styles when augmenting someone with robot parts by putting them in the augment manipulator. Alt+click to take parts out." diff --git a/html/changelogs/AutoChangeLog-pr-2057.yml b/html/changelogs/AutoChangeLog-pr-2057.yml deleted file mode 100644 index 357a302f84..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2057.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Fixed the refresher variant of the anomalous crystal making holodeck items real" diff --git a/html/changelogs/AutoChangeLog-pr-2065.yml b/html/changelogs/AutoChangeLog-pr-2065.yml deleted file mode 100644 index 0e2c4e9e65..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2065.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - tweak: "breathing plasma now causes direct tox damage" - - tweak: "breathing hot/cold air now warns you when you're doing so, again" - - tweak: "species heat/cold mod now impacts damage from breathing hot/cold gases" diff --git a/html/changelogs/AutoChangeLog-pr-2068.yml b/html/changelogs/AutoChangeLog-pr-2068.yml deleted file mode 100644 index 7f2b8243e7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2068.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Cyborgs now regenerate oxygen damage." - - bugfix: "If a cyborg somehow takes toxin damage, it can be healed with cables as though it was burn damage." diff --git a/html/changelogs/AutoChangeLog-pr-2069.yml b/html/changelogs/AutoChangeLog-pr-2069.yml deleted file mode 100644 index 124ecc2a87..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2069.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "Picking up ores by walking over them now longer spams messages, instead showing one message per tile of ore picked up." diff --git a/html/changelogs/AutoChangeLog-pr-2073.yml b/html/changelogs/AutoChangeLog-pr-2073.yml deleted file mode 100644 index 11f89f7421..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2073.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis & MoreRobustThanYou" -delete-after: True -changes: - - imageadd: "Toolbelts now have overlays for crowbars, wirecutters, screwdrivers, multitools, and wrenches." diff --git a/html/changelogs/AutoChangeLog-pr-2075.yml b/html/changelogs/AutoChangeLog-pr-2075.yml deleted file mode 100644 index 9ab87e9f66..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2075.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Hijacking should now be possible again!" diff --git a/html/changelogs/AutoChangeLog-pr-2083.yml b/html/changelogs/AutoChangeLog-pr-2083.yml deleted file mode 100644 index 76f5b83aef..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2083.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "delayed chloral hydrate actually works now." diff --git a/html/changelogs/AutoChangeLog-pr-2085.yml b/html/changelogs/AutoChangeLog-pr-2085.yml deleted file mode 100644 index 5ff1020c4c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2085.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Re-enabled the custom emote for slimes." diff --git a/html/changelogs/AutoChangeLog-pr-2086.yml b/html/changelogs/AutoChangeLog-pr-2086.yml deleted file mode 100644 index 6511bed053..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2086.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "The blood-drunk miner will fire its KA a bit more often." diff --git a/html/changelogs/AutoChangeLog-pr-2088.yml b/html/changelogs/AutoChangeLog-pr-2088.yml deleted file mode 100644 index bc5d102b8c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2088.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "HAL 9000" -delete-after: True -changes: - - bugfix: "I'm sorry Dave, I'm afraid I can't do that" diff --git a/html/changelogs/AutoChangeLog-pr-2090.yml b/html/changelogs/AutoChangeLog-pr-2090.yml deleted file mode 100644 index be21f5c4d0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2090.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Jay" -delete-after: True -changes: - - imageadd: "New PDA icons" - - bugfix: "fixes missing icons for PDAs" diff --git a/html/changelogs/AutoChangeLog-pr-2091.yml b/html/changelogs/AutoChangeLog-pr-2091.yml deleted file mode 100644 index b2078a5377..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2091.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Reviving Stasis now consistently regenerates organs." diff --git a/html/changelogs/AutoChangeLog-pr-2093.yml b/html/changelogs/AutoChangeLog-pr-2093.yml deleted file mode 100644 index d7b4af9427..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2093.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Mining satchels no longer hold infinite amounts of ore." diff --git a/html/changelogs/AutoChangeLog-pr-2094.yml b/html/changelogs/AutoChangeLog-pr-2094.yml deleted file mode 100644 index e74ec9d15f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2094.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - rscdel: "Water bottles from the sustenance vendor are gone. Wait for the ice in the ice cups melt, criminal scum." - - rscdel: "There is no longer a sink in gulag. Hygiene is for the moral members of society." diff --git a/html/changelogs/AutoChangeLog-pr-2098.yml b/html/changelogs/AutoChangeLog-pr-2098.yml deleted file mode 100644 index a1c9c0326c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2098.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "JStheguy" -delete-after: True -changes: - - imageadd: "Resprited the tablet, including completely redone screen sprites." - - rscadd: "Tablets can now come spawn in one of 5 colors; red, green, yellow, blue, and black." diff --git a/html/changelogs/AutoChangeLog-pr-2099.yml b/html/changelogs/AutoChangeLog-pr-2099.yml deleted file mode 100644 index d44b06e41d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2099.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Medibots now properly render the overlays of the medkits they are made from." diff --git a/html/changelogs/AutoChangeLog-pr-2101.yml b/html/changelogs/AutoChangeLog-pr-2101.yml deleted file mode 100644 index 8be6bd4e31..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2101.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "The Hierophant will now release a burst when melee attacking instead of actually hitting its target." - - bugfix: "The Hierophant Club's blasts will now properly aggro hostile mobs." diff --git a/html/changelogs/AutoChangeLog-pr-2106.yml b/html/changelogs/AutoChangeLog-pr-2106.yml deleted file mode 100644 index 27356cd378..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2106.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Increased minimum timer for xenomorph event from 20 to 40min. Also increased minimum living, non-afk players required from 10 to 20." diff --git a/html/changelogs/AutoChangeLog-pr-2110.yml b/html/changelogs/AutoChangeLog-pr-2110.yml deleted file mode 100644 index 14534a7ed6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2110.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "The latest batch of Syndicate screwdrivers fell into a vat of paint and were colored randomly. We have rinsed them off and they will no longer come in random colors." diff --git a/html/changelogs/AutoChangeLog-pr-2111.yml b/html/changelogs/AutoChangeLog-pr-2111.yml deleted file mode 100644 index e8fd2920c7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2111.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - rscadd: "Pizza box stacks can now fall over" - - imageadd: "Pizza box inhands now stacks depending on how many you're holding." diff --git a/html/changelogs/AutoChangeLog-pr-2115.yml b/html/changelogs/AutoChangeLog-pr-2115.yml deleted file mode 100644 index b43817a7cf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2115.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Supermatter slivers can now be stolen properly." diff --git a/html/changelogs/AutoChangeLog-pr-2119.yml b/html/changelogs/AutoChangeLog-pr-2119.yml deleted file mode 100644 index 6a412027d6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2119.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - tweak: "You can now control-click action buttons to lock them and prevent them from being moved. Alt-clicking the \"Show/Hide Actions\" button will unlock all buttons." - - tweak: "There is now a preference for if buttons should be locked by default or not." diff --git a/html/changelogs/AutoChangeLog-pr-2120.yml b/html/changelogs/AutoChangeLog-pr-2120.yml deleted file mode 100644 index 197c992c6f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2120.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "bandit" -delete-after: True -changes: - - rscadd: "New Cards against Spess cards are available!" diff --git a/html/changelogs/AutoChangeLog-pr-2130.yml b/html/changelogs/AutoChangeLog-pr-2130.yml deleted file mode 100644 index c464b9214b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2130.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Y0SH1_M4S73R" -delete-after: True -changes: - - bugfix: "Romerol zombies count as dead for assassinate and maroon objectives." diff --git a/html/changelogs/AutoChangeLog-pr-2131.yml b/html/changelogs/AutoChangeLog-pr-2131.yml deleted file mode 100644 index b9076f4a4a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2131.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - tweak: "Whenever you're trying to hack off your own limbs, you'll now always hit those limbs." diff --git a/html/changelogs/AutoChangeLog-pr-2132.yml b/html/changelogs/AutoChangeLog-pr-2132.yml deleted file mode 100644 index d788f4bee1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2132.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PopNotes" -delete-after: True -changes: - - soundadd: "Nar-Sie now sounds like an eldritch abomination that obliterates worlds instead of a sweet maiden that gently whispers sweet nothings in your ear." diff --git a/html/changelogs/AutoChangeLog-pr-2133.yml b/html/changelogs/AutoChangeLog-pr-2133.yml deleted file mode 100644 index a3df9c0374..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2133.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "The Subtle emote now properly cancels empty or cancelled emotes." diff --git a/html/changelogs/AutoChangeLog-pr-2134.yml b/html/changelogs/AutoChangeLog-pr-2134.yml deleted file mode 100644 index f16e873b5a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2134.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Rejoice deviants all over, as semen and other such... fluids now have a taste beyond \"Generic Food\"!" diff --git a/html/changelogs/AutoChangeLog-pr-2135.yml b/html/changelogs/AutoChangeLog-pr-2135.yml deleted file mode 100644 index 59b11f3982..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2135.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Tacolizard" -delete-after: True -changes: - - rscadd: "Added cybernetic organs to RnD, they can be used to replace organic organs. Remember to administer corazone during implantation though!" - - rscadd: "Added the upgraded cybernetic liver. It is exceptionally robust against toxins and alcohol poisoning." diff --git a/html/changelogs/AutoChangeLog-pr-2139.yml b/html/changelogs/AutoChangeLog-pr-2139.yml deleted file mode 100644 index d3136b9b6f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2139.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Raeschen" -delete-after: True -changes: - - rscadd: "Added goodbyemoonmen.ogg to /strings/round_start_sounds.txt" - - soundadd: "Added sound/music/goodbyemoonmen.ogg" diff --git a/html/changelogs/AutoChangeLog-pr-2140.yml b/html/changelogs/AutoChangeLog-pr-2140.yml deleted file mode 100644 index eefbf05f4b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2140.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "A new objective is now available for traitors, where their target to assassinate has not yet arrived at the station." - - bugfix: "Random objective target that used to not be random now is." diff --git a/html/changelogs/AutoChangeLog-pr-2142.yml b/html/changelogs/AutoChangeLog-pr-2142.yml deleted file mode 100644 index 79aed9e920..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2142.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Guns like sniper rifles now unzoom if you unequip them or move them to another hand." diff --git a/html/changelogs/AutoChangeLog-pr-2143.yml b/html/changelogs/AutoChangeLog-pr-2143.yml deleted file mode 100644 index ca4975e073..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2143.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Lava rivers though the ash walker nest are now significantly less of a hassle for the ashwalkers." diff --git a/html/changelogs/AutoChangeLog-pr-2145.yml b/html/changelogs/AutoChangeLog-pr-2145.yml deleted file mode 100644 index e55ff2fbb5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2145.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - tweak: "Janitor and service cyborgs now get pocket fire extinguishers for fire suppression and space propulsion." diff --git a/html/changelogs/AutoChangeLog-pr-2147.yml b/html/changelogs/AutoChangeLog-pr-2147.yml deleted file mode 100644 index 2f712f1b5b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2147.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "optional name here" -delete-after: True -changes: - - imageadd: "Updated PDA Icons as well as fix the missing ones/incorrectly used ones. (Art by Cecily & Toriate)" diff --git a/html/changelogs/AutoChangeLog-pr-2151.yml b/html/changelogs/AutoChangeLog-pr-2151.yml deleted file mode 100644 index 75db215b0c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2151.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Informs a person about how bomb cores work" diff --git a/html/changelogs/AutoChangeLog-pr-2154.yml b/html/changelogs/AutoChangeLog-pr-2154.yml deleted file mode 100644 index bb61e5cf17..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2154.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JStheguy" -delete-after: True -changes: - - imageadd: "Most alcohol bottles have been resprited, as well as a poster that used one of the current bottles as part of it's design." diff --git a/html/changelogs/AutoChangeLog-pr-2161.yml b/html/changelogs/AutoChangeLog-pr-2161.yml deleted file mode 100644 index 2a65d07cc2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2161.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - bugfix: "Crafting satchels from leather now makes a leather satchel rather than a regular satchel." diff --git a/html/changelogs/AutoChangeLog-pr-2162.yml b/html/changelogs/AutoChangeLog-pr-2162.yml deleted file mode 100644 index ce63047823..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2162.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - rscadd: "Nanotrasen has begun production of the Rapid Cable Layer, a tool that helps you lay down cables faster" - - rscadd: "You can now craft ghetto RCLs with metal, a screwdriver, welder, and wrench. They hold less cable, and may fall apart or jam!" diff --git a/html/changelogs/AutoChangeLog-pr-2167.yml b/html/changelogs/AutoChangeLog-pr-2167.yml deleted file mode 100644 index 6052615429..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2167.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Ashstorms no longer pierces the protected people to kill anyone/anything in them." diff --git a/html/changelogs/AutoChangeLog-pr-2168.yml b/html/changelogs/AutoChangeLog-pr-2168.yml deleted file mode 100644 index 90eb00b416..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2168.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "ShizCalev" -delete-after: True -changes: - - bugfix: "Robust coffee is now even more robust! No longer will you be drinking frozen hot coffee!" - - bugfix: "Clockwork covenants and Ratvar will no longer go invisible by releasing a canister of freon!" - - bugfix: "Ratvar's summoning portal will no longer be permanently broken by freon." diff --git a/html/changelogs/AutoChangeLog-pr-2169.yml b/html/changelogs/AutoChangeLog-pr-2169.yml deleted file mode 100644 index 1ec1927950..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2169.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FuryMcFlurry" -delete-after: True -changes: - - rscadd: "Added mummy, scarecrow, skeleton, and jester costumes. They don't spawn on the map yet, so make sure to beg the admins for them!" diff --git a/html/changelogs/AutoChangeLog-pr-2170.yml b/html/changelogs/AutoChangeLog-pr-2170.yml deleted file mode 100644 index baa827e813..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2170.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - rscadd: "Sound should carry further, but should get quieter and quieter the further you are from it" diff --git a/html/changelogs/AutoChangeLog-pr-2172.yml b/html/changelogs/AutoChangeLog-pr-2172.yml deleted file mode 100644 index e11cce9cef..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2172.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - rscadd: "Badmins: Buildmode map generators have names in the list to select them, instead of paths." - - rscadd: "Also, a new map generator has been added, repair/reload station. Use it VERY sparingly, it deletes the block of the map and reloads it to roundstart. THIS CAN CAUSE ISSUES WITH MACHINES AND ATMOSPHERICS, SO DO NOT USE IT UNLESS YOU ABSOLUTELY HAVE TO!" - - experiment: "The reload station one tagged DO NOT USE shouldn't be used as it doesn't delete anything before loading, so if you use it you'll have two copies of things. That can result in a LOT of issues, so don't use it unless you're a codermin and know what you're doing/abusing!" diff --git a/html/changelogs/AutoChangeLog-pr-2173.yml b/html/changelogs/AutoChangeLog-pr-2173.yml deleted file mode 100644 index efceb122be..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2173.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Sigils of Transmission can now drain power in a large area when activated by a Servant." - - rscdel: "Interdiction Lenses have been removed, as they were largely only used to drain power into Sigils of Transmission. -balance: Sigils can no longer directly be removed by Servants." diff --git a/html/changelogs/AutoChangeLog-pr-2180.yml b/html/changelogs/AutoChangeLog-pr-2180.yml deleted file mode 100644 index 3bb825e80e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2180.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Stun baton overlays now appear on security belts when active." diff --git a/html/changelogs/AutoChangeLog-pr-2184.yml b/html/changelogs/AutoChangeLog-pr-2184.yml deleted file mode 100644 index a98deab3b8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2184.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Syringes now properly inject targets wearing thick clothing on different slots." diff --git a/html/changelogs/AutoChangeLog-pr-2186.yml b/html/changelogs/AutoChangeLog-pr-2186.yml deleted file mode 100644 index 43bb2fef87..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2186.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "Player-controlled medibots now receive a notice whenever they try to heal someone with too high health." diff --git a/html/changelogs/AutoChangeLog-pr-2189.yml b/html/changelogs/AutoChangeLog-pr-2189.yml deleted file mode 100644 index 2bdbc7d471..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2189.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Raeschen" -delete-after: True -changes: - - rscdel: "Removed a whole bunch of hivebots." - - rscadd: "Added stronger hivebots." diff --git a/html/changelogs/AutoChangeLog-pr-2190.yml b/html/changelogs/AutoChangeLog-pr-2190.yml deleted file mode 100644 index 901dde7c7b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2190.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "Eyes can now be properly damaged." diff --git a/html/changelogs/AutoChangeLog-pr-2193.yml b/html/changelogs/AutoChangeLog-pr-2193.yml deleted file mode 100644 index 46988eaee1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2193.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "Removed an improper period from the supermatter sliver theft objective's name." diff --git a/html/changelogs/AutoChangeLog-pr-2196.yml b/html/changelogs/AutoChangeLog-pr-2196.yml deleted file mode 100644 index 736d98cb66..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2196.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Colossus's shotgun is now a static-spread blast of 6 bolts, making it more predictable." diff --git a/html/changelogs/AutoChangeLog-pr-2197.yml b/html/changelogs/AutoChangeLog-pr-2197.yml deleted file mode 100644 index 6d4e8f4089..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2197.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - rscadd: "Surgical toolarm to protolathe and exofab" - - tweak: "Toolarm tools are less robust but more efficient at surgery" - - tweak: "Arm augments are no longer a huge item" diff --git a/html/changelogs/AutoChangeLog-pr-2209.yml b/html/changelogs/AutoChangeLog-pr-2209.yml deleted file mode 100644 index c65bfd79cc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2209.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Changed how borers win-conditions are displayed. Syndicate borers are now listed with other cortical borers, as they can count for their team-objective even if they don't share it." diff --git a/html/changelogs/AutoChangeLog-pr-2211.yml b/html/changelogs/AutoChangeLog-pr-2211.yml deleted file mode 100644 index 9852662933..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2211.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Borers of all kinds now have a HUD element to see other sentient borers and their hosts. (Hosts cannot see this HUD)" diff --git a/html/changelogs/AutoChangeLog-pr-2215.yml b/html/changelogs/AutoChangeLog-pr-2215.yml deleted file mode 100644 index f02f2d33cf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2215.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis and oranges" -delete-after: True -changes: - - bugfix: "Banana cream pies no longer splat when they're caught by someone." - - soundadd: "Throwing a pie in someone's face now has a splat sound." diff --git a/html/changelogs/AutoChangeLog-pr-2231.yml b/html/changelogs/AutoChangeLog-pr-2231.yml deleted file mode 100644 index c25b4b2b49..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2231.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - tweak: "Spell action buttons now have their description in a tooltip." diff --git a/html/changelogs/AutoChangeLog-pr-2232.yml b/html/changelogs/AutoChangeLog-pr-2232.yml deleted file mode 100644 index 8d82c65d9f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2232.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Floyd (and sprites by Maya from Yogstation13)" -delete-after: True -changes: - - rscadd: "Makes rat edible. Only lizards really enjoy eating them, though." - - rscadd: "Adds food types to all food, which means you can no longer eat whatever the hell you want." - - rscadd: "Adds a disgust system, currently only used with food." - - rscadd: "Pukonium, makes whoever it is injected to disgusted." - - rscadd: "Makes pod people vegan, or well, carnivores. It depends on how you look at it, really." diff --git a/html/changelogs/AutoChangeLog-pr-2233.yml b/html/changelogs/AutoChangeLog-pr-2233.yml deleted file mode 100644 index 4a8109664b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2233.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - rscadd: "Adds the \"seedling\" planetstation mob to the backend" diff --git a/html/changelogs/AutoChangeLog-pr-2242.yml b/html/changelogs/AutoChangeLog-pr-2242.yml deleted file mode 100644 index 69b47043d3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2242.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Cloning and podding people no longer forgets to put the genitals back in you." - - bugfix: "Changeling and other DNA transformations now apply the appropriate genitalia." diff --git a/html/changelogs/AutoChangeLog-pr-2245.yml b/html/changelogs/AutoChangeLog-pr-2245.yml deleted file mode 100644 index 3f19f56d03..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2245.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Galactic Corgi Breeding Mills, LLC" -delete-after: True -changes: - - bugfix: "Fixed corgis being able to wear spacesuit helmets despite lacking the proper code and sprites for them." diff --git a/html/changelogs/AutoChangeLog-pr-2249.yml b/html/changelogs/AutoChangeLog-pr-2249.yml deleted file mode 100644 index 4cc75881bc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2249.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Alien hunters can no longer pounce through shields." diff --git a/html/changelogs/AutoChangeLog-pr-2253.yml b/html/changelogs/AutoChangeLog-pr-2253.yml deleted file mode 100644 index 142950f442..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2253.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Floyd" -delete-after: True -changes: - - bugfix: "No longer does everyone look like a sick, nauseated weirdo!" diff --git a/html/changelogs/AutoChangeLog-pr-2266.yml b/html/changelogs/AutoChangeLog-pr-2266.yml deleted file mode 100644 index 2a02edfb87..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2266.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Objects on shuttles now rotate in the correct directions." diff --git a/html/changelogs/AutoChangeLog-pr-2274.yml b/html/changelogs/AutoChangeLog-pr-2274.yml deleted file mode 100644 index ef5c537edd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2274.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Lexorion" -delete-after: True -changes: - - imageadd: "Hearty Punch has a new, fancier sprite." diff --git a/html/changelogs/AutoChangeLog-pr-2281.yml b/html/changelogs/AutoChangeLog-pr-2281.yml deleted file mode 100644 index 189f18a117..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2281.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Character preview now displays genitals again." diff --git a/html/changelogs/AutoChangeLog-pr-2287.yml b/html/changelogs/AutoChangeLog-pr-2287.yml deleted file mode 100644 index d6b77f9436..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2287.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Turning off APCs will no longer make the weather in that area invisible." diff --git a/html/changelogs/AutoChangeLog-pr-2291.yml b/html/changelogs/AutoChangeLog-pr-2291.yml deleted file mode 100644 index 4b87a21dfd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2291.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - soundadd: "The speakers in the ceiling have been upgraded, and many sounds are now less tinny." diff --git a/html/changelogs/AutoChangeLog-pr-2295.yml b/html/changelogs/AutoChangeLog-pr-2295.yml deleted file mode 100644 index c34d19ac6f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2295.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - tweak: "Mulligan and non-continuous completion checks will not consider afk/logged out people to be \"living crew\"." diff --git a/html/changelogs/AutoChangeLog-pr-2298.yml b/html/changelogs/AutoChangeLog-pr-2298.yml deleted file mode 100644 index 3d12cf9dee..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2298.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Preys being digested now get their digestion message" diff --git a/html/changelogs/AutoChangeLog-pr-2299.yml b/html/changelogs/AutoChangeLog-pr-2299.yml deleted file mode 100644 index 7f5e8730dc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2299.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JStheguy" -delete-after: True -changes: - - imageadd: "Laptops now have actual sprites for using the supermatter monitoring instead of defaulting to a generic one." diff --git a/html/changelogs/AutoChangeLog-pr-2301.yml b/html/changelogs/AutoChangeLog-pr-2301.yml deleted file mode 100644 index 2924b5a5ad..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2301.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LetterJay" -delete-after: True -changes: - - rscadd: "Adds bear ears and bear tails (Sprites courtesy of LizziePup)" diff --git a/html/changelogs/AutoChangeLog-pr-2305.yml b/html/changelogs/AutoChangeLog-pr-2305.yml deleted file mode 100644 index fbd7208358..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2305.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - imageadd: "Belligerent now has a visible indicator over the caster." diff --git a/html/changelogs/AutoChangeLog-pr-2308.yml b/html/changelogs/AutoChangeLog-pr-2308.yml deleted file mode 100644 index 1d367c4d84..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2308.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Penises can now climax inside someone instead of only be used for masturbating. Use passive grab to be able to spill on the floor, aggressive or higher grab to not spill a drop." - - rscadd: "Hexacrocin and hexacamphor now adjusts your arousal up respectively down when overdosed. Hexacrocin overdoses can force orgasms at high arousal." - - bugfix: "Penises can now be used for masturbation without containers again." - - bugfix: "Citadel chems now sends you feedback messages properly when in effect." diff --git a/html/changelogs/AutoChangeLog-pr-2309.yml b/html/changelogs/AutoChangeLog-pr-2309.yml deleted file mode 100644 index 89ceed6223..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2309.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Cloner and other mind-transfer things now respect client arousal settings." diff --git a/html/changelogs/AutoChangeLog-pr-2319.yml b/html/changelogs/AutoChangeLog-pr-2319.yml deleted file mode 100644 index 4ca8998875..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2319.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Swarmer shells now have ghost notifications again." diff --git a/html/changelogs/AutoChangeLog-pr-2320.yml b/html/changelogs/AutoChangeLog-pr-2320.yml deleted file mode 100644 index 695f23e7de..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2320.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LetterJay" -delete-after: True -changes: - - tweak: "Adds the option for bear ears and tails for humans as well." diff --git a/html/changelogs/AutoChangeLog-pr-2325.yml b/html/changelogs/AutoChangeLog-pr-2325.yml deleted file mode 100644 index 5ad1b25324..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2325.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Pubby" -delete-after: True -changes: - - rscadd: "The Curator job is now available on PubbyStation" - - rscadd: "Beekeeping has been added to PubbyStation's monastery" - - tweak: "PubbyStation's bar has been rearranged" diff --git a/html/changelogs/AutoChangeLog-pr-2329.yml b/html/changelogs/AutoChangeLog-pr-2329.yml deleted file mode 100644 index 2950b70fbb..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2329.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Adds flared, knotted or tapered dicks for Taur bodies." - - tweak: "Resized the cow-taur's over-extended belly to match the profile picture, no longer completely blocking the taur penises." - - bugfix: "Barbed, knotted penises and other such long-named cocks are now visible on the ground if dismembered." diff --git a/html/changelogs/AutoChangeLog-pr-2335.yml b/html/changelogs/AutoChangeLog-pr-2335.yml deleted file mode 100644 index 5681e3d5f9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2335.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Flavortext is now in the DNA of mobs who has that, meaning changelings, cloners and such things use it properly." diff --git a/html/changelogs/AutoChangeLog-pr-2339.yml b/html/changelogs/AutoChangeLog-pr-2339.yml deleted file mode 100644 index c7f3d42698..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2339.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - tweak: "His Grace now shows up on the orbit list" diff --git a/html/changelogs/AutoChangeLog-pr-2346.yml b/html/changelogs/AutoChangeLog-pr-2346.yml deleted file mode 100644 index c42300a173..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2346.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - tweak: "The wiki button now asks what page you want to be taken to" diff --git a/html/changelogs/AutoChangeLog-pr-2350.yml b/html/changelogs/AutoChangeLog-pr-2350.yml deleted file mode 100644 index 07e0f51b62..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2350.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Minebots no longer lack icons for their action buttons." diff --git a/html/changelogs/AutoChangeLog-pr-2356.yml b/html/changelogs/AutoChangeLog-pr-2356.yml deleted file mode 100644 index 218da24865..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2356.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - imageadd: "Adds icon_states to the unused and used Eldritch whetstones. Sprites by Fury McFlurry." diff --git a/html/changelogs/AutoChangeLog-pr-2357.yml b/html/changelogs/AutoChangeLog-pr-2357.yml deleted file mode 100644 index f63277f66f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2357.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Breasts can now be used to masturbate/milk yourselves." - - rscadd: "You can now expose genitals through clothing using a verb in the IC tab." - - tweak: "Pressing the Arousal HUD symbol will now bring up several options to use. Pull or be pulled by someone who's exposed to have them appear as an option." - - tweak: "Made hexacamphor/hexacrocin less verbose and trigger forced climaxes less often to avoid incredible spam." - - tweak: "Being forced to orgasm while pulled or pulling someone now counts them as your selected partner." diff --git a/html/changelogs/AutoChangeLog-pr-2359.yml b/html/changelogs/AutoChangeLog-pr-2359.yml deleted file mode 100644 index 8455963dc6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2359.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - imageadd: "Ported CEV-Eris's APC sprites." diff --git a/html/changelogs/AutoChangeLog-pr-2362.yml b/html/changelogs/AutoChangeLog-pr-2362.yml deleted file mode 100644 index 5bdc603b06..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2362.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - bugfix: "Fixes a typo in the blobbernaut spawn text" diff --git a/html/changelogs/AutoChangeLog-pr-2363.yml b/html/changelogs/AutoChangeLog-pr-2363.yml deleted file mode 100644 index e8f5b574ae..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2363.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - tweak: "Canisters don't flash red lights anymore when empty." diff --git a/html/changelogs/AutoChangeLog-pr-2371.yml b/html/changelogs/AutoChangeLog-pr-2371.yml deleted file mode 100644 index ec1810b8a6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2371.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "The Resurrect Cultist rune now works as intended." diff --git a/html/changelogs/AutoChangeLog-pr-2376.yml b/html/changelogs/AutoChangeLog-pr-2376.yml deleted file mode 100644 index 1d1a2007b5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2376.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShizCalev" -delete-after: True -changes: - - bugfix: "The Singularity, Tesla energy ball, tears in the fabric of reality, and Narsie will no longer be frozen by freon." diff --git a/html/changelogs/AutoChangeLog-pr-2377.yml b/html/changelogs/AutoChangeLog-pr-2377.yml deleted file mode 100644 index 4996a03563..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2377.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - bugfix: "Fixes mining hardsuit heat_protection" diff --git a/html/changelogs/AutoChangeLog-pr-2399.yml b/html/changelogs/AutoChangeLog-pr-2399.yml deleted file mode 100644 index 2d162a5edf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2399.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - rscadd: "Blobs can now sense when they're being cuddled!" diff --git a/html/changelogs/AutoChangeLog-pr-2402.yml b/html/changelogs/AutoChangeLog-pr-2402.yml deleted file mode 100644 index 0ef97907fd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2402.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - imageadd: "Nanotrasen redesigned the area power controllers!" - - imageadd: "Thanks Xhuis for the contrast tweak on APCs" diff --git a/html/changelogs/AutoChangeLog-pr-2408.yml b/html/changelogs/AutoChangeLog-pr-2408.yml deleted file mode 100644 index 92f33a9292..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2408.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - soundadd: "The station's explosion now uses a new (or old) sound." diff --git a/html/changelogs/AutoChangeLog-pr-2428.yml b/html/changelogs/AutoChangeLog-pr-2428.yml deleted file mode 100644 index 76adf39bcd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2428.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "The chat message has been removed from *spin. I hope you're happy." diff --git a/html/changelogs/AutoChangeLog-pr-2437.yml b/html/changelogs/AutoChangeLog-pr-2437.yml deleted file mode 100644 index 1a54eed45e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2437.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - bugfix: "Deltastation's N2O console has been renamed to be an N2O console." - - tweak: "Deltastation's atmos now has a fire axe." diff --git a/html/changelogs/AutoChangeLog-pr-2438.yml b/html/changelogs/AutoChangeLog-pr-2438.yml deleted file mode 100644 index 9195a11183..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2438.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "Viruses will now be able to affect more than one person at a time." diff --git a/html/changelogs/AutoChangeLog-pr-2439.yml b/html/changelogs/AutoChangeLog-pr-2439.yml deleted file mode 100644 index c92b5e2235..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2439.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShizCalev" -delete-after: True -changes: - - tweak: "The singularity will now dig up asteroids when in proximity of them. Please watch for flying debris." diff --git a/html/changelogs/AutoChangeLog-pr-2440.yml b/html/changelogs/AutoChangeLog-pr-2440.yml new file mode 100644 index 0000000000..b353d7b79b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2440.yml @@ -0,0 +1,4 @@ +author: "XDTM" +delete-after: True +changes: + - rscadd: "You can now click on symptoms in the Pandemic to see their description and stats" diff --git a/html/changelogs/AutoChangeLog-pr-2442.yml b/html/changelogs/AutoChangeLog-pr-2442.yml new file mode 100644 index 0000000000..47a8464ffb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2442.yml @@ -0,0 +1,5 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - experiment: "The amount of time spent playing, and jobs played are now tracked per player." + - experiment: "This tracking can be used as a requirement of playtime to unlock jobs." diff --git a/html/changelogs/AutoChangeLog-pr-2448.yml b/html/changelogs/AutoChangeLog-pr-2448.yml deleted file mode 100644 index 40610a2afe..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2448.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Taurs now rely on their taur-sprites to render legs, instead of rendering human legs on top of them. Mostly impacts driders and such uniquely legged individuals." diff --git a/html/changelogs/AutoChangeLog-pr-2461.yml b/html/changelogs/AutoChangeLog-pr-2461.yml deleted file mode 100644 index 4f33badb1b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2461.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - tweak: "Garbage collection happens less often now to reduce the lag caused by hard deletions." diff --git a/html/changelogs/AutoChangeLog-pr-2463.yml b/html/changelogs/AutoChangeLog-pr-2463.yml new file mode 100644 index 0000000000..72c9de6edd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2463.yml @@ -0,0 +1,4 @@ +author: "Xhuis" +delete-after: True +changes: + - bugfix: "You can now empty storage objects onto floors again." diff --git a/html/changelogs/AutoChangeLog-pr-2465.yml b/html/changelogs/AutoChangeLog-pr-2465.yml deleted file mode 100644 index 2b2c8bfc8b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2465.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Boss tiles have been reconstructed out of an unstoppable force." diff --git a/html/changelogs/AutoChangeLog-pr-2471.yml b/html/changelogs/AutoChangeLog-pr-2471.yml deleted file mode 100644 index a7264612a1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2471.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Dogborgs now properly sends chat messages when using their unique modules." - - bugfix: "Medidogs now respect vore prefs." - - bugfix: "Dogborg modules now respect the laws of physics, in regards to only eating/cleaning people/things near them." - - bugfix: "Dogborg stuff now has that nice progress-bar show up when trying to do things." diff --git a/html/changelogs/AutoChangeLog-pr-2483.yml b/html/changelogs/AutoChangeLog-pr-2483.yml deleted file mode 100644 index f36e6c226c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2483.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - tweak: "The cooldown on communications console announcements is halved from 60 to 30 seconds." diff --git a/html/changelogs/AutoChangeLog-pr-2487.yml b/html/changelogs/AutoChangeLog-pr-2487.yml deleted file mode 100644 index c7e214e26e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2487.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Geis bindings will decay slower when on a Sigil of Submission, and, if being pulled by a Servant when crossing a Sigil of Submission, will helpfully remove the pull." - - tweak: "Removing Geis bindings is no longer instant and can be done by any Servant with a slab, not just the initiator." - - wip: "Geis no longer prevents you from taking actions, but you remain unable to recite scripture while the target is bound. In addition, dealing damage to a bound target will cause the bindings to decay much more rapidly." - - rscadd: "You can now remove sigils by hitting them with a clockwork slab for a small refund." diff --git a/html/changelogs/AutoChangeLog-pr-2509.yml b/html/changelogs/AutoChangeLog-pr-2509.yml new file mode 100644 index 0000000000..c54ef55884 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2509.yml @@ -0,0 +1,4 @@ +author: "MMMiracles" +delete-after: True +changes: + - rscdel: "Cerestation has been decommissioned. Nanotrasen apologizes for any spikes of suicidal tendencies, sporadic outbursts of primitive anger, and other issues that may of been caused during the station's run." diff --git a/html/changelogs/AutoChangeLog-pr-2513.yml b/html/changelogs/AutoChangeLog-pr-2513.yml deleted file mode 100644 index 53e3fcd985..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2513.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Heresy has come to the station, humans must now select custom skin colours! Specific RGB values can be enterred in order to get just the right tone of skin your special snowflake needs, just like you can for other humanoids!" diff --git a/html/changelogs/AutoChangeLog-pr-2517.yml b/html/changelogs/AutoChangeLog-pr-2517.yml deleted file mode 100644 index 3c3c7c5283..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2517.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Set all food preferences to NONE for all species." diff --git a/html/changelogs/AutoChangeLog-pr-2545.yml b/html/changelogs/AutoChangeLog-pr-2545.yml new file mode 100644 index 0000000000..b3f555c1c2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2545.yml @@ -0,0 +1,4 @@ +author: "Cobby & Cyberboss" +delete-after: True +changes: + - rscadd: "A stealth option for the traitor microlaser has been added. When used, it adds 30 seconds to the cooldown of the device." diff --git a/html/changelogs/AutoChangeLog-pr-2555.yml b/html/changelogs/AutoChangeLog-pr-2555.yml new file mode 100644 index 0000000000..6991c2709b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2555.yml @@ -0,0 +1,4 @@ +author: "Jay" +delete-after: True +changes: + - bugfix: "Fixes missing Guilmon var that prevented their bodymarkings form showing up in character creation" diff --git a/html/changelogs/AutoChangeLog-pr-2278.yml b/html/changelogs/AutoChangeLog-pr-2557.yml similarity index 50% rename from html/changelogs/AutoChangeLog-pr-2278.yml rename to html/changelogs/AutoChangeLog-pr-2557.yml index 111ae24812..50126b4a99 100644 --- a/html/changelogs/AutoChangeLog-pr-2278.yml +++ b/html/changelogs/AutoChangeLog-pr-2557.yml @@ -1,4 +1,4 @@ author: "CitadelStationBot" delete-after: True changes: - - bugfix: "Fixed hair sticking through headgear." + - balance: "Hacked AI module cost is reduced to 9TC" diff --git a/html/changelogs/AutoChangeLog-pr-2559.yml b/html/changelogs/AutoChangeLog-pr-2559.yml new file mode 100644 index 0000000000..467f79bd99 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2559.yml @@ -0,0 +1,4 @@ +author: "ninjanomnom" +delete-after: True +changes: + - bugfix: "Fixed a problem with shuttles being unrepairable under certain circumstances." diff --git a/html/changelogs/AutoChangeLog-pr-2568.yml b/html/changelogs/AutoChangeLog-pr-2568.yml new file mode 100644 index 0000000000..fd6b478a7a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2568.yml @@ -0,0 +1,4 @@ +author: "Kor" +delete-after: True +changes: + - balance: "Slime people can consume meat and dairy again." diff --git a/html/changelogs/AutoChangeLog-pr-2578.yml b/html/changelogs/AutoChangeLog-pr-2578.yml new file mode 100644 index 0000000000..479ce904f9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2578.yml @@ -0,0 +1,6 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Pouring radium into a ninja suit restores adrenaline boosts." + - bugfix: "Adrenaline boost works while unconscious again." + - bugfix: "Energy nets can be used again!" diff --git a/html/changelogs/AutoChangeLog-pr-2588.yml b/html/changelogs/AutoChangeLog-pr-2588.yml new file mode 100644 index 0000000000..3ab78efa1d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2588.yml @@ -0,0 +1,4 @@ +author: "LetterJay" +delete-after: True +changes: + - bugfix: "Actually fixes missing guilmon issue and puts it correctly in the list. (I tested it.)" diff --git a/html/changelogs/AutoChangeLog-pr-2590.yml b/html/changelogs/AutoChangeLog-pr-2590.yml new file mode 100644 index 0000000000..acada72b29 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2590.yml @@ -0,0 +1,4 @@ +author: "as334" +delete-after: True +changes: + - rscadd: "Added a mass spectrometer to the detective's closet" diff --git a/html/changelogs/AutoChangeLog-pr-2592.yml b/html/changelogs/AutoChangeLog-pr-2592.yml new file mode 100644 index 0000000000..95feb0302e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2592.yml @@ -0,0 +1,4 @@ +author: "Jay" +delete-after: True +changes: + - rscdel: "Removes swarmers from the event table for the time being." diff --git a/html/changelogs/AutoChangeLog-pr-2623.yml b/html/changelogs/AutoChangeLog-pr-2623.yml new file mode 100644 index 0000000000..a78e6393ef --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2623.yml @@ -0,0 +1,4 @@ +author: "Poojawa" +delete-after: True +changes: + - rscadd: "Sofas are now able to be built, they're basically chairs still." diff --git a/html/changelogs/AutoChangeLog-pr-2625.yml b/html/changelogs/AutoChangeLog-pr-2625.yml new file mode 100644 index 0000000000..df49005b81 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2625.yml @@ -0,0 +1,4 @@ +author: "Raeschen" +delete-after: True +changes: + - tweak: "oldstation.dmm blacklisted" diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 42226c7d2b..3ed8c153d8 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/gorilla.dmi b/icons/mob/gorilla.dmi new file mode 100644 index 0000000000..77d03fa606 Binary files /dev/null and b/icons/mob/gorilla.dmi differ diff --git a/icons/mob/human_parts_greyscale.dmi b/icons/mob/human_parts_greyscale.dmi index a06f490fa7..b6d51f17ee 100644 Binary files a/icons/mob/human_parts_greyscale.dmi and b/icons/mob/human_parts_greyscale.dmi differ diff --git a/icons/mob/inhands/64x64_lefthand.dmi b/icons/mob/inhands/64x64_lefthand.dmi index ba2f54dac3..a9a952733a 100644 Binary files a/icons/mob/inhands/64x64_lefthand.dmi and b/icons/mob/inhands/64x64_lefthand.dmi differ diff --git a/icons/mob/inhands/64x64_righthand.dmi b/icons/mob/inhands/64x64_righthand.dmi index 05023605fa..bff96a991b 100644 Binary files a/icons/mob/inhands/64x64_righthand.dmi and b/icons/mob/inhands/64x64_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/instruments_lefthand.dmi b/icons/mob/inhands/equipment/instruments_lefthand.dmi index 3c168f9d3d..11ae1895d1 100644 Binary files a/icons/mob/inhands/equipment/instruments_lefthand.dmi and b/icons/mob/inhands/equipment/instruments_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/instruments_righthand.dmi b/icons/mob/inhands/equipment/instruments_righthand.dmi index bb264c1370..fcf891a581 100644 Binary files a/icons/mob/inhands/equipment/instruments_righthand.dmi and b/icons/mob/inhands/equipment/instruments_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_lefthand.dmi b/icons/mob/inhands/equipment/medical_lefthand.dmi index d55cf81f92..24c79727d0 100644 Binary files a/icons/mob/inhands/equipment/medical_lefthand.dmi and b/icons/mob/inhands/equipment/medical_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_righthand.dmi b/icons/mob/inhands/equipment/medical_righthand.dmi index 764c5c542a..427e29c49c 100644 Binary files a/icons/mob/inhands/equipment/medical_righthand.dmi and b/icons/mob/inhands/equipment/medical_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/security_lefthand.dmi b/icons/mob/inhands/equipment/security_lefthand.dmi index a9f3c36ac1..6ccdfba3fc 100644 Binary files a/icons/mob/inhands/equipment/security_lefthand.dmi and b/icons/mob/inhands/equipment/security_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/security_righthand.dmi b/icons/mob/inhands/equipment/security_righthand.dmi index 201eaa19aa..e3f930a13e 100644 Binary files a/icons/mob/inhands/equipment/security_righthand.dmi and b/icons/mob/inhands/equipment/security_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/tools_lefthand.dmi b/icons/mob/inhands/equipment/tools_lefthand.dmi index c694968cd1..4f256eea92 100644 Binary files a/icons/mob/inhands/equipment/tools_lefthand.dmi and b/icons/mob/inhands/equipment/tools_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/tools_righthand.dmi b/icons/mob/inhands/equipment/tools_righthand.dmi index 18de0a1d68..4661d879c8 100644 Binary files a/icons/mob/inhands/equipment/tools_righthand.dmi and b/icons/mob/inhands/equipment/tools_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 414d12d508..198c2ee663 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index e6c633294e..cef6409ca2 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/misc/books_lefthand.dmi b/icons/mob/inhands/misc/books_lefthand.dmi index 180e1999a4..71d06d345a 100644 Binary files a/icons/mob/inhands/misc/books_lefthand.dmi and b/icons/mob/inhands/misc/books_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/books_righthand.dmi b/icons/mob/inhands/misc/books_righthand.dmi index ac7ed504d6..906f47bfe9 100644 Binary files a/icons/mob/inhands/misc/books_righthand.dmi and b/icons/mob/inhands/misc/books_righthand.dmi differ diff --git a/icons/mob/inhands/misc/lavaland_lefthand.dmi b/icons/mob/inhands/misc/lavaland_lefthand.dmi new file mode 100644 index 0000000000..74654a89a4 Binary files /dev/null and b/icons/mob/inhands/misc/lavaland_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/lavaland_righthand.dmi b/icons/mob/inhands/misc/lavaland_righthand.dmi new file mode 100644 index 0000000000..c1b2447e22 Binary files /dev/null and b/icons/mob/inhands/misc/lavaland_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/bombs_lefthand.dmi b/icons/mob/inhands/weapons/bombs_lefthand.dmi index a084091414..df168f848d 100644 Binary files a/icons/mob/inhands/weapons/bombs_lefthand.dmi and b/icons/mob/inhands/weapons/bombs_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/bombs_righthand.dmi b/icons/mob/inhands/weapons/bombs_righthand.dmi index 39b50584ce..718441b312 100644 Binary files a/icons/mob/inhands/weapons/bombs_righthand.dmi and b/icons/mob/inhands/weapons/bombs_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index 60233a4dc9..de77656a15 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index fe15449aba..33f88d0d96 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/jungle/arachnid.dmi b/icons/mob/jungle/arachnid.dmi index ccd52eeb7d..23482d00eb 100644 Binary files a/icons/mob/jungle/arachnid.dmi and b/icons/mob/jungle/arachnid.dmi differ diff --git a/icons/mob/jungle/leaper.dmi b/icons/mob/jungle/leaper.dmi new file mode 100644 index 0000000000..39f807a191 Binary files /dev/null and b/icons/mob/jungle/leaper.dmi differ diff --git a/icons/mob/jungle/mook.dmi b/icons/mob/jungle/mook.dmi new file mode 100644 index 0000000000..c9265b22a0 Binary files /dev/null and b/icons/mob/jungle/mook.dmi differ diff --git a/icons/mob/jungle/seedling.dmi b/icons/mob/jungle/seedling.dmi new file mode 100644 index 0000000000..01e91c6c29 Binary files /dev/null and b/icons/mob/jungle/seedling.dmi differ diff --git a/icons/mob/mam_body_markings.dmi b/icons/mob/mam_body_markings.dmi index fdb97490c8..ea4ca10627 100644 Binary files a/icons/mob/mam_body_markings.dmi and b/icons/mob/mam_body_markings.dmi differ diff --git a/icons/mob/mam_bodyparts.dmi b/icons/mob/mam_bodyparts.dmi index 7de9b40734..8adb82544e 100644 Binary files a/icons/mob/mam_bodyparts.dmi and b/icons/mob/mam_bodyparts.dmi differ diff --git a/icons/obj/clothing/cloaks.dmi b/icons/obj/clothing/cloaks.dmi index dd1ae7d727..b61ea963da 100644 Binary files a/icons/obj/clothing/cloaks.dmi and b/icons/obj/clothing/cloaks.dmi differ diff --git a/icons/obj/custom.dmi b/icons/obj/custom.dmi new file mode 100644 index 0000000000..3b812e445a Binary files /dev/null and b/icons/obj/custom.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 92ce2efa3e..7667672715 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/icons/obj/sofa.dmi b/icons/obj/sofa.dmi new file mode 100644 index 0000000000..dafe06a7f1 Binary files /dev/null and b/icons/obj/sofa.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index ee1d186509..a0521414f1 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/sound/creatures/gorilla.ogg b/sound/creatures/gorilla.ogg new file mode 100644 index 0000000000..cde0bc1edc Binary files /dev/null and b/sound/creatures/gorilla.ogg differ diff --git a/sound/music/flytothemoon_otomatone.ogg b/sound/music/flytothemoon_otomatone.ogg new file mode 100644 index 0000000000..d0267dd12b Binary files /dev/null and b/sound/music/flytothemoon_otomatone.ogg differ diff --git a/strings/brain_damage_lines.json b/strings/brain_damage_lines.json index af040d5ba0..5efd3ac9b2 100644 --- a/strings/brain_damage_lines.json +++ b/strings/brain_damage_lines.json @@ -101,6 +101,7 @@ "SINGULO eNGINE 2 DANGER, SOLARS PLS!", "nerf blob!1", "iM NOT A FUWRRYY!!!", + "DON'T EVER TUCH ME", "FOURTEEN INCHES SOFT!!!" ], diff --git a/strings/brain_damage_lines.json.rej b/strings/brain_damage_lines.json.rej deleted file mode 100644 index 6d8e1cdb62..0000000000 --- a/strings/brain_damage_lines.json.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/strings/brain_damage_lines.json b/strings/brain_damage_lines.json (rejected hunks) -@@ -131,7 +131,7 @@ - "", - "IS TIS A BUG??", - "SI IST A BUGG/", -- "BUG!!!" -+ "BUG!!!" - ], - - "semicolon": [ diff --git a/strings/greek_letters.txt b/strings/greek_letters.txt new file mode 100644 index 0000000000..b1014aa178 --- /dev/null +++ b/strings/greek_letters.txt @@ -0,0 +1,24 @@ +Alpha +Beta +Gamma +Delta +Epsilon +Zeta +Eta +Theta +Iota +Kappa +Lambda +Mu +Nu +Xi +Omicron +Pi +Rho +Sigma +Tau +Upsilon +Phi +Chi +Psi +Omega \ No newline at end of file diff --git a/strings/numbers_as_words.txt b/strings/numbers_as_words.txt new file mode 100644 index 0000000000..f7c620cd9b --- /dev/null +++ b/strings/numbers_as_words.txt @@ -0,0 +1,20 @@ +One +Two +Three +Four +Five +Six +Seven +Eight +Nine +Ten +Eleven +Twelve +Thirteen +Fourteen +Fifteen +Sixteen +Seventeen +Eighteen +Nineteen +Twenty \ No newline at end of file diff --git a/strings/phonetic_alphabet.txt b/strings/phonetic_alphabet.txt new file mode 100644 index 0000000000..d77c1164ca --- /dev/null +++ b/strings/phonetic_alphabet.txt @@ -0,0 +1,26 @@ +Alpha +Bravo +Charlie +Delta +Echo +Foxtrot +Golf +Hotel +India +Juliet +Kilo +Lima +Mike +November +Oscar +Papa +Quebec +Romeo +Sierra +Tango +Uniform +Victor +Whiskey +X-ray +Yankee +Zulu \ No newline at end of file diff --git a/strings/round_start_sounds.txt b/strings/round_start_sounds.txt index 620c4af537..01323a6120 100644 --- a/strings/round_start_sounds.txt +++ b/strings/round_start_sounds.txt @@ -18,4 +18,5 @@ sound/music/torvus.ogg sound/music/shootingstars.ogg sound/music/oceanman.ogg sound/music/indeep.ogg -sound/music/goodbyemoonmen.ogg \ No newline at end of file +sound/music/goodbyemoonmen.ogg +sound/music/flytothemoon_otomatone.ogg diff --git a/strings/station_names.txt b/strings/station_names.txt new file mode 100644 index 0000000000..0937a10da6 --- /dev/null +++ b/strings/station_names.txt @@ -0,0 +1,82 @@ +Stanford +Dorf +Alium +Prefix +Clowning +Aegis +Ishimura +Scaredy +Death-World +Mime +Honk +Rogue +MacRagge +Ultrameens +Safety +Paranoia +Explosive +Neckbear +Donk +Muppet +North +West +East +South +Slant-ways +Widdershins +Rimward +Expensive +Procreatory +Imperial +Unidentified +Immoral +Carp +Ork +Pete +Control +Nettle +Aspie +Class +Crab +Fist +Corrogated +Skeleton +Race +Fatguy +Gentleman +Capitalist +Communist +Bear +Beard +Space +Spess +Star +Moon +System +Mining +Neckbeard +Research +Supply +Military +Orbital +Battle +Science +Asteroid +Home +Production +Transport +Delivery +Extraplanetary +Orbital +Correctional +Robot +Hats +Pizza +Taco +Burger +Box +Meta +Pub +Ship +Book +Refactor \ No newline at end of file diff --git a/strings/station_prefixes.txt b/strings/station_prefixes.txt new file mode 100644 index 0000000000..576e68dc1e --- /dev/null +++ b/strings/station_prefixes.txt @@ -0,0 +1,41 @@ +Imperium +Heretical +Cuban +Psychic +Elegant +Common +Uncommon +Rare +Unique +Houseruled +Religious +Atheist +Traditional +Houseruled +Mad +Super +Ultra +Secret +Top Secret +Deep +Death +Zybourne +Central +Main +Government +Uoi +Fat +Automated +Experimental +Augmented +American +Funky +Thin +Legendary +Szechuan +White +Black +Grey +Grim +Electric +Burning \ No newline at end of file diff --git a/strings/station_suffixes.txt b/strings/station_suffixes.txt new file mode 100644 index 0000000000..c30e18c245 --- /dev/null +++ b/strings/station_suffixes.txt @@ -0,0 +1,64 @@ +Station +Frontier +Suffix +Death-trap +Space-hulk +Lab +Hazard +Spess Junk +Fishery +No-Moon +Tomb +Crypt +Hut +Monkey +Bomb +Trade Post +Fortress +Village +Town +City +Edition +Hive +Complex +Base +Facility +Depot +Outpost +Installation +Drydock +Observatory +Array +Relay +Monitor +Platform +Construct +Hangar +Prison +Center +Port +Waystation +Factory +Waypoint +Stopover +Hub +HQ +Office +Object +Fortification +Colony +Planet-Cracker +Roost +Fat Camp +Airstrip +Harbor +Garden +Continent +Environment +Course +Country +Province +Workspace +Metro +Warehouse +Space Junk \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme old mode 100644 new mode 100755 index 3b58a075e4..4206f25117 --- a/tgstation.dme +++ b/tgstation.dme @@ -21,6 +21,7 @@ #include "code\__DATASTRUCTURES\linked_lists.dm" #include "code\__DATASTRUCTURES\priority_queue.dm" #include "code\__DATASTRUCTURES\stacks.dm" +#include "code\__DEFINES\_tick.dm" #include "code\__DEFINES\access.dm" #include "code\__DEFINES\admin.dm" #include "code\__DEFINES\antagonists.dm" @@ -71,7 +72,6 @@ #include "code\__DEFINES\status_effects.dm" #include "code\__DEFINES\subsystems.dm" #include "code\__DEFINES\tgui.dm" -#include "code\__DEFINES\tick.dm" #include "code\__DEFINES\time.dm" #include "code\__DEFINES\typeids.dm" #include "code\__DEFINES\voreconstants.dm" @@ -173,6 +173,9 @@ #include "code\citadel\cit_uniforms.dm" #include "code\citadel\cit_vendors.dm" #include "code\citadel\dogborgstuff.dm" +#include "code\citadel\custom_loadout\custom_items.dm" +#include "code\citadel\custom_loadout\load_to_mob.dm" +#include "code\citadel\custom_loadout\read_from_file.dm" #include "code\citadel\organs\breasts.dm" #include "code\citadel\organs\eggsack.dm" #include "code\citadel\organs\genitals.dm" @@ -269,6 +272,7 @@ #include "code\datums\ruins.dm" #include "code\datums\shuttles.dm" #include "code\datums\soullink.dm" +#include "code\datums\spawners_menu.dm" #include "code\datums\verbs.dm" #include "code\datums\antagonists\antag_datum.dm" #include "code\datums\antagonists\datum_clockcult.dm" @@ -979,6 +983,7 @@ #include "code\game\objects\structures\beds_chairs\alien_nest.dm" #include "code\game\objects\structures\beds_chairs\bed.dm" #include "code\game\objects\structures\beds_chairs\chair.dm" +#include "code\game\objects\structures\beds_chairs\sofa.dm" #include "code\game\objects\structures\crates_lockers\closets.dm" #include "code\game\objects\structures\crates_lockers\crates.dm" #include "code\game\objects\structures\crates_lockers\closets\bodybag.dm" @@ -1458,6 +1463,7 @@ #include "code\modules\hydroponics\grown\tomato.dm" #include "code\modules\hydroponics\grown\towercap.dm" #include "code\modules\jobs\access.dm" +#include "code\modules\jobs\job_exp.dm" #include "code\modules\jobs\jobs.dm" #include "code\modules\jobs\job_types\assistant.dm" #include "code\modules\jobs\job_types\captain.dm" @@ -1784,7 +1790,6 @@ #include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" #include "code\modules\mob\living\simple_animal\hostile\hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\illusion.dm" -#include "code\modules\mob\living\simple_animal\hostile\jungle_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\killertomato.dm" #include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm" #include "code\modules\mob\living\simple_animal\hostile\mimic.dm" @@ -1802,6 +1807,14 @@ #include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm" +#include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" +#include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" +#include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle\mook.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle\seedling.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm" @@ -1888,7 +1901,6 @@ #include "code\modules\ninja\suit\suit_attackby.dm" #include "code\modules\ninja\suit\suit_initialisation.dm" #include "code\modules\ninja\suit\suit_process.dm" -#include "code\modules\ninja\suit\suit_verbs_handlers.dm" #include "code\modules\ninja\suit\n_suit_verbs\energy_net_nets.dm" #include "code\modules\ninja\suit\n_suit_verbs\ninja_adrenaline.dm" #include "code\modules\ninja\suit\n_suit_verbs\ninja_cost_check.dm" @@ -2147,6 +2159,7 @@ #include "code\modules\spells\spell_types\rightandwrong.dm" #include "code\modules\spells\spell_types\rod_form.dm" #include "code\modules\spells\spell_types\santa.dm" +#include "code\modules\spells\spell_types\shadow_walk.dm" #include "code\modules\spells\spell_types\shapeshift.dm" #include "code\modules\spells\spell_types\spacetime_distortion.dm" #include "code\modules\spells\spell_types\summonitem.dm" diff --git a/tgui/assets/tgui.css b/tgui/assets/tgui.css index ffe61666b9..e0cc437429 100644 --- a/tgui/assets/tgui.css +++ b/tgui/assets/tgui.css @@ -1 +1 @@ -@charset "utf-8";body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.clockwork{background:linear-gradient(180deg,#b18b25 0,#5f380e);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffb18b25",endColorstr="#ff5f380e",GradientType=0)}body.clockwork .normal{color:#b18b25}body.clockwork .good{color:#cfba47}body.clockwork .average{color:#896b19}body.clockwork .bad{color:#5f380e}body.clockwork .highlight{color:#b18b25}body.clockwork main{display:block;margin-top:32px;padding:2px 6px 0}body.clockwork hr{height:2px;background-color:#b18b25;border:none}body.clockwork .hidden{display:none}body.clockwork .bar .barText,body.clockwork span.button{color:#b18b25;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.clockwork .bold{font-weight:700}body.clockwork .italic{font-style:italic}body.clockwork [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.clockwork div[data-tooltip],body.clockwork span[data-tooltip]{position:relative}body.clockwork div[data-tooltip]:after,body.clockwork span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #170800;background-color:#2d1400}body.clockwork div[data-tooltip]:hover:after,body.clockwork span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.clockwork div[data-tooltip].tooltip-top:after,body.clockwork span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-top:hover:after,body.clockwork span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-left:after,body.clockwork span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-left:hover:after,body.clockwork span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:hover:after,body.clockwork span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #170800;background:#2d1400}body.clockwork .bar .barText{position:absolute;top:0;right:3px}body.clockwork .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#b18b25}body.clockwork .bar .barFill.good{background-color:#cfba47}body.clockwork .bar .barFill.average{background-color:#896b19}body.clockwork .bar .barFill.bad{background-color:#5f380e}body.clockwork span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #170800}body.clockwork span.button .fa{padding-right:2px}body.clockwork span.button.normal{transition:background-color .5s;background-color:#5f380e}body.clockwork span.button.normal.active:focus,body.clockwork span.button.normal.active:hover{transition:background-color .25s;background-color:#704211;outline:0}body.clockwork span.button.disabled{transition:background-color .5s;background-color:#2d1400}body.clockwork span.button.disabled.active:focus,body.clockwork span.button.disabled.active:hover{transition:background-color .25s;background-color:#441e00;outline:0}body.clockwork span.button.selected{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.selected.active:focus,body.clockwork span.button.selected.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.toggle{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.toggle.active:focus,body.clockwork span.button.toggle.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.caution{transition:background-color .5s;background-color:#be6209}body.clockwork span.button.caution.active:focus,body.clockwork span.button.caution.active:hover{transition:background-color .25s;background-color:#cd6a0a;outline:0}body.clockwork span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.clockwork span.button.danger.active:focus,body.clockwork span.button.danger.active:hover{transition:background-color .25s;background-color:#abaf00;outline:0}body.clockwork span.button.gridable{width:125px;margin:2px 0}body.clockwork span.button.gridable.center{text-align:center;width:75px}body.clockwork span.button+span:not(.button),body.clockwork span:not(.button)+span.button{margin-left:5px}body.clockwork div.display{width:100%;padding:4px;margin:6px 0;background-color:#2d1400;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400);background-color:rgba(45,20,0,.9);box-shadow:inset 0 0 5px rgba(0,0,0,.3)}body.clockwork div.display.tabular{padding:0;margin:0}body.clockwork div.display header,body.clockwork div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#cfba47;border-bottom:2px solid #b18b25}body.clockwork div.display header .buttonRight,body.clockwork div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.clockwork div.display article,body.clockwork div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.clockwork input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#b18b25;background-color:#cfba47;border:1px solid #272727}body.clockwork input.number{width:35px}body.clockwork input::-webkit-input-placeholder{color:#999}body.clockwork input:-ms-input-placeholder{color:#999}body.clockwork input::placeholder{color:#999}body.clockwork input::-ms-clear{display:none}body.clockwork svg.linegraph{overflow:hidden}body.clockwork div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#2d1400;font-weight:700;font-style:italic;background-color:#000;background-image:repeating-linear-gradient(-45deg,#000,#000 10px,#170800 0,#170800 20px)}body.clockwork div.notice .label{color:#2d1400}body.clockwork div.notice .content:only-of-type{padding:0}body.clockwork div.notice hr{background-color:#896b19}body.clockwork div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #5f380e;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.clockwork section .cell,body.clockwork section .content,body.clockwork section .label,body.clockwork section .line,body.nanotrasen section .cell,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .cell,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.clockwork section{display:table-row;width:100%}body.clockwork section:not(:first-child){padding-top:4px}body.clockwork section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.clockwork section .label{width:1%;padding-right:32px;white-space:nowrap;color:#b18b25}body.clockwork section .content:not(:last-child){padding-right:16px}body.clockwork section .line{width:100%}body.clockwork section .cell:not(:first-child){text-align:center;padding-top:0}body.clockwork section .cell span.button{width:75px}body.clockwork section:not(:last-child){padding-right:4px}body.clockwork div.subdisplay{width:100%;margin:0}body.clockwork header.titlebar .close,body.clockwork header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#cfba47}body.clockwork header.titlebar .close:hover,body.clockwork header.titlebar .minimize:hover{color:#d1bd50}body.clockwork header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#5f380e;border-bottom:1px solid #170800;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.clockwork header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.clockwork header.titlebar .title{position:absolute;top:6px;left:46px;color:#cfba47;font-size:16px;white-space:nowrap}body.clockwork header.titlebar .minimize{position:absolute;top:6px;right:46px}body.clockwork header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgNDI1IDIwMCIgb3BhY2l0eT0iLjMzIj4NCiAgPHBhdGggZD0ibSAxNzguMDAzOTksMC4wMzg2OSAtNzEuMjAzOTMsMCBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTYuNzYxMzQsNi4wMjU1NSBsIDAsMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM0LDYuMDI1NTQgbCA1My4xMDcyLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDYuNzYxMzUsLTYuMDI1NTQgbCAwLC0xMDEuNTQ0MDE4IDcyLjIxNjI4LDEwNC42OTkzOTggYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDUuNzYwMTUsMi44NzAxNiBsIDczLjU1NDg3LDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDYuNzYxMzUsLTYuMDI1NTQgbCAwLC0xODcuODcxNDcgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM1LC02LjAyNTU1IGwgLTU0LjcxNjQ0LDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTMzLDYuMDI1NTUgbCAwLDEwMi42MTkzNSBMIDE4My43NjQxMywyLjkwODg2IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNS43NjAxNCwtMi44NzAxNyB6IiAvPg0KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPg0KICA8cGF0aCBkPSJtIDQyMC4xNTUzNSwxNzcuODkxMTkgYSAxMy40MTIwMzgsMTIuNTAxODQyIDAgMCAxIC04LjYzMjk1LDIyLjA2OTUxIGwgLTY2LjExODMyLDAgYSA1LjM2NDgxNTIsNS4wMDA3MzcgMCAwIDEgLTUuMzY0ODIsLTUuMDAwNzQgbCAwLC03OS44NzkzMSB6IiAvPg0KPC9zdmc+DQo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4NCjwhLS0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLyAtLT4NCg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}body.nanotrasen .normal{color:#40628a}body.nanotrasen .good{color:#537d29}body.nanotrasen .average{color:#be6209}body.nanotrasen .bad{color:#b00e0e}body.nanotrasen .highlight{color:#8ba5c4}body.nanotrasen main{display:block;margin-top:32px;padding:2px 6px 0}body.nanotrasen hr{height:2px;background-color:#40628a;border:none}body.nanotrasen .hidden{display:none}body.nanotrasen .bar .barText,body.nanotrasen span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.nanotrasen .bold{font-weight:700}body.nanotrasen .italic{font-style:italic}body.nanotrasen [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen div[data-tooltip],body.nanotrasen span[data-tooltip]{position:relative}body.nanotrasen div[data-tooltip]:after,body.nanotrasen span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.nanotrasen div[data-tooltip]:hover:after,body.nanotrasen span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.nanotrasen div[data-tooltip].tooltip-top:after,body.nanotrasen span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-top:hover:after,body.nanotrasen span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-left:after,body.nanotrasen span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-left:hover:after,body.nanotrasen span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.toggle{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.toggle.active:focus,body.nanotrasen span.button.toggle.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen span.button.gridable.center{text-align:center;width:75px}body.nanotrasen span.button+span:not(.button),body.nanotrasen span:not(.button)+span.button{margin-left:5px}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display.tabular{padding:0;margin:0}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.nanotrasen input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#000;background-color:#fff;border:1px solid #272727}body.nanotrasen input.number{width:35px}body.nanotrasen input::-webkit-input-placeholder{color:#999}body.nanotrasen input:-ms-input-placeholder{color:#999}body.nanotrasen input::placeholder{color:#999}body.nanotrasen input::-ms-clear{display:none}body.nanotrasen svg.linegraph{overflow:hidden}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice .content:only-of-type{padding:0}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .cell,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .cell,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.nanotrasen section{display:table-row;width:100%}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen section .cell:not(:first-child){text-align:center;padding-top:0}body.nanotrasen section .cell span.button{width:75px}body.nanotrasen section:not(:last-child){padding-right:4px}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgMjAwIDI4OS43NDIiIG9wYWNpdHk9Ii4zMyI+DQogIDxwYXRoIGQ9Im0gOTMuNTM3Njc3LDAgYyAtMTguMTEzMTI1LDAgLTM0LjIyMDEzMywzLjExMTY0IC00OC4zMjM0ODQsOS4zMzQzNyAtMTMuOTY1MDkyLDYuMjIxNjcgLTI0LjYxMjQ0MiwxNS4wNzExNCAtMzEuOTQwNjUxLDI2LjU0NzEgLTcuMTg5OTM5OCwxMS4zMzc4OSAtMTAuMzAxMjI2NiwyNC43NDkxMSAtMTAuMzAxMjI2Niw0MC4yMzQ3OCAwLDEwLjY0NjYyIDIuNzI1MDAyNiwyMC40NjQ2NSA4LjE3NTExMTYsMjkuNDUyNTggNS42MTUyNzcsOC45ODY4NiAxNC4wMzgyNzcsMTcuMzUyMDQgMjUuMjY4ODIxLDI1LjA5NDM2IDExLjIzMDU0NCw3LjYwNTMxIDI2LjUwNzQyMSwxNS40MTgzNSA0NS44MzA1MTQsMjMuNDM3ODIgMTkuOTgzNzQ4LDguMjk1NTcgMzQuODQ4ODQ4LDE1LjU1NDcxIDQ0LjU5Mjk5OCwyMS43NzYzOCA5Ljc0NDE0LDYuMjIyNzMgMTYuNzYxNywxMi44NTg1IDIxLjA1NTcyLDE5LjkwOTUxIDQuMjk0MDQsNy4wNTIwOCA2LjQ0MTkzLDE1Ljc2NDA4IDYuNDQxOTMsMjYuMTM0NTkgMCwxNi4xNzcwMiAtNS4yMDE5NiwyOC40ODIyMiAtMTUuNjA2NzMsMzYuOTE2ODIgLTEwLjIzOTYsOC40MzQ3IC0yNS4wMjIwMywxMi42NTIzIC00NC4zNDUxNjksMTIuNjUyMyAtMTQuMDM4MTcxLDAgLTI1LjUxNTI0NywtMS42NTk0IC0zNC40MzM2MTgsLTQuOTc3NyAtOC45MTgzNywtMy40NTY2IC0xNi4xODU1NzIsLTguNzExMyAtMjEuODAwODM5LC0xNS43NjMzIC01LjYxNTI3NywtNy4wNTIxIC0xMC4wNzQ3OTUsLTE2LjY2MDg4IC0xMy4zNzc4OTksLTI4LjgyODEyIGwgLTI0Ljc3MzE2MjYyOTM5NDUsMCAwLDU2LjgyNjMyIEMgMzMuODU2NzY5LDI4Ni4wNzYwMSA2My43NDkwNCwyODkuNzQyMDEgODkuNjc4MzgzLDI4OS43NDIwMSBjIDE2LjAyMDAyNywwIDMwLjcxOTc4NywtMS4zODI3IDQ0LjA5NzMzNywtNC4xNDc5IDEzLjU0MjcyLC0yLjkwNDMgMjUuMTA0MSwtNy40Njc2IDM0LjY4MzA5LC0xMy42ODkzIDkuNzQ0MTMsLTYuMzU5NyAxNy4zNDA0MiwtMTQuNTE5NSAyMi43OTA1MiwtMjQuNDc0OCA1LjQ1MDEsLTEwLjA5MzMyIDguMTc1MTEsLTIyLjM5OTU5IDguMTc1MTEsLTM2LjkxNjgyIDAsLTEyLjk5NzY0IC0zLjMwMjEsLTI0LjMzNTM5IC05LjkwODI5LC0zNC4wMTQ2IC02LjQ0MTA1LC05LjgxNzI1IC0xNS41MjU0NSwtMTguNTI3MDcgLTI3LjI1MTQ2LC0yNi4xMzEzMyAtMTEuNTYwODUsLTcuNjA0MjcgLTI3LjkxMDgzLC0xNS44MzE0MiAtNDkuMDUwNjYsLTI0LjY4MDIyIC0xNy41MDY0NCwtNy4xOTAxMiAtMzAuNzE5NjY4LC0xMy42ODk0OCAtMzkuNjM4MDM4LC0xOS40OTcwMSAtOC45MTgzNzEsLTUuODA3NTIgLTE4LjYwNzQ3NCwtMTIuNDM0MDkgLTI0LjA5NjUyNCwtMTguODc0MTcgLTUuNDI2MDQzLC02LjM2NjE2IC05LjY1ODgyNiwtMTUuMDcwMDMgLTkuNjU4ODI2LC0yNC44ODcyOSAwLC05LjI2NDAxIDIuMDc1NDE0LC0xNy4yMTM0NSA2LjIyMzQ1NCwtMjMuODUwMzMgMTEuMDk4Mjk4LC0xNC4zOTc0OCA0MS4yODY2MzgsLTEuNzk1MDcgNDUuMDc1NjA5LDI0LjM0NzYyIDQuODM5MzkyLDYuNzc0OTEgOC44NDkzNSwxNi4yNDcyOSAxMi4wMjk1MTUsMjguNDE1NiBsIDIwLjUzMjM0LDAgMCwtNTUuOTk5NjcgYyAtNC40NzgyNSwtNS45MjQ0OCAtOS45NTQ4OCwtMTAuNjMyMjIgLTE1LjkwODM3LC0xNC4zNzQxMSAxLjY0MDU1LDAuNDc5MDUgMy4xOTAzOSwxLjAyMzc2IDQuNjM4NjUsMS42NDAyNCA2LjQ5ODYxLDIuNjI2MDcgMTIuMTY3OTMsNy4zMjc0NyAxNy4wMDczLDE0LjEwMzQ1IDQuODM5MzksNi43NzQ5MSA4Ljg0OTM1LDE2LjI0NTY3IDEyLjAyOTUyLDI4LjQxMzk3IDAsMCA4LjQ4MTI4LC0wLjEyODk0IDguNDg5NzgsLTAuMDAyIDAuNDE3NzYsNi40MTQ5NCAtMS43NTMzOSw5LjQ1Mjg2IC00LjEyMzQyLDEyLjU2MTA0IC0yLjQxNzQsMy4xNjk3OCAtNS4xNDQ4Niw2Ljc4OTczIC00LjAwMjc4LDEzLjAwMjkgMS41MDc4Niw4LjIwMzE4IDEwLjE4MzU0LDEwLjU5NjQyIDE0LjYyMTk0LDkuMzExNTQgLTMuMzE4NDIsLTAuNDk5MTEgLTUuMzE4NTUsLTEuNzQ5NDggLTUuMzE4NTUsLTEuNzQ5NDggMCwwIDEuODc2NDYsMC45OTg2OCA1LjY1MTE3LC0xLjM1OTgxIC0zLjI3Njk1LDAuOTU1NzEgLTEwLjcwNTI5LC0wLjc5NzM4IC0xMS44MDEyNSwtNi43NjMxMyAtMC45NTc1MiwtNS4yMDg2MSAwLjk0NjU0LC03LjI5NTE0IDMuNDAxMTMsLTEwLjUxNDgyIDIuNDU0NjIsLTMuMjE5NjggNS4yODQyNiwtNi45NTgzMSA0LjY4NDMsLTE0LjQ4ODI0IGwgMC4wMDMsMC4wMDIgOC45MjY3NiwwIDAsLTU1Ljk5OTY3IGMgLTE1LjA3MTI1LC0zLjg3MTY4IC0yNy42NTMxNCwtNi4zNjA0MiAtMzcuNzQ2NzEsLTcuNDY1ODYgLTkuOTU1MzEsLTEuMTA3NTUgLTIwLjE4ODIzLC0xLjY1OTgxIC0zMC42OTY2MTMsLTEuNjU5ODEgeiBtIDcwLjMyMTYwMywxNy4zMDg5MyAwLjIzODA1LDQwLjMwNDkgYyAxLjMxODA4LDEuMjI2NjYgMi40Mzk2NSwyLjI3ODE1IDMuMzQwODEsMy4xMDYwMiA0LjgzOTM5LDYuNzc0OTEgOC44NDkzNCwxNi4yNDU2NiAxMi4wMjk1MSwyOC40MTM5NyBsIDIwLjUzMjM0LDAgMCwtNTUuOTk5NjcgYyAtNi42NzczMSwtNC41OTM4MSAtMTkuODM2NDMsLTEwLjQ3MzA5IC0zNi4xNDA3MSwtMTUuODI1MjIgeiBtIC0yOC4xMjA0OSw1LjYwNTUxIDguNTY0NzksMTcuNzE2NTUgYyAtMTEuOTcwMzcsLTYuNDY2OTcgLTEzLjg0Njc4LC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk3MDUsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IG0gMTUuMjIxOTUsMjQuMDA4NDggOC41NjQ3OSwxNy43MTY1NSBjIC0xMS45NzAzOCwtNi40NjY5NyAtMTMuODQ2NzksLTkuNzE3MjYgLTguNTY0NzksLTE3LjcxNjU1IHogbSAyMi43OTcwNCwwIGMgMi43NzE1LDcuOTk5MjkgMS43ODc0MSwxMS4yNDk1OCAtNC40OTM1NCwxNy43MTY1NSBsIDQuNDkzNTQsLTE3LjcxNjU1IHogbSAtOTkuMTEzODQsMi4yMDc2NCA4LjU2NDc5LDE3LjcxNjU1IGMgLTExLjk3MDM4MiwtNi40NjY5NyAtMTMuODQ2NzgyLC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk1NDIsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IiAvPg0KPC9zdmc+DQo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4NCjwhLS0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLyAtLT4NCg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff750000",endColorstr="#ff340404",GradientType=0)}body.syndicate .normal{color:#40628a}body.syndicate .good{color:#73e573}body.syndicate .average{color:#be6209}body.syndicate .bad{color:#b00e0e}body.syndicate .highlight{color:#000}body.syndicate main{display:block;margin-top:32px;padding:2px 6px 0}body.syndicate hr{height:2px;background-color:#272727;border:none}body.syndicate .hidden{display:none}body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.syndicate .bold{font-weight:700}body.syndicate .italic{font-style:italic}body.syndicate [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.syndicate div[data-tooltip],body.syndicate span[data-tooltip]{position:relative}body.syndicate div[data-tooltip]:after,body.syndicate span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.syndicate div[data-tooltip]:hover:after,body.syndicate span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.syndicate div[data-tooltip].tooltip-top:after,body.syndicate span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-top:hover:after,body.syndicate span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-left:after,body.syndicate span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-left:hover:after,body.syndicate span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:hover:after,body.syndicate span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#73e573}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#397439}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#4a964a;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.toggle{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.toggle.active:focus,body.syndicate span.button.toggle.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate span.button.gridable.center{text-align:center;width:75px}body.syndicate span.button+span:not(.button),body.syndicate span:not(.button)+span.button{margin-left:5px}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display.tabular{padding:0;margin:0}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.syndicate input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#fff;background-color:#9d0808;border:1px solid #272727}body.syndicate input.number{width:35px}body.syndicate input::-webkit-input-placeholder{color:#999}body.syndicate input:-ms-input-placeholder{color:#999}body.syndicate input::placeholder{color:#999}body.syndicate input::-ms-clear{display:none}body.syndicate svg.linegraph{overflow:hidden}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .label{color:#000}body.syndicate div.notice .content:only-of-type{padding:0}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .cell,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.syndicate section{display:table-row;width:100%}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate section .cell:not(:first-child){text-align:center;padding-top:0}body.syndicate section .cell span.button{width:75px}body.syndicate section:not(:last-child){padding-right:4px}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}.no-icons header.titlebar .statusicon{font-size:20px}.no-icons header.titlebar .statusicon:after{content:"O"}.no-icons header.titlebar .minimize{top:-2px;font-size:20px}.no-icons header.titlebar .minimize:after{content:"—"}.no-icons header.titlebar .close{font-size:20px}.no-icons header.titlebar .close:after{content:"X"} \ No newline at end of file +@charset "utf-8";body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.clockwork{background:linear-gradient(180deg,#b18b25 0,#5f380e);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffb18b25",endColorstr="#ff5f380e",GradientType=0)}body.clockwork .normal{color:#b18b25}body.clockwork .good{color:#cfba47}body.clockwork .average{color:#896b19}body.clockwork .bad{color:#5f380e}body.clockwork .highlight{color:#b18b25}body.clockwork main{display:block;margin-top:32px;padding:2px 6px 0}body.clockwork hr{height:2px;background-color:#b18b25;border:none}body.clockwork .hidden{display:none}body.clockwork .bar .barText,body.clockwork span.button{color:#b18b25;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.clockwork .bold{font-weight:700}body.clockwork .italic{font-style:italic}body.clockwork [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.clockwork div[data-tooltip],body.clockwork span[data-tooltip]{position:relative}body.clockwork div[data-tooltip]:after,body.clockwork span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #170800;background-color:#2d1400}body.clockwork div[data-tooltip]:hover:after,body.clockwork span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.clockwork div[data-tooltip].tooltip-top:after,body.clockwork span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-top:hover:after,body.clockwork span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-left:after,body.clockwork span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-left:hover:after,body.clockwork span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:hover:after,body.clockwork span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #170800;background:#2d1400}body.clockwork .bar .barText{position:absolute;top:0;right:3px}body.clockwork .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#b18b25}body.clockwork .bar .barFill.good{background-color:#cfba47}body.clockwork .bar .barFill.average{background-color:#896b19}body.clockwork .bar .barFill.bad{background-color:#5f380e}body.clockwork span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #170800}body.clockwork span.button .fa{padding-right:2px}body.clockwork span.button.normal{transition:background-color .5s;background-color:#5f380e}body.clockwork span.button.normal.active:focus,body.clockwork span.button.normal.active:hover{transition:background-color .25s;background-color:#704211;outline:0}body.clockwork span.button.disabled{transition:background-color .5s;background-color:#2d1400}body.clockwork span.button.disabled.active:focus,body.clockwork span.button.disabled.active:hover{transition:background-color .25s;background-color:#441e00;outline:0}body.clockwork span.button.selected{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.selected.active:focus,body.clockwork span.button.selected.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.toggle{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.toggle.active:focus,body.clockwork span.button.toggle.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.caution{transition:background-color .5s;background-color:#be6209}body.clockwork span.button.caution.active:focus,body.clockwork span.button.caution.active:hover{transition:background-color .25s;background-color:#cd6a0a;outline:0}body.clockwork span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.clockwork span.button.danger.active:focus,body.clockwork span.button.danger.active:hover{transition:background-color .25s;background-color:#abaf00;outline:0}body.clockwork span.button.gridable{width:125px;margin:2px 0}body.clockwork span.button.gridable.center{text-align:center;width:75px}body.clockwork span.button+span:not(.button),body.clockwork span:not(.button)+span.button{margin-left:5px}body.clockwork div.display{width:100%;padding:4px;margin:6px 0;background-color:#2d1400;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400);background-color:rgba(45,20,0,.9);box-shadow:inset 0 0 5px rgba(0,0,0,.3)}body.clockwork div.display.tabular{padding:0;margin:0}body.clockwork div.display header,body.clockwork div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#cfba47;border-bottom:2px solid #b18b25}body.clockwork div.display header .buttonRight,body.clockwork div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.clockwork div.display article,body.clockwork div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.clockwork input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#b18b25;background-color:#cfba47;border:1px solid #272727}body.clockwork input.number{width:35px}body.clockwork input::-webkit-input-placeholder{color:#999}body.clockwork input:-ms-input-placeholder{color:#999}body.clockwork input::placeholder{color:#999}body.clockwork input::-ms-clear{display:none}body.clockwork svg.linegraph{overflow:hidden}body.clockwork div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#2d1400;font-weight:700;font-style:italic;background-color:#000;background-image:repeating-linear-gradient(-45deg,#000,#000 10px,#170800 0,#170800 20px)}body.clockwork div.notice .label{color:#2d1400}body.clockwork div.notice .content:only-of-type{padding:0}body.clockwork div.notice hr{background-color:#896b19}body.clockwork div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #5f380e;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.clockwork section .cell,body.clockwork section .content,body.clockwork section .label,body.clockwork section .line,body.nanotrasen section .cell,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .cell,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.clockwork section{display:table-row;width:100%}body.clockwork section:not(:first-child){padding-top:4px}body.clockwork section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.clockwork section .label{width:1%;padding-right:32px;white-space:nowrap;color:#b18b25}body.clockwork section .content:not(:last-child){padding-right:16px}body.clockwork section .line{width:100%}body.clockwork section .cell:not(:first-child){text-align:center;padding-top:0}body.clockwork section .cell span.button{width:75px}body.clockwork section:not(:last-child){padding-right:4px}body.clockwork div.subdisplay{width:100%;margin:0}body.clockwork header.titlebar .close,body.clockwork header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#cfba47}body.clockwork header.titlebar .close:hover,body.clockwork header.titlebar .minimize:hover{color:#d1bd50}body.clockwork header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#5f380e;border-bottom:1px solid #170800;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.clockwork header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.clockwork header.titlebar .title{position:absolute;top:6px;left:46px;color:#cfba47;font-size:16px;white-space:nowrap}body.clockwork header.titlebar .minimize{position:absolute;top:6px;right:46px}body.clockwork header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA0MjUgMjAwIiBvcGFjaXR5PSIuMzMiPgogIDxwYXRoIGQ9Im0gMTc4LjAwMzk5LDAuMDM4NjkgLTcxLjIwMzkzLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM0LDYuMDI1NTUgbCAwLDE4Ny44NzE0NyBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgNi43NjEzNCw2LjAyNTU0IGwgNTMuMTA3MiwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTAxLjU0NDAxOCA3Mi4yMTYyOCwxMDQuNjk5Mzk4IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA1Ljc2MDE1LDIuODcwMTYgbCA3My41NTQ4NywwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzNSwtNi4wMjU1NSBsIC01NC43MTY0NCwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzMyw2LjAyNTU1IGwgMCwxMDIuNjE5MzUgTCAxODMuNzY0MTMsMi45MDg4NiBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTUuNzYwMTQsLTIuODcwMTcgeiIgLz4KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPgogIDxwYXRoIGQ9Im0gNDIwLjE1NTM1LDE3Ny44OTExOSBhIDEzLjQxMjAzOCwxMi41MDE4NDIgMCAwIDEgLTguNjMyOTUsMjIuMDY5NTEgbCAtNjYuMTE4MzIsMCBhIDUuMzY0ODE1Miw1LjAwMDczNyAwIDAgMSAtNS4zNjQ4MiwtNS4wMDA3NCBsIDAsLTc5Ljg3OTMxIHoiIC8+Cjwvc3ZnPgo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4KPCEtLSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS80LjAvIC0tPgo=") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}body.nanotrasen .normal{color:#40628a}body.nanotrasen .good{color:#537d29}body.nanotrasen .average{color:#be6209}body.nanotrasen .bad{color:#b00e0e}body.nanotrasen .highlight{color:#8ba5c4}body.nanotrasen main{display:block;margin-top:32px;padding:2px 6px 0}body.nanotrasen hr{height:2px;background-color:#40628a;border:none}body.nanotrasen .hidden{display:none}body.nanotrasen .bar .barText,body.nanotrasen span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.nanotrasen .bold{font-weight:700}body.nanotrasen .italic{font-style:italic}body.nanotrasen [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen div[data-tooltip],body.nanotrasen span[data-tooltip]{position:relative}body.nanotrasen div[data-tooltip]:after,body.nanotrasen span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.nanotrasen div[data-tooltip]:hover:after,body.nanotrasen span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.nanotrasen div[data-tooltip].tooltip-top:after,body.nanotrasen span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-top:hover:after,body.nanotrasen span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-left:after,body.nanotrasen span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-left:hover:after,body.nanotrasen span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.toggle{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.toggle.active:focus,body.nanotrasen span.button.toggle.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen span.button.gridable.center{text-align:center;width:75px}body.nanotrasen span.button+span:not(.button),body.nanotrasen span:not(.button)+span.button{margin-left:5px}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display.tabular{padding:0;margin:0}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.nanotrasen input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#000;background-color:#fff;border:1px solid #272727}body.nanotrasen input.number{width:35px}body.nanotrasen input::-webkit-input-placeholder{color:#999}body.nanotrasen input:-ms-input-placeholder{color:#999}body.nanotrasen input::placeholder{color:#999}body.nanotrasen input::-ms-clear{display:none}body.nanotrasen svg.linegraph{overflow:hidden}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice .content:only-of-type{padding:0}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .cell,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .cell,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.nanotrasen section{display:table-row;width:100%}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen section .cell:not(:first-child){text-align:center;padding-top:0}body.nanotrasen section .cell span.button{width:75px}body.nanotrasen section:not(:last-child){padding-right:4px}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCAyMDAgMjg5Ljc0MiIgb3BhY2l0eT0iLjMzIj4KICA8cGF0aCBkPSJtIDkzLjUzNzY3NywwIGMgLTE4LjExMzEyNSwwIC0zNC4yMjAxMzMsMy4xMTE2NCAtNDguMzIzNDg0LDkuMzM0MzcgLTEzLjk2NTA5Miw2LjIyMTY3IC0yNC42MTI0NDIsMTUuMDcxMTQgLTMxLjk0MDY1MSwyNi41NDcxIC03LjE4OTkzOTgsMTEuMzM3ODkgLTEwLjMwMTIyNjYsMjQuNzQ5MTEgLTEwLjMwMTIyNjYsNDAuMjM0NzggMCwxMC42NDY2MiAyLjcyNTAwMjYsMjAuNDY0NjUgOC4xNzUxMTE2LDI5LjQ1MjU4IDUuNjE1Mjc3LDguOTg2ODYgMTQuMDM4Mjc3LDE3LjM1MjA0IDI1LjI2ODgyMSwyNS4wOTQzNiAxMS4yMzA1NDQsNy42MDUzMSAyNi41MDc0MjEsMTUuNDE4MzUgNDUuODMwNTE0LDIzLjQzNzgyIDE5Ljk4Mzc0OCw4LjI5NTU3IDM0Ljg0ODg0OCwxNS41NTQ3MSA0NC41OTI5OTgsMjEuNzc2MzggOS43NDQxNCw2LjIyMjczIDE2Ljc2MTcsMTIuODU4NSAyMS4wNTU3MiwxOS45MDk1MSA0LjI5NDA0LDcuMDUyMDggNi40NDE5MywxNS43NjQwOCA2LjQ0MTkzLDI2LjEzNDU5IDAsMTYuMTc3MDIgLTUuMjAxOTYsMjguNDgyMjIgLTE1LjYwNjczLDM2LjkxNjgyIC0xMC4yMzk2LDguNDM0NyAtMjUuMDIyMDMsMTIuNjUyMyAtNDQuMzQ1MTY5LDEyLjY1MjMgLTE0LjAzODE3MSwwIC0yNS41MTUyNDcsLTEuNjU5NCAtMzQuNDMzNjE4LC00Ljk3NzcgLTguOTE4MzcsLTMuNDU2NiAtMTYuMTg1NTcyLC04LjcxMTMgLTIxLjgwMDgzOSwtMTUuNzYzMyAtNS42MTUyNzcsLTcuMDUyMSAtMTAuMDc0Nzk1LC0xNi42NjA4OCAtMTMuMzc3ODk5LC0yOC44MjgxMiBsIC0yNC43NzMxNjI2MjkzOTQ1LDAgMCw1Ni44MjYzMiBDIDMzLjg1Njc2OSwyODYuMDc2MDEgNjMuNzQ5MDQsMjg5Ljc0MjAxIDg5LjY3ODM4MywyODkuNzQyMDEgYyAxNi4wMjAwMjcsMCAzMC43MTk3ODcsLTEuMzgyNyA0NC4wOTczMzcsLTQuMTQ3OSAxMy41NDI3MiwtMi45MDQzIDI1LjEwNDEsLTcuNDY3NiAzNC42ODMwOSwtMTMuNjg5MyA5Ljc0NDEzLC02LjM1OTcgMTcuMzQwNDIsLTE0LjUxOTUgMjIuNzkwNTIsLTI0LjQ3NDggNS40NTAxLC0xMC4wOTMzMiA4LjE3NTExLC0yMi4zOTk1OSA4LjE3NTExLC0zNi45MTY4MiAwLC0xMi45OTc2NCAtMy4zMDIxLC0yNC4zMzUzOSAtOS45MDgyOSwtMzQuMDE0NiAtNi40NDEwNSwtOS44MTcyNSAtMTUuNTI1NDUsLTE4LjUyNzA3IC0yNy4yNTE0NiwtMjYuMTMxMzMgLTExLjU2MDg1LC03LjYwNDI3IC0yNy45MTA4MywtMTUuODMxNDIgLTQ5LjA1MDY2LC0yNC42ODAyMiAtMTcuNTA2NDQsLTcuMTkwMTIgLTMwLjcxOTY2OCwtMTMuNjg5NDggLTM5LjYzODAzOCwtMTkuNDk3MDEgLTguOTE4MzcxLC01LjgwNzUyIC0xOC42MDc0NzQsLTEyLjQzNDA5IC0yNC4wOTY1MjQsLTE4Ljg3NDE3IC01LjQyNjA0MywtNi4zNjYxNiAtOS42NTg4MjYsLTE1LjA3MDAzIC05LjY1ODgyNiwtMjQuODg3MjkgMCwtOS4yNjQwMSAyLjA3NTQxNCwtMTcuMjEzNDUgNi4yMjM0NTQsLTIzLjg1MDMzIDExLjA5ODI5OCwtMTQuMzk3NDggNDEuMjg2NjM4LC0xLjc5NTA3IDQ1LjA3NTYwOSwyNC4zNDc2MiA0LjgzOTM5Miw2Ljc3NDkxIDguODQ5MzUsMTYuMjQ3MjkgMTIuMDI5NTE1LDI4LjQxNTYgbCAyMC41MzIzNCwwIDAsLTU1Ljk5OTY3IGMgLTQuNDc4MjUsLTUuOTI0NDggLTkuOTU0ODgsLTEwLjYzMjIyIC0xNS45MDgzNywtMTQuMzc0MTEgMS42NDA1NSwwLjQ3OTA1IDMuMTkwMzksMS4wMjM3NiA0LjYzODY1LDEuNjQwMjQgNi40OTg2MSwyLjYyNjA3IDEyLjE2NzkzLDcuMzI3NDcgMTcuMDA3MywxNC4xMDM0NSA0LjgzOTM5LDYuNzc0OTEgOC44NDkzNSwxNi4yNDU2NyAxMi4wMjk1MiwyOC40MTM5NyAwLDAgOC40ODEyOCwtMC4xMjg5NCA4LjQ4OTc4LC0wLjAwMiAwLjQxNzc2LDYuNDE0OTQgLTEuNzUzMzksOS40NTI4NiAtNC4xMjM0MiwxMi41NjEwNCAtMi40MTc0LDMuMTY5NzggLTUuMTQ0ODYsNi43ODk3MyAtNC4wMDI3OCwxMy4wMDI5IDEuNTA3ODYsOC4yMDMxOCAxMC4xODM1NCwxMC41OTY0MiAxNC42MjE5NCw5LjMxMTU0IC0zLjMxODQyLC0wLjQ5OTExIC01LjMxODU1LC0xLjc0OTQ4IC01LjMxODU1LC0xLjc0OTQ4IDAsMCAxLjg3NjQ2LDAuOTk4NjggNS42NTExNywtMS4zNTk4MSAtMy4yNzY5NSwwLjk1NTcxIC0xMC43MDUyOSwtMC43OTczOCAtMTEuODAxMjUsLTYuNzYzMTMgLTAuOTU3NTIsLTUuMjA4NjEgMC45NDY1NCwtNy4yOTUxNCAzLjQwMTEzLC0xMC41MTQ4MiAyLjQ1NDYyLC0zLjIxOTY4IDUuMjg0MjYsLTYuOTU4MzEgNC42ODQzLC0xNC40ODgyNCBsIDAuMDAzLDAuMDAyIDguOTI2NzYsMCAwLC01NS45OTk2NyBjIC0xNS4wNzEyNSwtMy44NzE2OCAtMjcuNjUzMTQsLTYuMzYwNDIgLTM3Ljc0NjcxLC03LjQ2NTg2IC05Ljk1NTMxLC0xLjEwNzU1IC0yMC4xODgyMywtMS42NTk4MSAtMzAuNjk2NjEzLC0xLjY1OTgxIHogbSA3MC4zMjE2MDMsMTcuMzA4OTMgMC4yMzgwNSw0MC4zMDQ5IGMgMS4zMTgwOCwxLjIyNjY2IDIuNDM5NjUsMi4yNzgxNSAzLjM0MDgxLDMuMTA2MDIgNC44MzkzOSw2Ljc3NDkxIDguODQ5MzQsMTYuMjQ1NjYgMTIuMDI5NTEsMjguNDEzOTcgbCAyMC41MzIzNCwwIDAsLTU1Ljk5OTY3IGMgLTYuNjc3MzEsLTQuNTkzODEgLTE5LjgzNjQzLC0xMC40NzMwOSAtMzYuMTQwNzEsLTE1LjgyNTIyIHogbSAtMjguMTIwNDksNS42MDU1MSA4LjU2NDc5LDE3LjcxNjU1IGMgLTExLjk3MDM3LC02LjQ2Njk3IC0xMy44NDY3OCwtOS43MTcyNiAtOC41NjQ3OSwtMTcuNzE2NTUgeiBtIDIyLjc5NzA1LDAgYyAyLjc3MTUsNy45OTkyOSAxLjc4NzQxLDExLjI0OTU4IC00LjQ5MzU0LDE3LjcxNjU1IGwgNC40OTM1NCwtMTcuNzE2NTUgeiBtIDE1LjIyMTk1LDI0LjAwODQ4IDguNTY0NzksMTcuNzE2NTUgYyAtMTEuOTcwMzgsLTYuNDY2OTcgLTEzLjg0Njc5LC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk3MDQsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IG0gLTk5LjExMzg0LDIuMjA3NjQgOC41NjQ3OSwxNy43MTY1NSBjIC0xMS45NzAzODIsLTYuNDY2OTcgLTEzLjg0Njc4MiwtOS43MTcyNiAtOC41NjQ3OSwtMTcuNzE2NTUgeiBtIDIyLjc5NTQyLDAgYyAyLjc3MTUsNy45OTkyOSAxLjc4NzQxLDExLjI0OTU4IC00LjQ5MzU0LDE3LjcxNjU1IGwgNC40OTM1NCwtMTcuNzE2NTUgeiIgLz4KPC9zdmc+CjwhLS0gVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIGEgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIDQuMCBJbnRlcm5hdGlvbmFsIExpY2Vuc2UuIC0tPgo8IS0tIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzQuMC8gLS0+Cg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff750000",endColorstr="#ff340404",GradientType=0)}body.syndicate .normal{color:#40628a}body.syndicate .good{color:#73e573}body.syndicate .average{color:#be6209}body.syndicate .bad{color:#b00e0e}body.syndicate .highlight{color:#000}body.syndicate main{display:block;margin-top:32px;padding:2px 6px 0}body.syndicate hr{height:2px;background-color:#272727;border:none}body.syndicate .hidden{display:none}body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.syndicate .bold{font-weight:700}body.syndicate .italic{font-style:italic}body.syndicate [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.syndicate div[data-tooltip],body.syndicate span[data-tooltip]{position:relative}body.syndicate div[data-tooltip]:after,body.syndicate span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.syndicate div[data-tooltip]:hover:after,body.syndicate span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.syndicate div[data-tooltip].tooltip-top:after,body.syndicate span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-top:hover:after,body.syndicate span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-left:after,body.syndicate span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-left:hover:after,body.syndicate span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:hover:after,body.syndicate span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#73e573}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#397439}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#4a964a;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.toggle{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.toggle.active:focus,body.syndicate span.button.toggle.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate span.button.gridable.center{text-align:center;width:75px}body.syndicate span.button+span:not(.button),body.syndicate span:not(.button)+span.button{margin-left:5px}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display.tabular{padding:0;margin:0}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.syndicate input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#fff;background-color:#9d0808;border:1px solid #272727}body.syndicate input.number{width:35px}body.syndicate input::-webkit-input-placeholder{color:#999}body.syndicate input:-ms-input-placeholder{color:#999}body.syndicate input::placeholder{color:#999}body.syndicate input::-ms-clear{display:none}body.syndicate svg.linegraph{overflow:hidden}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .label{color:#000}body.syndicate div.notice .content:only-of-type{padding:0}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .cell,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.syndicate section{display:table-row;width:100%}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate section .cell:not(:first-child){text-align:center;padding-top:0}body.syndicate section .cell span.button{width:75px}body.syndicate section:not(:last-child){padding-right:4px}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}.no-icons header.titlebar .statusicon{font-size:20px}.no-icons header.titlebar .statusicon:after{content:"O"}.no-icons header.titlebar .minimize{top:-2px;font-size:20px}.no-icons header.titlebar .minimize:after{content:"—"}.no-icons header.titlebar .close{font-size:20px}.no-icons header.titlebar .close:after{content:"X"} \ No newline at end of file diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js index 89a66ecaf0..5d42acb654 100644 --- a/tgui/assets/tgui.js +++ b/tgui/assets/tgui.js @@ -1,16 +1,16 @@ -require=function t(e,n,a){function r(o,s){if(!n[o]){if(!e[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(i)return i(o,!0);var p=Error("Cannot find module '"+o+"'");throw p.code="MODULE_NOT_FOUND",p}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){var n=e[o][1][t];return r(n?n:t)},c,c.exports,t,e,n,a)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o2?p[2]:void 0,l=Math.min((void 0===c?o:r(c,o))-u,o-s),f=1;for(s>u&&u+l>s&&(f=-1,u+=l-1,s+=l-1);l-- >0;)u in n?n[s]=n[u]:delete n[s],s+=f,u+=f;return n}},{76:76,79:79,80:80}],6:[function(t,e,n){"use strict";var a=t(80),r=t(76),i=t(79);e.exports=[].fill||function(t){for(var e=a(this),n=i(e.length),o=arguments,s=o.length,u=r(s>1?o[1]:void 0,n),p=s>2?o[2]:void 0,c=void 0===p?n:r(p,n);c>u;)e[u++]=t;return e}},{76:76,79:79,80:80}],7:[function(t,e,n){var a=t(78),r=t(79),i=t(76);e.exports=function(t){return function(e,n,o){var s,u=a(e),p=r(u.length),c=i(o,p);if(t&&n!=n){for(;p>c;)if(s=u[c++],s!=s)return!0}else for(;p>c;c++)if((t||c in u)&&u[c]===n)return t||c;return!t&&-1}}},{76:76,78:78,79:79}],8:[function(t,e,n){var a=t(17),r=t(34),i=t(80),o=t(79),s=t(9);e.exports=function(t){var e=1==t,n=2==t,u=3==t,p=4==t,c=6==t,l=5==t||c;return function(f,d,h){for(var m,v,g=i(f),b=r(g),y=a(d,h,3),x=o(b.length),_=0,w=e?s(f,x):n?s(f,0):void 0;x>_;_++)if((l||_ in b)&&(m=b[_],v=y(m,_,g),t))if(e)w[_]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(p)return!1;return c?-1:u||p?p:w}}},{17:17,34:34,79:79,80:80,9:9}],9:[function(t,e,n){var a=t(38),r=t(36),i=t(83)("species");e.exports=function(t,e){var n;return r(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!r(n.prototype)||(n=void 0),a(n)&&(n=n[i],null===n&&(n=void 0))),new(void 0===n?Array:n)(e)}},{36:36,38:38,83:83}],10:[function(t,e,n){var a=t(11),r=t(83)("toStringTag"),i="Arguments"==a(function(){return arguments}());e.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[r])?n:i?a(e):"Object"==(o=a(e))&&"function"==typeof e.callee?"Arguments":o}},{11:11,83:83}],11:[function(t,e,n){var a={}.toString;e.exports=function(t){return a.call(t).slice(8,-1)}},{}],12:[function(t,e,n){"use strict";var a=t(46),r=t(31),i=t(60),o=t(17),s=t(69),u=t(18),p=t(27),c=t(42),l=t(44),f=t(82)("id"),d=t(30),h=t(38),m=t(65),v=t(19),g=Object.isExtensible||h,b=v?"_s":"size",y=0,x=function(t,e){if(!h(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!d(t,f)){if(!g(t))return"F";if(!e)return"E";r(t,f,++y)}return"O"+t[f]},_=function(t,e){var n,a=x(e);if("F"!==a)return t._i[a];for(n=t._f;n;n=n.n)if(n.k==e)return n};e.exports={getConstructor:function(t,e,n,r){var c=t(function(t,i){s(t,c,e),t._i=a.create(null),t._f=void 0,t._l=void 0,t[b]=0,void 0!=i&&p(i,n,t[r],t)});return i(c.prototype,{clear:function(){for(var t=this,e=t._i,n=t._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete e[n.i];t._f=t._l=void 0,t[b]=0},"delete":function(t){var e=this,n=_(e,t);if(n){var a=n.n,r=n.p;delete e._i[n.i],n.r=!0,r&&(r.n=a),a&&(a.p=r),e._f==n&&(e._f=a),e._l==n&&(e._l=r),e[b]--}return!!n},forEach:function(t){for(var e,n=o(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!_(this,t)}}),v&&a.setDesc(c.prototype,"size",{get:function(){return u(this[b])}}),c},def:function(t,e,n){var a,r,i=_(t,e);return i?i.v=n:(t._l=i={i:r=x(e,!0),k:e,v:n,p:a=t._l,n:void 0,r:!1},t._f||(t._f=i),a&&(a.n=i),t[b]++,"F"!==r&&(t._i[r]=i)),t},getEntry:_,setStrong:function(t,e,n){c(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?l(0,n.k):"values"==e?l(0,n.v):l(0,[n.k,n.v]):(t._t=void 0,l(1))},n?"entries":"values",!n,!0),m(e)}}},{17:17,18:18,19:19,27:27,30:30,31:31,38:38,42:42,44:44,46:46,60:60,65:65,69:69,82:82}],13:[function(t,e,n){var a=t(27),r=t(10);e.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");var e=[];return a(this,!1,e.push,e),e}}},{10:10,27:27}],14:[function(t,e,n){"use strict";var a=t(31),r=t(60),i=t(4),o=t(38),s=t(69),u=t(27),p=t(8),c=t(30),l=t(82)("weak"),f=Object.isExtensible||o,d=p(5),h=p(6),m=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},b=function(t,e){return d(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=b(this,t);return e?e[1]:void 0},has:function(t){return!!b(this,t)},set:function(t,e){var n=b(this,t);n?n[1]=e:this.a.push([t,e])},"delete":function(t){var e=h(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},e.exports={getConstructor:function(t,e,n,a){var i=t(function(t,r){s(t,i,e),t._i=m++,t._l=void 0,void 0!=r&&u(r,n,t[a],t)});return r(i.prototype,{"delete":function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i)&&delete t[l][this._i]:v(this)["delete"](t):!1},has:function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i):v(this).has(t):!1}}),i},def:function(t,e,n){return f(i(e))?(c(e,l)||a(e,l,{}),e[l][t._i]=n):v(t).set(e,n),t},frozenStore:v,WEAK:l}},{27:27,30:30,31:31,38:38,4:4,60:60,69:69,8:8,82:82}],15:[function(t,e,n){"use strict";var a=t(29),r=t(22),i=t(61),o=t(60),s=t(27),u=t(69),p=t(38),c=t(24),l=t(43),f=t(66);e.exports=function(t,e,n,d,h,m){var v=a[t],g=v,b=h?"set":"add",y=g&&g.prototype,x={},_=function(t){var e=y[t];i(y,t,"delete"==t?function(t){return m&&!p(t)?!1:e.call(this,0===t?0:t)}:"has"==t?function(t){return m&&!p(t)?!1:e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!p(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof g&&(m||y.forEach&&!c(function(){(new g).entries().next()}))){var w,k=new g,E=k[b](m?{}:-0,1)!=k,S=c(function(){k.has(1)}),C=l(function(t){new g(t)});C||(g=e(function(e,n){u(e,g,t);var a=new v;return void 0!=n&&s(n,h,a[b],a),a}),g.prototype=y,y.constructor=g),m||k.forEach(function(t,e){w=1/e===-(1/0)}),(S||w)&&(_("delete"),_("has"),h&&_("get")),(w||E)&&_(b),m&&y.clear&&delete y.clear}else g=d.getConstructor(e,t,h,b),o(g.prototype,n);return f(g,t),x[t]=g,r(r.G+r.W+r.F*(g!=v),x),m||d.setStrong(g,t,h),g}},{22:22,24:24,27:27,29:29,38:38,43:43,60:60,61:61,66:66,69:69}],16:[function(t,e,n){var a=e.exports={version:"1.2.6"};"number"==typeof __e&&(__e=a)},{}],17:[function(t,e,n){var a=t(2);e.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,r){return t.call(e,n,a,r)}}return function(){return t.apply(e,arguments)}}},{2:2}],18:[function(t,e,n){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],19:[function(t,e,n){e.exports=!t(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{24:24}],20:[function(t,e,n){var a=t(38),r=t(29).document,i=a(r)&&a(r.createElement);e.exports=function(t){return i?r.createElement(t):{}}},{29:29,38:38}],21:[function(t,e,n){var a=t(46);e.exports=function(t){var e=a.getKeys(t),n=a.getSymbols;if(n)for(var r,i=n(t),o=a.isEnum,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e}},{46:46}],22:[function(t,e,n){var a=t(29),r=t(16),i=t(31),o=t(61),s=t(17),u="prototype",p=function(t,e,n){var c,l,f,d,h=t&p.F,m=t&p.G,v=t&p.S,g=t&p.P,b=t&p.B,y=m?a:v?a[e]||(a[e]={}):(a[e]||{})[u],x=m?r:r[e]||(r[e]={}),_=x[u]||(x[u]={});m&&(n=e);for(c in n)l=!h&&y&&c in y,f=(l?y:n)[c],d=b&&l?s(f,a):g&&"function"==typeof f?s(Function.call,f):f,y&&!l&&o(y,c,f),x[c]!=f&&i(x,c,d),g&&_[c]!=f&&(_[c]=f)};a.core=r,p.F=1,p.G=2,p.S=4,p.P=8,p.B=16,p.W=32,e.exports=p},{16:16,17:17,29:29,31:31,61:61}],23:[function(t,e,n){var a=t(83)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[a]=!1,!"/./"[t](e)}catch(r){}}return!0}},{83:83}],24:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],25:[function(t,e,n){"use strict";var a=t(31),r=t(61),i=t(24),o=t(18),s=t(83);e.exports=function(t,e,n){var u=s(t),p=""[t];i(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,n(o,u,p)),a(RegExp.prototype,u,2==e?function(t,e){return p.call(t,this,e)}:function(t){return p.call(t,this)}))}},{18:18,24:24,31:31,61:61,83:83}],26:[function(t,e,n){"use strict";var a=t(4);e.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{4:4}],27:[function(t,e,n){var a=t(17),r=t(40),i=t(35),o=t(4),s=t(79),u=t(84);e.exports=function(t,e,n,p){var c,l,f,d=u(t),h=a(n,p,e?2:1),m=0;if("function"!=typeof d)throw TypeError(t+" is not iterable!");if(i(d))for(c=s(t.length);c>m;m++)e?h(o(l=t[m])[0],l[1]):h(t[m]);else for(f=d.call(t);!(l=f.next()).done;)r(f,h,l.value,e)}},{17:17,35:35,4:4,40:40,79:79,84:84}],28:[function(t,e,n){var a=t(78),r=t(46).getNames,i={}.toString,o="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return r(t)}catch(e){return o.slice()}};e.exports.get=function(t){return o&&"[object Window]"==i.call(t)?s(t):r(a(t))}},{46:46,78:78}],29:[function(t,e,n){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},{}],30:[function(t,e,n){var a={}.hasOwnProperty;e.exports=function(t,e){return a.call(t,e)}},{}],31:[function(t,e,n){var a=t(46),r=t(59);e.exports=t(19)?function(t,e,n){return a.setDesc(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},{19:19,46:46,59:59}],32:[function(t,e,n){e.exports=t(29).document&&document.documentElement},{29:29}],33:[function(t,e,n){e.exports=function(t,e,n){var a=void 0===n;switch(e.length){case 0:return a?t():t.call(n);case 1:return a?t(e[0]):t.call(n,e[0]);case 2:return a?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return a?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return a?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},{}],34:[function(t,e,n){var a=t(11);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==a(t)?t.split(""):Object(t)}},{11:11}],35:[function(t,e,n){var a=t(45),r=t(83)("iterator"),i=Array.prototype;e.exports=function(t){return void 0!==t&&(a.Array===t||i[r]===t)}},{45:45,83:83}],36:[function(t,e,n){var a=t(11);e.exports=Array.isArray||function(t){return"Array"==a(t)}},{11:11}],37:[function(t,e,n){var a=t(38),r=Math.floor;e.exports=function(t){return!a(t)&&isFinite(t)&&r(t)===t}},{38:38}],38:[function(t,e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],39:[function(t,e,n){var a=t(38),r=t(11),i=t(83)("match");e.exports=function(t){var e;return a(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==r(t))}},{11:11,38:38,83:83}],40:[function(t,e,n){var a=t(4);e.exports=function(t,e,n,r){try{return r?e(a(n)[0],n[1]):e(n)}catch(i){var o=t["return"];throw void 0!==o&&a(o.call(t)),i}}},{4:4}],41:[function(t,e,n){"use strict";var a=t(46),r=t(59),i=t(66),o={};t(31)(o,t(83)("iterator"),function(){return this}),e.exports=function(t,e,n){t.prototype=a.create(o,{next:r(1,n)}),i(t,e+" Iterator")}},{31:31,46:46,59:59,66:66,83:83}],42:[function(t,e,n){"use strict";var a=t(48),r=t(22),i=t(61),o=t(31),s=t(30),u=t(45),p=t(41),c=t(66),l=t(46).getProto,f=t(83)("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this};e.exports=function(t,e,n,b,y,x,_){p(n,e,b);var w,k,E=function(t){if(!d&&t in A)return A[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",C=y==v,P=!1,A=t.prototype,O=A[f]||A[h]||y&&A[y],T=O||E(y);if(O){var M=l(T.call(new t));c(M,S,!0),!a&&s(A,h)&&o(M,f,g),C&&O.name!==v&&(P=!0,T=function(){return O.call(this)})}if(a&&!_||!d&&!P&&A[f]||o(A,f,T),u[e]=T,u[S]=g,y)if(w={values:C?T:E(v),keys:x?T:E(m),entries:C?E("entries"):T},_)for(k in w)k in A||i(A,k,w[k]);else r(r.P+r.F*(d||P),e,w);return w}},{22:22,30:30,31:31,41:41,45:45,46:46,48:48,61:61,66:66,83:83}],43:[function(t,e,n){var a=t(83)("iterator"),r=!1;try{var i=[7][a]();i["return"]=function(){r=!0},Array.from(i,function(){throw 2})}catch(o){}e.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var i=[7],o=i[a]();o.next=function(){return{done:n=!0}},i[a]=function(){return o},t(i)}catch(s){}return n}},{83:83}],44:[function(t,e,n){e.exports=function(t,e){return{value:e,done:!!t}}},{}],45:[function(t,e,n){e.exports={}},{}],46:[function(t,e,n){var a=Object;e.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},{}],47:[function(t,e,n){var a=t(46),r=t(78);e.exports=function(t,e){for(var n,i=r(t),o=a.getKeys(i),s=o.length,u=0;s>u;)if(i[n=o[u++]]===e)return n}},{46:46,78:78}],48:[function(t,e,n){e.exports=!1},{}],49:[function(t,e,n){e.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],50:[function(t,e,n){e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],51:[function(t,e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],52:[function(t,e,n){var a,r,i,o=t(29),s=t(75).set,u=o.MutationObserver||o.WebKitMutationObserver,p=o.process,c=o.Promise,l="process"==t(11)(p),f=function(){var t,e,n;for(l&&(t=p.domain)&&(p.domain=null,t.exit());a;)e=a.domain,n=a.fn,e&&e.enter(),n(),e&&e.exit(),a=a.next;r=void 0,t&&t.enter()};if(l)i=function(){p.nextTick(f)};else if(u){var d=1,h=document.createTextNode("");new u(f).observe(h,{characterData:!0}),i=function(){h.data=d=-d}}else i=c&&c.resolve?function(){c.resolve().then(f)}:function(){s.call(o,f)};e.exports=function(t){var e={fn:t,next:void 0,domain:l&&p.domain};r&&(r.next=e),a||(a=e,i()),r=e}},{11:11,29:29,75:75}],53:[function(t,e,n){var a=t(46),r=t(80),i=t(34);e.exports=t(24)(function(){var t=Object.assign,e={},n={},a=Symbol(),r="abcdefghijklmnopqrst";return e[a]=7,r.split("").forEach(function(t){n[t]=t}),7!=t({},e)[a]||Object.keys(t({},n)).join("")!=r})?function(t,e){for(var n=r(t),o=arguments,s=o.length,u=1,p=a.getKeys,c=a.getSymbols,l=a.isEnum;s>u;)for(var f,d=i(o[u++]),h=c?p(d).concat(c(d)):p(d),m=h.length,v=0;m>v;)l.call(d,f=h[v++])&&(n[f]=d[f]);return n}:Object.assign},{24:24,34:34,46:46,80:80}],54:[function(t,e,n){var a=t(22),r=t(16),i=t(24);e.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],o={};o[t]=e(n),a(a.S+a.F*i(function(){n(1)}),"Object",o)}},{16:16,22:22,24:24}],55:[function(t,e,n){var a=t(46),r=t(78),i=a.isEnum;e.exports=function(t){return function(e){for(var n,o=r(e),s=a.getKeys(o),u=s.length,p=0,c=[];u>p;)i.call(o,n=s[p++])&&c.push(t?[n,o[n]]:o[n]);return c}}},{46:46,78:78}],56:[function(t,e,n){var a=t(46),r=t(4),i=t(29).Reflect;e.exports=i&&i.ownKeys||function(t){var e=a.getNames(r(t)),n=a.getSymbols;return n?e.concat(n(t)):e}},{29:29,4:4,46:46}],57:[function(t,e,n){"use strict";var a=t(58),r=t(33),i=t(2);e.exports=function(){for(var t=i(this),e=arguments.length,n=Array(e),o=0,s=a._,u=!1;e>o;)(n[o]=arguments[o++])===s&&(u=!0);return function(){var a,i=this,o=arguments,p=o.length,c=0,l=0;if(!u&&!p)return r(t,n,i);if(a=n.slice(),u)for(;e>c;c++)a[c]===s&&(a[c]=o[l++]);for(;p>l;)a.push(o[l++]);return r(t,a,i)}}},{2:2,33:33,58:58}],58:[function(t,e,n){e.exports=t(29)},{29:29}],59:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],60:[function(t,e,n){var a=t(61);e.exports=function(t,e){for(var n in e)a(t,n,e[n]);return t}},{61:61}],61:[function(t,e,n){var a=t(29),r=t(31),i=t(82)("src"),o="toString",s=Function[o],u=(""+s).split(o);t(16).inspectSource=function(t){return s.call(t)},(e.exports=function(t,e,n,o){"function"==typeof n&&(n.hasOwnProperty(i)||r(n,i,t[e]?""+t[e]:u.join(e+"")),n.hasOwnProperty("name")||r(n,"name",e)),t===a?t[e]=n:(o||delete t[e],r(t,e,n))})(Function.prototype,o,function(){return"function"==typeof this&&this[i]||s.call(this)})},{16:16,29:29,31:31,82:82}],62:[function(t,e,n){e.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return(e+"").replace(t,n)}}},{}],63:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},{}],64:[function(t,e,n){var a=t(46).getDesc,r=t(38),i=t(4),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,r){try{r=t(17)(Function.call,a(Object.prototype,"__proto__").set,2),r(e,[]),n=!(e instanceof Array)}catch(i){n=!0}return function(t,e){return o(t,e),n?t.__proto__=e:r(t,e),t}}({},!1):void 0),check:o}},{17:17,38:38,4:4,46:46}],65:[function(t,e,n){"use strict";var a=t(29),r=t(46),i=t(19),o=t(83)("species");e.exports=function(t){var e=a[t];i&&e&&!e[o]&&r.setDesc(e,o,{configurable:!0,get:function(){return this}})}},{19:19,29:29,46:46,83:83}],66:[function(t,e,n){var a=t(46).setDesc,r=t(30),i=t(83)("toStringTag");e.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},{30:30,46:46,83:83}],67:[function(t,e,n){var a=t(29),r="__core-js_shared__",i=a[r]||(a[r]={});e.exports=function(t){return i[t]||(i[t]={})}},{29:29}],68:[function(t,e,n){var a=t(4),r=t(2),i=t(83)("species");e.exports=function(t,e){var n,o=a(t).constructor;return void 0===o||void 0==(n=a(o)[i])?e:r(n)}},{2:2,4:4,83:83}],69:[function(t,e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError(n+": use the 'new' operator!");return t}},{}],70:[function(t,e,n){var a=t(77),r=t(18);e.exports=function(t){return function(e,n){var i,o,s=r(e)+"",u=a(n),p=s.length;return 0>u||u>=p?t?"":void 0:(i=s.charCodeAt(u),55296>i||i>56319||u+1===p||(o=s.charCodeAt(u+1))<56320||o>57343?t?s.charAt(u):i:t?s.slice(u,u+2):(i-55296<<10)+(o-56320)+65536)}}},{18:18,77:77}],71:[function(t,e,n){var a=t(39),r=t(18);e.exports=function(t,e,n){if(a(e))throw TypeError("String#"+n+" doesn't accept regex!");return r(t)+""}},{18:18,39:39}],72:[function(t,e,n){var a=t(79),r=t(73),i=t(18);e.exports=function(t,e,n,o){var s=i(t)+"",u=s.length,p=void 0===n?" ":n+"",c=a(e);if(u>=c)return s;""==p&&(p=" ");var l=c-u,f=r.call(p,Math.ceil(l/p.length));return f.length>l&&(f=f.slice(0,l)),o?f+s:s+f}},{18:18,73:73,79:79}],73:[function(t,e,n){"use strict";var a=t(77),r=t(18);e.exports=function(t){var e=r(this)+"",n="",i=a(t);if(0>i||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},{18:18,77:77}],74:[function(t,e,n){var a=t(22),r=t(18),i=t(24),o=" \n\x0B\f\r   ᠎ â€â€‚         âŸã€€\u2028\u2029\ufeff",s="["+o+"]",u="​…",p=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),l=function(t,e){var n={};n[t]=e(f),a(a.P+a.F*i(function(){return!!o[t]()||u[t]()!=u}),"String",n)},f=l.trim=function(t,e){return t=r(t)+"",1&e&&(t=t.replace(p,"")),2&e&&(t=t.replace(c,"")),t};e.exports=l},{18:18,22:22,24:24}],75:[function(t,e,n){var a,r,i,o=t(17),s=t(33),u=t(32),p=t(20),c=t(29),l=c.process,f=c.setImmediate,d=c.clearImmediate,h=c.MessageChannel,m=0,v={},g="onreadystatechange",b=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},y=function(t){b.call(t.data)};f&&d||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++m]=function(){s("function"==typeof t?t:Function(t),e)},a(m),m},d=function(t){delete v[t]},"process"==t(11)(l)?a=function(t){l.nextTick(o(b,t,1))}:h?(r=new h,i=r.port2,r.port1.onmessage=y,a=o(i.postMessage,i,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(a=function(t){c.postMessage(t+"","*")},c.addEventListener("message",y,!1)):a=g in p("script")?function(t){u.appendChild(p("script"))[g]=function(){u.removeChild(this),b.call(t)}}:function(t){setTimeout(o(b,t,1),0)}),e.exports={set:f,clear:d}},{11:11,17:17,20:20,29:29,32:32,33:33}],76:[function(t,e,n){var a=t(77),r=Math.max,i=Math.min;e.exports=function(t,e){return t=a(t),0>t?r(t+e,0):i(t,e)}},{77:77}],77:[function(t,e,n){var a=Math.ceil,r=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?r:a)(t)}},{}],78:[function(t,e,n){var a=t(34),r=t(18);e.exports=function(t){return a(r(t))}},{18:18,34:34}],79:[function(t,e,n){var a=t(77),r=Math.min;e.exports=function(t){return t>0?r(a(t),9007199254740991):0}},{77:77}],80:[function(t,e,n){var a=t(18);e.exports=function(t){return Object(a(t))}},{18:18}],81:[function(t,e,n){var a=t(38);e.exports=function(t,e){if(!a(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!a(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},{38:38}],82:[function(t,e,n){var a=0,r=Math.random();e.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++a+r).toString(36))}},{}],83:[function(t,e,n){var a=t(67)("wks"),r=t(82),i=t(29).Symbol;e.exports=function(t){return a[t]||(a[t]=i&&i[t]||(i||r)("Symbol."+t))}},{29:29,67:67,82:82}],84:[function(t,e,n){var a=t(10),r=t(83)("iterator"),i=t(45);e.exports=t(16).getIteratorMethod=function(t){return void 0!=t?t[r]||t["@@iterator"]||i[a(t)]:void 0}},{10:10,16:16,45:45,83:83}],85:[function(t,e,n){"use strict";var a,r=t(46),i=t(22),o=t(19),s=t(59),u=t(32),p=t(20),c=t(30),l=t(11),f=t(33),d=t(24),h=t(4),m=t(2),v=t(38),g=t(80),b=t(78),y=t(77),x=t(76),_=t(79),w=t(34),k=t(82)("__proto__"),E=t(8),S=t(7)(!1),C=Object.prototype,P=Array.prototype,A=P.slice,O=P.join,T=r.setDesc,M=r.getDesc,R=r.setDescs,j={};o||(a=!d(function(){return 7!=T(p("div"),"a",{get:function(){return 7}}).a}),r.setDesc=function(t,e,n){if(a)try{return T(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(h(t)[e]=n.value),t},r.getDesc=function(t,e){if(a)try{return M(t,e)}catch(n){}return c(t,e)?s(!C.propertyIsEnumerable.call(t,e),t[e]):void 0},r.setDescs=R=function(t,e){h(t);for(var n,a=r.getKeys(e),i=a.length,o=0;i>o;)r.setDesc(t,n=a[o++],e[n]);return t}),i(i.S+i.F*!o,"Object",{getOwnPropertyDescriptor:r.getDesc,defineProperty:r.setDesc,defineProperties:R});var L="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),D=L.concat("length","prototype"),N=L.length,F=function(){var t,e=p("iframe"),n=N,a=">";for(e.style.display="none",u.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("
[get_held_index_name(i)]:[(I && !(I.flags & ABSTRACT)) ? I : "Empty"]
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
 
Back:[(back && !(back.flags&ABSTRACT)) ? back : "Empty"]" -+ dat += "
Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" - if(has_breathable_mask && istype(back, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" - - dat += "
 
Head:[(head && !(head.flags&ABSTRACT)) ? head : "Empty"]
Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
Mask:Obscured
Mask:[(wear_mask && !(wear_mask.flags&ABSTRACT)) ? wear_mask : "Empty"]
Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
Neck:Obscured
Neck:[(wear_neck && !(wear_neck.flags&ABSTRACT)) ? wear_neck : "Empty"]
Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
Eyes:Obscured
Eyes:[(glasses && !(glasses.flags&ABSTRACT)) ? glasses : "Empty"]
Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
Ears:Obscured
Ears:[(ears && !(ears.flags&ABSTRACT)) ? ears : "Empty"]
Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
 
Exosuit:[(wear_suit && !(wear_suit.flags&ABSTRACT)) ? wear_suit : "Empty"]
Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
 ↳Suit Storage:[(s_store && !(s_store.flags&ABSTRACT)) ? s_store : "Empty"]" -+ dat += "
 ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" - if(has_breathable_mask && istype(s_store, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" - dat += "
Shoes:Obscured
Shoes:[(shoes && !(shoes.flags&ABSTRACT)) ? shoes : "Empty"]
Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
Gloves:Obscured
Gloves:[(gloves && !(gloves.flags&ABSTRACT)) ? gloves : "Empty"]
Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
Uniform:Obscured
Uniform:[(w_uniform && !(w_uniform.flags&ABSTRACT)) ? w_uniform : "Empty"]
Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
 ↳Pockets:
 ↳ID:
 ↳Belt:
 ↳Belt:[(belt && !(belt.flags&ABSTRACT)) ? belt : "Empty"]" -+ dat += "
 ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" - if(has_breathable_mask && istype(belt, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" - dat += "
 ↳Pockets:[(l_store && !(l_store.flags&ABSTRACT)) ? "Left (Full)" : "Left (Empty)"]" -- dat += " [(r_store && !(r_store.flags&ABSTRACT)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.flags&ABSTRACT)) ? wear_id : "Empty"]
 ↳Pockets:[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "Left (Empty)"]" -+ dat += " [(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
Handcuffed: Remove