diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 0379517190f..99c51c205f1 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -254,7 +254,7 @@ CREATE TABLE `player` ( `UI_style_alpha` smallint(4) DEFAULT '255', `be_role` mediumtext, `default_slot` smallint(4) DEFAULT '1', - `toggles` mediumint(8) DEFAULT '383', + `toggles` int(8) DEFAULT '383', `sound` mediumint(8) DEFAULT '31', `randomslot` tinyint(1) DEFAULT '0', `volume` smallint(4) DEFAULT '100', @@ -266,6 +266,9 @@ CREATE TABLE `player` ( `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', + `fuid` BIGINT(20) NULL DEFAULT NULL, + `fupdate` SMALLINT(4) NULL DEFAULT 0, + `afk_watch` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; @@ -523,15 +526,27 @@ CREATE TABLE `memo` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `discord` +-- Table structure for table `ipintel` -- -DROP TABLE IF EXISTS `discord`; +DROP TABLE IF EXISTS `ipintel`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `discord` ( - `ckey` varchar(32) NOT NULL, - `discord_id` bigint(20) NOT NULL, - `notify` int(11) NOT NULL, - PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +CREATE TABLE `ipintel` ( +`ip` INT UNSIGNED NOT NULL , +`date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL , +`intel` REAL NOT NULL DEFAULT '0', +PRIMARY KEY ( `ip` ) +) ENGINE = INNODB; /*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `vpn_whitelist` +-- +DROP TABLE IF EXISTS `vpn_whitelist`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `vpn_whitelist` ( + `ckey` VARCHAR(32) NOT NULL, + `reason` text + PRIMARY KEY (`ckey`) +) ENGINE=INNODB; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index e9a622cf037..c64317084d7 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -253,7 +253,7 @@ CREATE TABLE `SS13_player` ( `UI_style_alpha` smallint(4) DEFAULT '255', `be_role` mediumtext, `default_slot` smallint(4) DEFAULT '1', - `toggles` mediumint(8) DEFAULT '383', + `toggles` int(8) DEFAULT '383', `sound` mediumint(8) DEFAULT '31', `randomslot` tinyint(1) DEFAULT '0', `volume` smallint(4) DEFAULT '100', @@ -265,6 +265,9 @@ CREATE TABLE `SS13_player` ( `exp` mediumtext, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', + `fuid` BIGINT(20) NULL DEFAULT NULL, + `fupdate` SMALLINT(4) NULL DEFAULT 0, + `afk_watch` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; @@ -522,15 +525,27 @@ CREATE TABLE `SS13_memo` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `SS13_discord` +-- Table structure for table `SS13_ipintel` -- -DROP TABLE IF EXISTS `SS13_discord`; +DROP TABLE IF EXISTS `SS13_ipintel`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `SS13_discord` ( - `ckey` varchar(32) NOT NULL, - `discord_id` bigint(20) NOT NULL, - `notify` int(11) NOT NULL, - PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +CREATE TABLE `SS13_ipintel` ( +`ip` INT UNSIGNED NOT NULL , +`date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL , +`intel` REAL NOT NULL DEFAULT '0', +PRIMARY KEY ( `ip` ) +) ENGINE = INNODB; /*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_vpn_whitelist` +-- +DROP TABLE IF EXISTS `SS13_vpn_whitelist`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_vpn_whitelist` ( + `ckey` VARCHAR(32) NOT NULL, + `reason` text, + PRIMARY KEY (`ckey`) +) ENGINE=INNODB; \ No newline at end of file diff --git a/SQL/updates/5-6.sql b/SQL/updates/5-6.sql new file mode 100644 index 00000000000..91bf4328a2a --- /dev/null +++ b/SQL/updates/5-6.sql @@ -0,0 +1,34 @@ +#Updating the SQL from version 5 to version 6. -Kyep + +#Make a table to track the results of VPN/proxy lookups for IPs (IPINTEL, TG PORT) +CREATE TABLE `ipintel` ( +`ip` INT UNSIGNED NOT NULL , +`date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL , +`intel` REAL NOT NULL DEFAULT '0', +PRIMARY KEY ( `ip` ) +) ENGINE = INNODB; + +#Make a table to track which ckeys are whitelisted for use of VPNs (IPINTEL, CUSTOM) +CREATE TABLE `vpn_whitelist` ( + `ckey` VARCHAR(32) NOT NULL, + `reason` text, + PRIMARY KEY (`ckey`) +) ENGINE=INNODB; + +# Add fuid (forum userid) which enables quick lookup of which ckey is associated with a specific forum account. (FORUM LINK) +ALTER TABLE `player` ADD `fuid` BIGINT(20) NULL DEFAULT NULL; +ALTER TABLE `player` ADD INDEX(`fuid`); + +# Add fupdate (forum update required) which flags specific ckeys as having been banned/unbanned, which requires an update of their forum/etc permissions (FORUM LINK) +ALTER TABLE `player` ADD `fupdate` SMALLINT(4) NULL DEFAULT 0; +ALTER TABLE `player` ADD INDEX(`fupdate`); + +#Make a table to track oauth tokens for linking forum/web accounts (FORUM LINK) +CREATE TABLE `oauth_tokens` ( + `ckey` VARCHAR(32) NOT NULL, + `token` VARCHAR(32) NOT NULL, + PRIMARY KEY (`token`) +) ENGINE=INNODB; + +#Drop the old 'discord' table that is not used anymore +DROP TABLE `discord`; diff --git a/SQL/updates/6-7.sql b/SQL/updates/6-7.sql new file mode 100644 index 00000000000..c871302b2de --- /dev/null +++ b/SQL/updates/6-7.sql @@ -0,0 +1,2 @@ +ALTER TABLE player +MODIFY COLUMN toggles int; \ No newline at end of file diff --git a/SQL/updates/7-8.sql b/SQL/updates/7-8.sql new file mode 100644 index 00000000000..16bc90b7a50 --- /dev/null +++ b/SQL/updates/7-8.sql @@ -0,0 +1,2 @@ +# Add afk_watch which gives users the option to make use of the AFK watcher subsystem +ALTER TABLE `player` ADD `afk_watch` tinyint(1) NOT NULL DEFAULT '0'; diff --git a/_maps/__MAP_DEFINES.dm b/_maps/__MAP_DEFINES.dm index a3a14443cda..f2c68ca4986 100644 --- a/_maps/__MAP_DEFINES.dm +++ b/_maps/__MAP_DEFINES.dm @@ -31,7 +31,7 @@ #define CENTCOMM "CentComm" #define TELECOMMS "Telecomms Satellite" #define DERELICT "Derelicted Station" - #define MINING "Mining Asteroid" + #define MINING "Lavaland" #define CONSTRUCTION "Construction Area" #define EMPTY_AREA "Empty Area" #define EMPTY_AREA_2 "Empty Area 2" diff --git a/_maps/cyberiad.dm b/_maps/cyberiad.dm index e21be9f1940..44090ba3faa 100644 --- a/_maps/cyberiad.dm +++ b/_maps/cyberiad.dm @@ -17,16 +17,17 @@ z7 = empty #include "map_files\cyberiad\z2.dmm" #include "map_files\cyberiad\z3.dmm" #include "map_files\cyberiad\z4.dmm" - #include "map_files\generic\z5.dmm" + #include "map_files\generic\Lavaland.dmm" #include "map_files\cyberiad\z6.dmm" #include "map_files\generic\z7.dmm" + #define MINETYPE "lavaland" #define MAP_TRANSITION_CONFIG list(\ -DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL,STATION_CONTACT,REACHABLE,AI_OK)),\ +DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\ DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\ DECLARE_LEVEL(TELECOMMS, CROSSLINKED, list(REACHABLE, BOOSTS_SIGNAL, AI_OK)),\ DECLARE_LEVEL(CONSTRUCTION, CROSSLINKED, list(REACHABLE)),\ -DECLARE_LEVEL(MINING, CROSSLINKED, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)),\ +DECLARE_LEVEL(MINING, SELFLOOPING, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)),\ DECLARE_LEVEL(DERELICT, CROSSLINKED, list(REACHABLE)),\ DECLARE_LEVEL(EMPTY_AREA, CROSSLINKED, list(REACHABLE))) diff --git a/_maps/delta.dm b/_maps/delta.dm index 5ee84d3d0cd..c6db5e18750 100644 --- a/_maps/delta.dm +++ b/_maps/delta.dm @@ -26,12 +26,13 @@ Lovingly ported by Purpose2 to Paradise #define MAP_FILE "delta.dmm" #define MAP_NAME "Kerberos" + #define MINETYPE "lavaland" #define MAP_TRANSITION_CONFIG list(\ -DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL,STATION_CONTACT,REACHABLE,AI_OK)),\ +DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\ DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\ DECLARE_LEVEL(TELECOMMS, CROSSLINKED, list(REACHABLE, BOOSTS_SIGNAL, AI_OK)),\ DECLARE_LEVEL(CONSTRUCTION, CROSSLINKED, list(REACHABLE)),\ -DECLARE_LEVEL(MINING, CROSSLINKED, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)),\ +DECLARE_LEVEL(MINING, SELFLOOPING, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)),\ DECLARE_LEVEL(DERELICT, CROSSLINKED, list(REACHABLE)),\ DECLARE_LEVEL(EMPTY_AREA, CROSSLINKED, list(REACHABLE))) diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index 50a89115cac..bac17c5a2ad 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -668,7 +668,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "abH" = ( /obj/structure/computerframe{ @@ -860,7 +860,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "acf" = ( /obj/structure/cable{ @@ -881,7 +881,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "acg" = ( /obj/structure/cable{ @@ -889,12 +889,12 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "ach" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "aci" = ( /obj/structure/cable{ @@ -902,7 +902,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "acj" = ( /obj/structure/cable{ @@ -922,7 +922,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "ack" = ( /obj/structure/spacepoddoor, @@ -968,7 +968,7 @@ /area/maintenance/auxsolarstarboard) "acp" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "acq" = ( /obj/structure/table, @@ -1082,11 +1082,11 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "acF" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "acG" = ( /obj/structure/cable{ @@ -1094,7 +1094,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "acH" = ( /obj/structure/chair/stool, @@ -1776,7 +1776,7 @@ req_access_txt = "10;13" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "aed" = ( /obj/docking_port/mobile/pod{ @@ -5678,7 +5678,7 @@ }, /area/maintenance/fsmaint) "amf" = ( -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/simulated/floor/plasteel{ icon_state = "redyellowfull" }, @@ -5693,7 +5693,7 @@ /turf/simulated/floor/plating, /area/maintenance/fsmaint) "ami" = ( -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "amj" = ( /obj/machinery/door/poddoor/shutters{ @@ -8928,7 +8928,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "asV" = ( /obj/structure/cable{ @@ -8944,7 +8944,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "asW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -9002,7 +9002,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "atb" = ( /obj/structure/cable{ @@ -9010,12 +9010,12 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "atc" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "atd" = ( /turf/simulated/wall/r_wall, @@ -9355,7 +9355,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "atL" = ( /obj/structure/cable{ @@ -9375,7 +9375,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "atM" = ( /obj/structure/cable{ @@ -9496,7 +9496,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "atV" = ( /obj/structure/disposalpipe/segment{ @@ -9547,7 +9547,7 @@ /area/maintenance/auxsolarport) "atZ" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "aua" = ( /obj/effect/decal/cleanable/dirt, @@ -12859,7 +12859,7 @@ dir = 6 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aAf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -12908,7 +12908,7 @@ dir = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aAj" = ( /obj/structure/cable{ @@ -13823,7 +13823,7 @@ dir = 5 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aBW" = ( /obj/structure/cable{ @@ -14709,7 +14709,7 @@ dir = 10 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aDD" = ( /obj/structure/cable{ @@ -14983,14 +14983,14 @@ dir = 8 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/engine/controlroom) "aEa" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 9 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aEb" = ( /obj/structure/cable{ @@ -14998,7 +14998,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "aEc" = ( /obj/structure/cable{ @@ -15007,7 +15007,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "aEd" = ( /obj/machinery/atmospherics/trinary/filter{ @@ -15773,7 +15773,7 @@ dir = 10 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aFA" = ( /turf/simulated/wall, @@ -18104,12 +18104,12 @@ "aJy" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, -/area/space/nearstation) +/obj/structure/lattice/catwalk, +/area/space) "aJz" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aJA" = ( /obj/structure/cable{ @@ -19475,7 +19475,7 @@ icon_state = "0-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarport) "aLR" = ( /obj/structure/chair/stool, @@ -19495,7 +19495,7 @@ "aLT" = ( /obj/item/wrench, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aLU" = ( /turf/simulated/wall, @@ -19506,11 +19506,6 @@ dir = 4; location = "QM #4" }, -/obj/machinery/camera{ - c_tag = "Cargo Office SouthWest"; - dir = 4; - network = list("SS13") - }, /obj/effect/decal/warning_stripes/yellow, /mob/living/simple_animal/bot/mulebot{ home_destination = "QM #4"; @@ -21052,7 +21047,7 @@ dir = 5 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aOV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -21066,13 +21061,9 @@ dir = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aOX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4; - level = 1 - }, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/cleanliness{ pixel_y = 32 @@ -21238,10 +21229,8 @@ tag = "" }, /obj/machinery/igniter{ - icon_state = "igniter0"; id = "Incinerator"; - luminosity = 2; - on = 0 + luminosity = 2 }, /turf/simulated/floor/engine, /area/maintenance/incinerator) @@ -25725,7 +25714,7 @@ dir = 8 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/incinerator) "aWS" = ( /obj/structure/table/reinforced, @@ -27686,7 +27675,7 @@ dir = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aZZ" = ( /obj/item/radio/intercom{ @@ -27708,7 +27697,7 @@ icon_state = "pipe-c" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bab" = ( /obj/effect/spawner/window/reinforced, @@ -28084,7 +28073,7 @@ level = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/atmos) "baO" = ( /obj/machinery/access_button{ @@ -28617,7 +28606,7 @@ level = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/atmos) "bbG" = ( /turf/simulated/floor/plating, @@ -33633,7 +33622,7 @@ /area/atmos) "bkQ" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/atmos) "bkR" = ( /obj/structure/reagent_dispensers/fueltank, @@ -39480,7 +39469,7 @@ level = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/atmos) "buY" = ( /obj/structure/cable{ @@ -52898,7 +52887,7 @@ dir = 9 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bRn" = ( /obj/structure/rack, @@ -53135,7 +53124,7 @@ layer = 2.9 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bRH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -54805,7 +54794,7 @@ req_access_txt = "32" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bUc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -55199,7 +55188,7 @@ level = 1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bUK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -55457,7 +55446,7 @@ dir = 10 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bVg" = ( /obj/structure/cable{ @@ -55674,7 +55663,7 @@ dir = 6 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bVt" = ( /obj/structure/sign/vacuum{ @@ -57189,7 +57178,7 @@ req_access_txt = "10;13" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bXG" = ( /obj/structure/cable{ @@ -57199,7 +57188,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bXH" = ( /obj/item/twohanded/required/kirbyplants, @@ -57392,7 +57381,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bYb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -57475,7 +57464,7 @@ level = 1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bYm" = ( /obj/structure/cable{ @@ -57489,7 +57478,7 @@ level = 1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bYn" = ( /obj/structure/sign/directions/evac{ @@ -57698,7 +57687,7 @@ dir = 9 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bYK" = ( /obj/effect/spawner/window/reinforced, @@ -57919,7 +57908,7 @@ dir = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bZg" = ( /obj/structure/table/reinforced, @@ -58094,7 +58083,7 @@ level = 1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bZx" = ( /obj/structure/disposalpipe/segment{ @@ -62780,7 +62769,7 @@ level = 1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "chx" = ( /obj/structure/cable{ @@ -63831,7 +63820,7 @@ icon_state = "D-SE" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cjm" = ( /obj/structure/closet/crate, @@ -66344,7 +66333,7 @@ icon_state = "E-SW-NW" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cnI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -66567,7 +66556,7 @@ icon_state = "E-W-Pass" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "coj" = ( /obj/structure/cable/yellow{ @@ -69034,7 +69023,7 @@ }, /obj/structure/transit_tube, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "css" = ( /obj/structure/table/reinforced, @@ -69095,7 +69084,7 @@ icon_state = "W-SE" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "csz" = ( /obj/structure/closet/crate{ @@ -69742,7 +69731,7 @@ dir = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "ctJ" = ( /obj/structure/transit_tube{ @@ -69753,7 +69742,7 @@ dir = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "ctK" = ( /obj/structure/table/wood, @@ -69902,7 +69891,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "ctZ" = ( /obj/effect/spawner/window/reinforced, @@ -73001,7 +72990,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "czx" = ( /obj/structure/cable{ @@ -74443,7 +74432,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cBV" = ( /obj/structure/chair/office/dark, @@ -77536,7 +77525,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cHu" = ( /obj/effect/decal/cleanable/cobweb, @@ -78383,7 +78372,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cJf" = ( /obj/structure/sign/directions/evac{ @@ -78830,7 +78819,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cKk" = ( /obj/structure/cable{ @@ -78845,7 +78834,7 @@ "cKl" = ( /obj/structure/window/reinforced, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cKm" = ( /obj/structure/cable{ @@ -80281,7 +80270,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cNo" = ( /obj/structure/cable{ @@ -80750,7 +80739,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cOa" = ( /obj/structure/table/reinforced, @@ -80926,7 +80915,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cOn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -81685,7 +81674,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cPL" = ( /obj/structure/disposalpipe/segment{ @@ -81853,7 +81842,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cPY" = ( /obj/machinery/access_button{ @@ -81866,7 +81855,7 @@ req_access_txt = "0" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cPZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -84105,7 +84094,7 @@ /turf/simulated/floor/plating, /area/medical/medbay) "cTZ" = ( -/obj/machinery/smartfridge/chemistry, +/obj/machinery/smartfridge/secure/chemistry, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -89452,7 +89441,7 @@ }, /area/hallway/primary/aft) "ddL" = ( -/obj/machinery/smartfridge/chemistry, +/obj/machinery/smartfridge/secure/chemistry, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -107538,7 +107527,7 @@ req_access_txt = "13" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "dKy" = ( /obj/structure/grille, @@ -110244,7 +110233,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "dPo" = ( /obj/structure/bed/roller, @@ -110931,7 +110920,7 @@ /area/medical/virology) "dQB" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dQC" = ( /obj/machinery/field/generator{ @@ -115002,7 +114991,7 @@ req_access_txt = "0" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "dXY" = ( /obj/structure/table/reinforced, @@ -115340,7 +115329,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYJ" = ( /obj/structure/cable{ @@ -115349,7 +115338,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYK" = ( /obj/structure/cable{ @@ -115367,7 +115356,7 @@ req_access_txt = "13" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYL" = ( /obj/structure/cable{ @@ -115383,7 +115372,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYM" = ( /obj/structure/cable{ @@ -115404,7 +115393,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYN" = ( /obj/structure/cable{ @@ -115412,7 +115401,7 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYO" = ( /obj/structure/cable{ @@ -115432,7 +115421,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYP" = ( /obj/structure/cable{ @@ -115447,7 +115436,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYQ" = ( /obj/machinery/access_button{ @@ -115460,7 +115449,7 @@ req_access_txt = "10;13" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "dYR" = ( /obj/structure/cable{ @@ -115469,7 +115458,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYS" = ( /obj/structure/cable{ @@ -115479,7 +115468,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/portsolar) "dYT" = ( /turf/simulated/floor/carpet, diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index fd4abd040cc..63c912e11d7 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -766,7 +766,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abB" = ( /turf/simulated/wall/r_wall, @@ -869,7 +869,7 @@ "abL" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abM" = ( /obj/structure/cable{ @@ -883,7 +883,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abN" = ( /obj/structure/table, @@ -959,7 +959,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abV" = ( /obj/structure/cable{ @@ -967,11 +967,11 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abW" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abX" = ( /obj/structure/cable{ @@ -979,7 +979,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abY" = ( /obj/structure/cable{ @@ -998,7 +998,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "abZ" = ( /obj/structure/cable{ @@ -1012,7 +1012,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "aca" = ( /obj/structure/cable/yellow{ @@ -1056,7 +1056,7 @@ "acf" = ( /obj/item/stack/cable_coil, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "acg" = ( /obj/effect/spawner/window/reinforced, @@ -1270,7 +1270,7 @@ pixel_x = -1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "acA" = ( /turf/simulated/floor/plasteel, @@ -1628,7 +1628,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "adj" = ( /obj/structure/cable{ @@ -1637,7 +1637,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "adk" = ( /obj/machinery/light/small{ @@ -1991,7 +1991,7 @@ "adP" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "adQ" = ( /obj/structure/table, @@ -2118,10 +2118,10 @@ /area/security/permabrig) "aee" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "aef" = ( -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /turf/space, /area/space/nearstation) "aeg" = ( @@ -2136,7 +2136,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "aeh" = ( /turf/simulated/shuttle/wall{ @@ -2420,7 +2420,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "aeB" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ @@ -2894,7 +2894,7 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "afp" = ( /obj/structure/chair/stool, @@ -2919,7 +2919,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "afr" = ( /obj/effect/spawner/window/reinforced, @@ -3125,7 +3125,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "afH" = ( /turf/simulated/shuttle/wall{ @@ -3386,7 +3386,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "agf" = ( /obj/machinery/atmospherics/pipe/simple/hidden, @@ -3452,7 +3452,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "ago" = ( /obj/structure/cable, @@ -3655,7 +3655,7 @@ "agH" = ( /obj/item/stack/cable_coil, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "agI" = ( /turf/space, @@ -3700,7 +3700,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "agN" = ( /obj/machinery/atmospherics/unary/portables_connector{ @@ -5106,7 +5106,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "aiR" = ( /obj/structure/cable{ @@ -5115,7 +5115,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxport) "aiS" = ( /obj/structure/closet/secure_closet/brig{ @@ -6297,7 +6297,7 @@ pixel_x = -1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/auxstarboard) "akY" = ( /obj/effect/spawner/window/reinforced, @@ -11643,7 +11643,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/maintenance/auxsolarstarboard) "auw" = ( /obj/structure/disposalpipe/segment, @@ -27656,7 +27656,7 @@ /area/maintenance/fore) "aWw" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "aWx" = ( /obj/machinery/door/airlock/maintenance{ @@ -31845,7 +31845,7 @@ "bdO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/construction/hallway{ name = "\improper MiniSat Exterior" }) @@ -43951,7 +43951,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bxn" = ( /obj/structure/transit_tube{ @@ -43972,7 +43972,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bxo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -43985,14 +43985,9 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) -"bxp" = ( -/obj/structure/transit_tube/station{ - icon_state = "closed"; - dir = 4 - }, -/obj/structure/transit_tube_pod, +"bxp" = (/obj/structure/transit_tube_pod, /obj/structure/window/reinforced{ dir = 8 }, @@ -44026,7 +44021,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "bxr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -65914,7 +65909,7 @@ "ciB" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "ciC" = ( /obj/effect/decal/warning_stripes/northeast, @@ -66275,7 +66270,7 @@ /area/atmos) "cjc" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cjd" = ( /obj/effect/spawner/window/reinforced, @@ -67037,7 +67032,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cks" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -68472,7 +68467,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cmI" = ( /obj/machinery/vending/wallmed1{ @@ -73654,10 +73649,8 @@ /area/medical/reception) "cuQ" = ( /obj/machinery/igniter{ - icon_state = "igniter0"; id = "Turbine_igniter"; - luminosity = 2; - on = 0 + luminosity = 2 }, /obj/structure/cable{ d1 = 1; @@ -74383,7 +74376,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cvR" = ( /obj/structure/chair/office/light, @@ -76938,7 +76931,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cAg" = ( /obj/structure/closet, @@ -77557,7 +77550,7 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cBf" = ( /obj/machinery/computer/security/telescreen{ @@ -77580,7 +77573,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cBh" = ( /obj/item/storage/secure/safe{ @@ -78230,7 +78223,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cCg" = ( /obj/item/reagent_containers/glass/beaker/large, @@ -78313,7 +78306,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cCk" = ( /obj/structure/table, @@ -78464,7 +78457,7 @@ "cCw" = ( /obj/item/stack/cable_coil, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cCx" = ( /obj/structure/cable/yellow{ @@ -78498,7 +78491,7 @@ icon_state = "0-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cCA" = ( /turf/simulated/floor/plasteel{ @@ -78815,7 +78808,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cDa" = ( /obj/machinery/door/airlock/maintenance{ @@ -82337,7 +82330,7 @@ }, /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/port) "cIO" = ( /obj/item/flashlight/lamp, @@ -86873,7 +86866,7 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cPV" = ( /obj/structure/closet/wardrobe/robotics_black{ @@ -91764,7 +91757,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cXO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -92030,7 +92023,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cYj" = ( /obj/structure/chair, @@ -92227,7 +92220,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cYB" = ( /obj/machinery/light/small{ @@ -92484,11 +92477,11 @@ "cYY" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cYZ" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cZa" = ( /obj/machinery/light_switch{ @@ -92534,7 +92527,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cZd" = ( /obj/structure/cable{ @@ -92553,7 +92546,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cZe" = ( /turf/simulated/shuttle/wall{ @@ -92601,7 +92594,7 @@ icon_state = "0-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cZk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -92809,7 +92802,7 @@ "cZA" = ( /obj/item/stack/cable_coil, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cZB" = ( /turf/simulated/shuttle/floor, @@ -93007,7 +93000,7 @@ d2 = 4 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "cZX" = ( /obj/machinery/light{ @@ -94648,7 +94641,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "dcw" = ( /obj/structure/window/reinforced, @@ -94856,7 +94849,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "dcO" = ( /obj/docking_port/stationary{ @@ -95133,7 +95126,7 @@ pixel_x = -1 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "ddx" = ( /turf/simulated/shuttle/wall{ @@ -95205,7 +95198,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/starboard) "ddE" = ( /turf/simulated/shuttle/wall{ diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index 199577ece74..bed554f54f2 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -1498,7 +1498,7 @@ /turf/unsimulated/wall, /area/tdome/arena_source) "eb" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plasteel, /area/tdome/arena_source) "ec" = ( @@ -5805,7 +5805,7 @@ /turf/unsimulated/wall, /area/tdome/arena) "qu" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plasteel, /area/tdome/arena) "qv" = ( @@ -6351,6 +6351,10 @@ /obj/structure/bed/abductor, /turf/unsimulated/floor/abductor, /area/abductor_ship) +"Ur" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/centcom/holding) (1,1,1) = {" aa @@ -35864,7 +35868,7 @@ tv tu tu tQ -tU +Ur th ab ab diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm index 526fd945efd..d73e5d2d490 100644 --- a/_maps/map_files/MetaStation/z4.dmm +++ b/_maps/map_files/MetaStation/z4.dmm @@ -452,7 +452,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bk" = ( /obj/structure/disposalpipe/trunk{ @@ -489,7 +489,7 @@ }, /area/solar/derelict_starboard) "bo" = ( -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bp" = ( /obj/structure/cable{ @@ -502,7 +502,7 @@ d2 = 4; icon_state = "1-4" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bq" = ( /obj/structure/cable{ @@ -520,7 +520,7 @@ d2 = 4; icon_state = "1-4" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "br" = ( /obj/structure/cable{ @@ -528,7 +528,7 @@ d2 = 8; icon_state = "4-8" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bs" = ( /obj/structure/cable{ @@ -546,7 +546,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bt" = ( /obj/structure/cable{ @@ -559,7 +559,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bu" = ( /obj/structure/cable{ @@ -572,7 +572,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bv" = ( /obj/machinery/power/solar{ @@ -584,14 +584,14 @@ /area/solar/derelict_starboard) "bw" = ( /obj/structure/cable, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "bx" = ( /obj/structure/cable{ icon_state = "0-2"; d2 = 2 }, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_starboard) "by" = ( /turf/simulated/wall, @@ -4196,7 +4196,7 @@ /obj/item/shard{ icon_state = "small" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "lF" = ( /obj/structure/window/basic{ @@ -4222,7 +4222,7 @@ /obj/structure/chair{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "lJ" = ( /obj/machinery/vending/sovietsoda, @@ -4865,7 +4865,7 @@ "nv" = ( /obj/structure/cable, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nw" = ( /obj/structure/grille, @@ -4901,7 +4901,7 @@ d2 = 2 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nB" = ( /obj/structure/cable{ @@ -4922,7 +4922,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nD" = ( /obj/structure/cable{ @@ -4957,7 +4957,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nG" = ( /obj/structure/cable{ @@ -4971,7 +4971,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nH" = ( /obj/structure/cable{ @@ -4980,7 +4980,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nI" = ( /obj/structure/cable{ @@ -5000,7 +5000,7 @@ pixel_y = 0 }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nJ" = ( /obj/structure/cable{ @@ -5014,7 +5014,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nK" = ( /obj/structure/cable{ @@ -5033,12 +5033,12 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "nL" = ( /obj/item/stack/cable_coil/cut, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "nM" = ( /turf/simulated/floor/plating/airless{ @@ -5121,7 +5121,7 @@ /area/derelict/se_solar) "oa" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "ob" = ( /obj/machinery/door/airlock/external{ @@ -5157,7 +5157,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "og" = ( /obj/structure/closet/emcloset, @@ -5186,7 +5186,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/solar/derelict_aft) "ok" = ( /obj/effect/landmark/damageturf, @@ -5375,7 +5375,7 @@ /turf/simulated/mineral/random, /area/space/nearstation) "ps" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) (1,1,1) = {" diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm new file mode 100644 index 00000000000..e6fda6f503a --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm @@ -0,0 +1,1571 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/structure/weightmachine/stacklifter, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ac" = ( +/obj/structure/weightmachine/weightlifter, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ad" = ( +/obj/structure/flora/ausbushes/leafybush, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ae" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/cable_coil, +/obj/item/storage/box/lights/mixed, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"af" = ( +/obj/structure/table, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/sunglasses/big, +/obj/item/clothing/glasses/sunglasses/big, +/obj/item/clothing/glasses/sunglasses/big, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ag" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ah" = ( +/obj/effect/mob_spawn/human/bartender/alive, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ai" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"aj" = ( +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"ak" = ( +/obj/structure/toilet, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"al" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"am" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"an" = ( +/obj/item/flashlight/lantern, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ao" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ap" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aq" = ( +/obj/structure/flora/ausbushes/sunnybush, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ar" = ( +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"as" = ( +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"at" = ( +/obj/item/tank/oxygen, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"au" = ( +/obj/structure/lattice, +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"av" = ( +/obj/machinery/door/airlock/sandstone{ + name = "Lavatory" + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"aw" = ( +/obj/machinery/door/airlock/sandstone{ + name = "Bar Storage" + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"ax" = ( +/obj/structure/extinguisher_cabinet, +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"ay" = ( +/obj/machinery/door/airlock/sandstone{ + name = "Restroom" + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"az" = ( +/obj/item/clothing/accessory/necklace/dope, +/obj/item/reagent_containers/spray/spraytan, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aA" = ( +/obj/item/reagent_containers/spray/spraytan, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aB" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aC" = ( +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aD" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/chem_dispenser/soda, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aE" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aF" = ( +/obj/machinery/vending/boozeomat{ + emagged = 1; + req_access_txt = "0" + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aG" = ( +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aH" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/glass/rag, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aI" = ( +/obj/structure/table, +/obj/machinery/microwave, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aJ" = ( +/obj/structure/closet/crate, +/obj/item/tank/emergency_oxygen, +/obj/item/trash/candy, +/obj/item/toy/owl, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aK" = ( +/obj/effect/turf_decal/sand, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aL" = ( +/obj/effect/turf_decal/sand, +/obj/machinery/vending/cigarette/beach, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aM" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aN" = ( +/obj/machinery/vending/cola, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aO" = ( +/obj/structure/chair/stool, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aP" = ( +/obj/structure/table/wood, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aQ" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aR" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/tequila, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aS" = ( +/obj/machinery/processor, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aT" = ( +/obj/machinery/vending/snack, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aU" = ( +/obj/effect/overlay/palmtree_l, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aV" = ( +/obj/effect/mob_spawn/human/beach/alive, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aW" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/caution{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aX" = ( +/obj/structure/closet/secure_closet/freezer/meat/open, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aY" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/caution{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"aZ" = ( +/obj/effect/overlay/coconut, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ba" = ( +/obj/machinery/disco{ + anchored = 1 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/light/colour_cycle, +/area/ruin/powered/beach) +"bb" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/caution{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"bc" = ( +/obj/machinery/door/airlock/sandstone{ + name = "Bar Access" + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bd" = ( +/obj/structure/closet/secure_closet/freezer/kitchen{ + req_access = null + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"be" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/caution, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"bf" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"bg" = ( +/obj/structure/sign/barsign, +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"bh" = ( +/obj/item/reagent_containers/spray/spraytan, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/plasteel, +/area/ruin/powered/beach) +"bi" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"bj" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/sandal, +/obj/item/clothing/shoes/sandal, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"bk" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"bl" = ( +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"bm" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bn" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bo" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"bp" = ( +/obj/machinery/light/small{ + light_power = 3; + dir = 8 + }, +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"bq" = ( +/obj/effect/turf_decal/sand, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"br" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bx" = ( +/obj/structure/flora/rock, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bz" = ( +/mob/living/simple_animal/crab, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bA" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/bikehorn/airhorn, +/obj/structure/table/wood, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/brute, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bB" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/chair/stool, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bE" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bF" = ( +/obj/item/beach_ball, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bG" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/item/megaphone, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bH" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/mob_spawn/human/beach/alive/lifeguard, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bJ" = ( +/obj/structure/chair, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bK" = ( +/obj/item/storage/backpack/duffel, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bL" = ( +/obj/machinery/poolcontroller/invisible, +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"bM" = ( +/turf/simulated/floor/plasteel/stairs/old, +/area/ruin/powered/beach) +"bN" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bO" = ( +/obj/item/camera, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bP" = ( +/obj/item/reagent_containers/food/drinks/cans/beer, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bQ" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/beach/coastline_t, +/area/ruin/powered/beach) +"bR" = ( +/turf/simulated/floor/beach/coastline_t, +/area/ruin/powered/beach) +"bS" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/beach/coastline_t, +/area/ruin/powered/beach) +"bT" = ( +/turf/simulated/floor/beach/coastline_b, +/area/ruin/powered/beach) +"bU" = ( +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"bV" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"bW" = ( +/turf/simulated/wall/r_wall, +/area/ruin/powered/beach) +"cs" = ( +/obj/effect/overlay/palmtree_l, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ct" = ( +/obj/machinery/light, +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"cR" = ( +/obj/structure/table/wood, +/obj/item/tank/oxygen, +/obj/item/pickaxe, +/obj/item/clothing/mask/gas, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"gg" = ( +/obj/structure/table, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/box/beakers, +/obj/item/storage/box/donkpockets, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"hY" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/beer, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"lF" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/pod{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/powered/beach) +"lM" = ( +/obj/structure/dresser, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"mh" = ( +/obj/effect/spawner/window, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"pI" = ( +/obj/machinery/door/airlock/hatch{ + name = "Lava Beach Club" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"qa" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"qT" = ( +/obj/machinery/shower{ + dir = 8 + }, +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"zw" = ( +/obj/structure/closet/athletic_mixed, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"Bl" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"Ec" = ( +/obj/machinery/door/airlock/sandstone{ + name = "Beach Access" + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"Ei" = ( +/obj/effect/turf_decal/sand, +/obj/machinery/light/small{ + light_power = 3; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"Gc" = ( +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"HC" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/sandal, +/obj/item/clothing/shoes/sandal, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"QS" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"TP" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/pod{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/powered/beach) +"VO" = ( +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"Xp" = ( +/obj/machinery/light/small{ + light_power = 3; + dir = 8 + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +lF +aa +bW +bW +bW +pI +bW +pI +bW +bW +bW +aa +lF +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +bW +bW +bW +bW +bW +bW +zw +Xp +Gc +bo +Gc +bp +cR +bW +bW +bW +bW +bW +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +bW +bW +bW +ap +Bl +bE +bE +bW +HC +VO +bl +bl +Gc +VO +lM +bW +ad +bQ +bT +bW +bW +bW +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +bW +bW +ap +bE +bE +bE +bE +bE +bW +mh +mh +mh +Ec +mh +mh +mh +bW +ap +bR +bT +bU +ct +bW +bW +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +bW +bW +ad +bE +bE +ab +bE +ac +bE +Bl +bE +bE +bm +aK +bm +bE +bE +Bl +bN +bR +bT +bU +bU +bU +bW +bW +aa +aa +"} +(6,1,1) = {" +aa +aa +bW +aq +bE +bE +bE +bE +aV +bE +bE +bE +bE +bE +bE +bE +bE +bz +bE +bJ +bE +bS +bT +bU +bU +bU +bU +bW +aa +aa +"} +(7,1,1) = {" +aa +bW +bW +bE +ap +az +bE +ab +bE +ac +bE +bE +bE +aU +aZ +bE +bE +bE +bE +bE +bE +bR +bT +bU +bU +bU +ct +bW +bW +aa +"} +(8,1,1) = {" +aa +bW +ad +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bJ +aA +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(9,1,1) = {" +aa +bW +bW +bW +bW +aB +aK +aK +aK +aK +aK +aK +aK +aK +bE +bE +bE +ap +bE +bE +bO +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(10,1,1) = {" +aa +bW +ae +gg +bW +aG +aG +aG +aG +aG +aG +aG +bh +aK +bE +bE +ap +bx +bE +bJ +bE +bR +bT +bU +bU +bV +bU +bU +bW +aa +"} +(11,1,1) = {" +aa +bW +af +as +aj +aj +aj +aj +aG +aG +aG +aG +aG +aK +bE +bE +bE +bE +bE +bE +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(12,1,1) = {" +aa +bW +ag +as +aw +aC +aC +aP +aO +aG +aY +aG +aG +aK +bE +bE +ap +bE +bE +bJ +bE +bR +bT +bU +bU +bU +bU +ct +bW +aa +"} +(13,1,1) = {" +aa +bW +ah +as +aj +aD +aC +aQ +aO +aW +ba +be +aG +aK +bE +bx +bE +bE +bE +bK +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(14,1,1) = {" +aa +bW +ai +at +ax +hY +aC +aP +aO +aG +bb +aG +aG +aK +bE +ap +bE +bE +bE +bJ +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(15,1,1) = {" +aa +bW +aj +aj +aj +aF +aC +aR +aO +aG +aG +aG +aG +aK +br +bE +bE +bE +aA +bE +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(16,1,1) = {" +aa +bW +ak +Ei +aj +aE +aC +aj +aj +bc +aj +bf +aG +aK +bE +bE +bE +bE +bE +bJ +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(17,1,1) = {" +aa +bW +aj +av +aj +aH +aC +aC +aC +aC +bg +aG +aG +aK +bE +bE +aU +bE +bE +bE +bE +bR +bT +bU +bV +bU +bU +bU +bW +aa +"} +(18,1,1) = {" +aa +bW +al +as +aj +aI +aM +aS +aX +bd +aj +aG +aG +aK +bE +aZ +bE +bE +bF +bE +bz +bR +bT +bU +bU +bU +bU +ct +bW +aa +"} +(19,1,1) = {" +aa +bW +am +as +aj +aj +aj +aj +aj +aj +aj +bf +aG +aK +bE +bE +bE +bE +QS +bE +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(20,1,1) = {" +aa +bW +an +ar +aj +aJ +aL +aN +aT +aG +aG +aG +aG +aK +bE +bE +bE +bA +bG +au +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(21,1,1) = {" +aa +bW +ao +ar +ay +aG +aG +aG +aG +aG +aG +aG +aG +aK +bE +bE +bE +bB +bH +bM +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(22,1,1) = {" +aa +bW +bW +bW +bW +aB +aK +aK +aK +aK +aK +aK +aK +aK +bE +bE +bE +bE +bE +bE +bP +bR +bT +bU +bU +bU +bV +bU +bW +aa +"} +(23,1,1) = {" +aa +bW +ap +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bJ +bE +bR +bT +bU +bU +bU +bU +bL +bW +aa +"} +(24,1,1) = {" +aa +bW +bW +bE +ap +bE +bE +aU +aA +bE +bE +bz +bE +bE +bE +bE +bE +aZ +bE +bE +bE +bR +bT +bU +bU +bU +ct +bW +bW +aa +"} +(25,1,1) = {" +aa +aa +bW +aq +bE +bE +bE +bE +aZ +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bS +bT +bU +bU +bU +bU +bW +aa +aa +"} +(26,1,1) = {" +aa +aa +bW +bW +ap +bE +bE +aq +aV +bE +bE +QS +bE +bE +bn +aK +bn +bE +bE +cs +bE +bR +bT +bU +bU +bU +bW +bW +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +bW +bW +ad +bE +bE +bE +bE +bE +bW +mh +mh +mh +Ec +mh +mh +mh +bW +ap +bR +bT +bU +ct +bW +bW +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +bW +bW +bW +ap +QS +ap +bE +bW +bi +VO +Gc +bl +bl +bq +lM +bW +bN +bR +bT +bW +bW +bW +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +bW +bW +bW +bW +bW +bW +bj +bk +Gc +qT +bl +qa +cR +bW +bW +bW +bW +bW +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +TP +aa +bW +bW +bW +pI +bW +pI +bW +bW +bW +aa +TP +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm new file mode 100644 index 00000000000..5822d05aa8a --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm @@ -0,0 +1,1614 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ac" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/mob/living/simple_animal/bot/cleanbot, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"ad" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"ae" = ( +/turf/simulated/wall/mineral/titanium/nodiagonal, +/area/ruin/powered/animal_hospital) +"af" = ( +/obj/effect/spawner/window, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"ag" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"ah" = ( +/obj/structure/toilet, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"ai" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aj" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ak" = ( +/obj/structure/table/wood, +/obj/item/taperecorder, +/obj/item/pen/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"al" = ( +/obj/structure/table/wood, +/obj/item/toy/carpplushie, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"am" = ( +/obj/machinery/vending/snack, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"an" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ao" = ( +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ap" = ( +/obj/structure/table, +/obj/item/circular_saw, +/obj/item/scalpel{ + pixel_y = 12 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aq" = ( +/obj/structure/table, +/obj/item/surgicaldrill, +/obj/item/bonegel, +/obj/item/bonesetter, +/obj/item/FixOVein, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ar" = ( +/obj/structure/table, +/obj/item/surgical_drapes, +/obj/item/razor, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"as" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"at" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"au" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"av" = ( +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/spray/cleaner, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aw" = ( +/obj/structure/bed/roller, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ax" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/storage/bag/trash, +/obj/item/trash/cheesie, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/bodybag, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"ay" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"az" = ( +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -27 + }, +/obj/item/paper/fluff/henderson_report, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aA" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aB" = ( +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aC" = ( +/obj/machinery/optable, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aD" = ( +/obj/structure/table, +/obj/item/retractor, +/obj/item/hemostat, +/obj/item/cautery{ + pixel_x = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aE" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aF" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Restroom" + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aG" = ( +/obj/structure/extinguisher_cabinet, +/turf/simulated/wall/mineral/titanium/nodiagonal, +/area/ruin/powered/animal_hospital) +"aJ" = ( +/turf/simulated/floor/plasteel/grimy{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"aK" = ( +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aL" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aN" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aO" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aP" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aR" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"aT" = ( +/obj/structure/closet, +/obj/effect/decal/cleanable/cobweb, +/obj/item/ammo_casing/shotgun/dart, +/obj/item/ammo_casing/shotgun/dart, +/obj/item/gun/projectile/revolver/doublebarrel{ + desc = "For putting critters out to pasture." + }, +/obj/item/ammo_casing/shotgun/buckshot, +/obj/item/storage/box/bodybags, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"aU" = ( +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"aV" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aW" = ( +/obj/machinery/vending/wallmed1{ + pixel_y = 28 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"aX" = ( +/obj/item/stack/cable_coil/random, +/obj/item/stack/sheet/mineral/titanium{ + amount = 30 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"aY" = ( +/obj/structure/morgue, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"aZ" = ( +/obj/effect/decal/cleanable/ash, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"ba" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/glass/beaker, +/obj/item/storage/backpack/duffel/medical, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bb" = ( +/obj/structure/table/reinforced, +/obj/item/laser_pointer, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bc" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/regular, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bd" = ( +/obj/structure/table/glass, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"be" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/item/storage/toolbox/mechanical, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"bf" = ( +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/dromedaryco, +/obj/item/storage/box/matches, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"bg" = ( +/mob/living/simple_animal/cockroach, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"bh" = ( +/obj/structure/table/glass, +/obj/item/storage/firstaid/brute, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bi" = ( +/obj/item/toy/cattoy, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bj" = ( +/obj/structure/table/glass, +/obj/item/lazarus_injector, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bk" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/item/flashlight/flare/glowstick, +/obj/item/flashlight/flare/glowstick, +/obj/item/flashlight/flare/glowstick, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"bl" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/cookie{ + name = "doggie biscuit" + }, +/obj/item/reagent_containers/food/snacks/cookie{ + name = "doggie biscuit" + }, +/obj/item/reagent_containers/food/snacks/cookie{ + name = "doggie biscuit" + }, +/obj/item/reagent_containers/food/snacks/cookie{ + name = "doggie biscuit" + }, +/obj/item/reagent_containers/food/snacks/cookie{ + name = "doggie biscuit" + }, +/obj/item/reagent_containers/food/snacks/cookie{ + name = "doggie biscuit" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bm" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/vending/crittercare, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bn" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bo" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bp" = ( +/obj/structure/closet/crate, +/obj/item/trash/pistachios, +/obj/item/lipstick/random, +/obj/item/seeds/apple, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bq" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"br" = ( +/obj/structure/chair/office, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bs" = ( +/obj/structure/table/reinforced, +/obj/item/phone, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bt" = ( +/obj/item/twohanded/required/kirbyplants, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bu" = ( +/obj/structure/chair/comfy/teal{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bv" = ( +/obj/effect/mob_spawn/human/doctor/alive/lavaland{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bx" = ( +/obj/machinery/door/airlock/medical{ + name = "Rejuvenation Pods" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"by" = ( +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bz" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/regular, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bA" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen/multi, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bB" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/hug, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bD" = ( +/mob/living/simple_animal/bot/medbot{ + desc = "A little medical robot. It's programmed to only act in emergencies."; + heal_threshold = 40; + name = "emergency Medibot" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bE" = ( +/obj/structure/closet/crate/critter, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bG" = ( +/obj/structure/chair/comfy/teal{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bH" = ( +/obj/structure/table, +/obj/item/tank/oxygen, +/obj/item/tank/oxygen, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/tank/oxygen, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bI" = ( +/obj/structure/sign/medbay/alt{ + name = "animal hospital" + }, +/turf/simulated/wall/mineral/titanium/nodiagonal, +/area/ruin/powered/animal_hospital) +"bJ" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + name = "Ian's Pet Care" + }, +/obj/structure/fans/tiny/invisible, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bL" = ( +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bM" = ( +/obj/structure/flora/ausbushes/sunnybush, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bO" = ( +/obj/structure/flora/ausbushes/ppflowers, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bP" = ( +/obj/structure/table/glass, +/obj/item/storage/firstaid/fire, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bQ" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"bR" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/melee/baton/cattleprod{ + desc = "On-the-fly rabies treatment."; + name = "cattle prod" + }, +/obj/item/stock_parts/cell/high, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bS" = ( +/obj/structure/closet, +/obj/item/defibrillator/loaded, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bT" = ( +/obj/item/pickaxe, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bU" = ( +/obj/effect/decal/remains/human, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bV" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bW" = ( +/obj/structure/fans/tiny/invisible, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"bX" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 6 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bY" = ( +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 1 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bZ" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"ca" = ( +/obj/machinery/atmospherics/unary/tank/air{ + dir = 1 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"cb" = ( +/obj/machinery/atmospherics/binary/valve, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"cc" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/wall/mineral/titanium/nodiagonal, +/area/ruin/powered/animal_hospital) +"cd" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/apron/surgical, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ce" = ( +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/pump, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cf" = ( +/obj/structure/closet/l3closet, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cg" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Break Room" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ch" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Operating Theatre" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"ci" = ( +/obj/structure/fans/tiny/invisible, +/obj/machinery/door/airlock/shuttle{ + desc = "There's a smudged note wedged into it that says something about pizza dropoffs."; + name = "Staff Entrance" + }, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"cj" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Morgue" + }, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"ck" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Medical Supplies" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cl" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Safety Supplies" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cm" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Storage" + }, +/turf/simulated/floor/plating, +/area/ruin/powered/animal_hospital) +"cn" = ( +/obj/machinery/light, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"cp" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cq" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"cr" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cs" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cv" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"cw" = ( +/obj/machinery/light/small, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"cx" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"cy" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"cz" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/powered/animal_hospital) +"cC" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"cD" = ( +/obj/structure/flora/ausbushes/sunnybush, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/grass{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"cE" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cG" = ( +/obj/machinery/door/airlock/shuttle{ + desc = "There's a smudged note wedged into it that says something about pizza dropoffs."; + name = "Staff Entrance" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cI" = ( +/obj/structure/table/glass, +/obj/item/storage/firstaid/toxin, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) +"cJ" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/powered/animal_hospital) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +ab +aJ +ab +ab +cx +ab +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +bU +bV +ab +ab +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +ab +cp +ax +bL +aJ +bL +ae +ae +ae +ae +ae +aa +aa +aa +aa +ab +ab +ab +bT +ab +ab +ab +ab +"} +(5,1,1) = {" +aa +aa +aa +aa +ae +ae +ae +ae +ae +ci +ae +ae +aT +aY +bf +ae +ae +ae +ae +ae +ae +bL +ab +ab +ab +ab +ab +ab +"} +(6,1,1) = {" +aa +aa +aa +ab +ae +ag +cq +ay +ae +aK +aK +cj +aU +aZ +bg +cj +aK +bp +by +bF +ae +cC +bL +ab +ab +ab +ab +ab +"} +(7,1,1) = {" +aa +ab +ab +ab +ae +ah +ag +ag +aF +aK +aK +ae +ae +ae +ae +ae +cz +bq +bz +aP +af +ad +bL +bL +ab +ab +bL +bL +"} +(8,1,1) = {" +aa +ab +ab +cn +ae +ae +ae +ae +aG +aL +cw +ae +aV +ba +cI +aG +aL +br +bA +aP +af +bL +bL +bL +bL +ab +ab +ab +"} +(9,1,1) = {" +ab +ab +bL +bL +ae +ai +cr +as +cg +aK +aP +ae +aW +ao +bi +ae +aL +bs +bB +aP +bI +bM +bL +ab +ab +ab +ab +ab +"} +(10,1,1) = {" +ab +ab +ab +bL +af +aj +at +as +ae +aL +aK +ck +ao +bb +ao +ck +aK +aK +aK +aK +bJ +aJ +aJ +aJ +ab +ab +ab +ab +"} +(11,1,1) = {" +ab +bL +bL +bL +af +ak +as +az +ae +cv +aP +ae +ae +ae +ae +ae +bl +bt +aE +aK +bW +aJ +aJ +ab +ab +bL +ab +ab +"} +(12,1,1) = {" +ab +bL +bL +ad +af +al +au +as +ae +aL +aK +cl +ao +bc +ao +cl +aK +aK +aK +aP +ae +cD +bL +bL +ab +ab +ab +ab +"} +(13,1,1) = {" +ab +ab +bL +bL +ae +am +cs +as +cG +aK +ac +ae +aW +ao +ao +ae +bm +bu +bu +bG +ae +bL +bO +bL +ab +ab +ab +ab +"} +(14,1,1) = {" +ab +bL +bX +ca +ae +ae +ae +ae +aG +aL +aP +ae +cf +bd +bj +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ab +aa +aa +"} +(15,1,1) = {" +ab +ab +bY +ca +ae +cd +an +aA +ae +cv +aP +ae +ae +ae +ae +ae +bh +bv +bv +cJ +bn +bv +bP +ae +cE +ab +aa +aa +"} +(16,1,1) = {" +aa +ab +bZ +cb +cc +ce +ao +ao +ch +aK +aK +cm +aX +be +bk +ae +bo +ao +bD +ao +ao +ao +bQ +ae +ab +aa +aa +aa +"} +(17,1,1) = {" +aa +ab +ab +cn +ae +ap +ao +aB +ae +aL +aP +ae +ae +ae +ae +ae +af +bx +af +ae +af +bx +af +ae +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +ab +bL +ae +aq +ao +aC +ae +aN +aQ +aS +aS +aS +aS +aS +av +aK +bE +bH +aS +aK +bR +ae +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +ab +ab +ae +ar +aw +aD +ae +aO +aR +aR +cy +aR +aR +aR +cy +aR +aR +aR +cy +aR +bS +ae +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +aa +aa +aa +aa +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm new file mode 100644 index 00000000000..66d5f5fce80 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm @@ -0,0 +1,1839 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ac" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ad" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ae" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"af" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ag" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ah" = ( +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ai" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"aj" = ( +/obj/structure/stone_tile/slab, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ak" = ( +/turf/simulated/wall/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"al" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"am" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/wall/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"aq" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"ar" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"as" = ( +/turf/simulated/wall/mineral/wood, +/area/ruin/unpowered/ash_walkers) +"at" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"au" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/item/flashlight/lantern, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"av" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"aw" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"ax" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"ay" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/flashlight/lantern, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"az" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"aA" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/malf_upgrade, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aB" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aC" = ( +/obj/structure/stone_tile/block/cracked, +/obj/item/storage/toolbox/syndicate, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aE" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/iv_bag/blood, +/obj/item/reagent_containers/iv_bag/blood, +/obj/item/reagent_containers/iv_bag/blood, +/obj/item/stack/sheet/cloth/ten, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aF" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"aG" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"aH" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"aI" = ( +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"aJ" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"aK" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"aM" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aN" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/item/weldingtool/experimental, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aO" = ( +/obj/structure/stone_tile/surrounding/cracked{ + icon_state = "cracked_surrounding1"; + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aP" = ( +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aQ" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/machinery/iv_drip, +/obj/item/reagent_containers/glass/beaker/waterbottle/large, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"aR" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"aS" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"aT" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"aU" = ( +/obj/structure/lavaland/ash_walker, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"aV" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"aW" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"aY" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"aZ" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"ba" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"bc" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bd" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"be" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"bf" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth, +/area/ruin/unpowered/ash_walkers) +"bg" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bh" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"bi" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"bj" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/item/storage/bag/plants/portaseeder, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"bk" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/stack/marker_beacon/ten, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"bl" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"bm" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/item/rcd/preloaded, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"bn" = ( +/obj/structure/closet/crate/radiation, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/flare, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"bo" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/item/pickaxe, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bp" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bq" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"br" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bs" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bt" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bv" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"bw" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/stack/sheet/wood, +/obj/item/stack/sheet/wood, +/obj/item/stack/sheet/wood, +/obj/item/stack/sheet/wood, +/obj/item/seeds/tower, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"bx" = ( +/obj/structure/stone_tile/slab/cracked, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"by" = ( +/obj/structure/closet/crate, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"bz" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/machinery/the_singularitygen, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"bA" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bB" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bC" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"bD" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"bE" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bF" = ( +/obj/structure/stone_tile/slab, +/obj/effect/decal/cleanable/blood, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bG" = ( +/turf/simulated/wall/indestructible/boss/see_through, +/area/ruin/unpowered/ash_walkers) +"bH" = ( +/obj/structure/necropolis_gate, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/fans/tiny/invisible, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/indestructible/boss/air, +/area/ruin/unpowered/ash_walkers) +"bI" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"bJ" = ( +/obj/structure/stone_tile/surrounding_tile, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"bL" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bM" = ( +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bN" = ( +/obj/structure/stone_tile, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bO" = ( +/obj/structure/stone_tile/cracked, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bP" = ( +/obj/structure/stone_tile/block, +/obj/item/twohanded/spear, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bQ" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bR" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bS" = ( +/obj/structure/stone_tile/slab, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bT" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/effect/decal/cleanable/blood, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bU" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bV" = ( +/obj/structure/stone_tile/block/cracked, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bW" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/ore_box, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bX" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bY" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"bZ" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cb" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cd" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ce" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cf" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/closet/crate/internals, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cg" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ch" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ci" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cj" = ( +/obj/effect/mob_spawn/human/corpse/damaged, +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ck" = ( +/obj/item/twohanded/spear, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cl" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/twohanded/spear, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cm" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cn" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"co" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cp" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cq" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cr" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cs" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ct" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cu" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cv" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cy" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/effect/decal/cleanable/blood, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cz" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/item/twohanded/spear, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cA" = ( +/obj/structure/stone_tile/slab/cracked{ + icon_state = "cracked_slab1"; + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cB" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cD" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cE" = ( +/obj/structure/stone_tile/surrounding/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cF" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/twohanded/spear, +/obj/item/storage/belt, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"cI" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cJ" = ( +/obj/item/shovel, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cK" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cL" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/twohanded/spear, +/obj/item/scythe, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"cM" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/twohanded/spear, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"cN" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/twohanded/spear, +/obj/item/clothing/head/helmet/roman/legionaire, +/turf/simulated/floor/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"cO" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cP" = ( +/obj/structure/stone_tile/block, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cQ" = ( +/obj/structure/stone_tile/block/cracked, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cR" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cT" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cV" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"cW" = ( +/obj/machinery/optable, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cX" = ( +/obj/item/storage/box/rxglasses, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cY" = ( +/obj/item/seeds/glowshroom, +/obj/item/seeds/glowshroom, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cZ" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dd" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"de" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"df" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dg" = ( +/obj/structure/bonfire/dense, +/obj/structure/stone_tile/center, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"di" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dj" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dk" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/block, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dl" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dn" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"do" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dp" = ( +/obj/item/pickaxe, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dq" = ( +/obj/item/stack/sheet/wood, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dr" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ds" = ( +/obj/structure/stone_tile/block, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dt" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"du" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"dv" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/damaged, +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dw" = ( +/obj/item/reagent_containers/glass/bucket, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dx" = ( +/obj/item/flashlight/lantern, +/obj/structure/stone_tile/center, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dy" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dz" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"dA" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"dB" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center/cracked, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"dC" = ( +/obj/structure/stone_tile, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"dD" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"dE" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +aa +aa +aa +aa +ah +ah +ah +ah +ah +ah +ah +aa +aa +ah +ah +ah +ah +aa +aa +aa +"} +(2,1,1) = {" +aa +ah +ab +aF +cV +ah +ah +bi +ah +bi +cO +ah +ah +ah +ah +ah +ah +ah +aa +aa +"} +(3,1,1) = {" +aa +aa +ah +as +as +as +as +ak +as +as +cP +ah +ah +bN +bY +dp +ah +ah +ah +aa +"} +(4,1,1) = {" +aa +aa +ah +ak +aA +aM +cY +bj +bv +ak +cP +bN +cg +cl +cq +cq +dv +ah +ah +aa +"} +(5,1,1) = {" +aa +aa +ac +as +aB +aN +aY +bk +bw +ak +cb +bZ +ch +cm +cr +bY +bL +cb +ah +ah +"} +(6,1,1) = {" +aa +aa +cT +ak +aC +cX +aO +bl +bx +bD +bS +de +bV +dg +cs +cy +bY +cq +ah +ah +"} +(7,1,1) = {" +aa +aa +ae +as +cW +aP +aZ +bm +by +ak +bV +cb +ci +bA +ct +bN +bL +cI +ah +ah +"} +(8,1,1) = {" +aa +aa +ae +as +aE +aQ +ba +bn +bz +ak +cb +df +bX +co +bO +dq +bZ +cJ +ah +ah +"} +(9,1,1) = {" +aa +ah +ah +as +ak +as +as +as +ak +ak +cg +cb +cg +cn +bL +dr +dw +dA +dD +ah +"} +(10,1,1) = {" +aa +ai +aq +at +aF +aR +aR +bo +bA +cZ +dd +cg +cb +di +dn +ds +dx +cK +dE +ah +"} +(11,1,1) = {" +ab +aj +ak +ak +ak +ak +ak +ak +am +bF +bE +cb +bL +co +cb +dt +dy +dB +dC +aa +"} +(12,1,1) = {" +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +bP +bL +bX +co +do +du +dz +dC +ah +aa +"} +(13,1,1) = {" +ad +ak +ak +au +aG +aS +bc +bp +ak +ak +bQ +bM +cj +dj +ah +ah +ah +ah +ah +ah +"} +(14,1,1) = {" +ae +ak +ak +av +aH +aT +bd +bq +ak +bG +bR +cd +cg +dk +cu +ah +bi +bi +bi +cO +"} +(15,1,1) = {" +ac +ak +ak +aw +aI +aU +be +br +bB +bH +bS +ce +dn +dl +ak +ak +as +ak +ak +ah +"} +(16,1,1) = {" +ac +ak +ak +ax +aJ +aV +bf +bs +ak +bG +bT +cd +bX +dj +as +cz +cD +cL +as +ah +"} +(17,1,1) = {" +af +ak +ak +ay +aK +aW +bg +bt +ak +ak +bU +cg +ck +bS +cv +cA +cE +cM +as +ah +"} +(18,1,1) = {" +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +bV +bX +bN +ah +as +cB +cF +cN +ak +cP +"} +(19,1,1) = {" +ag +aj +ak +ak +ak +ak +ak +ak +ak +bI +bW +cf +ah +cp +as +as +as +ak +ak +cQ +"} +(20,1,1) = {" +aa +al +ar +az +az +az +bh +az +bC +bJ +ah +ah +ah +al +ah +ah +bC +ah +ah +cR +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm new file mode 100644 index 00000000000..589f1c194a4 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm @@ -0,0 +1,366 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"c" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"d" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"e" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"f" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"g" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"h" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"i" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"j" = ( +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"k" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"l" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"m" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"n" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"o" = ( +/obj/structure/stone_tile/block, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"p" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"q" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"r" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"s" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"t" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 6 + }, +/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"u" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"v" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"w" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"x" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"y" = ( +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"z" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +a +a +a +b +b +b +b +b +b +a +a +a +a +a +"} +(2,1,1) = {" +a +a +b +b +c +c +b +b +b +b +b +b +a +a +"} +(3,1,1) = {" +b +b +b +c +d +c +c +b +b +b +b +b +b +a +"} +(4,1,1) = {" +b +b +c +c +k +o +c +c +c +c +b +b +b +b +"} +(5,1,1) = {" +b +c +d +g +c +p +c +v +c +c +c +c +b +b +"} +(6,1,1) = {" +b +c +c +h +l +e +s +j +c +d +e +c +c +b +"} +(7,1,1) = {" +b +c +c +c +c +q +t +w +x +y +p +e +c +b +"} +(8,1,1) = {" +b +c +e +i +m +j +u +e +c +f +d +y +c +b +"} +(9,1,1) = {" +b +c +f +j +c +r +z +o +c +c +c +c +b +b +"} +(10,1,1) = {" +b +b +c +c +c +o +c +c +b +b +c +b +b +b +"} +(11,1,1) = {" +b +b +b +c +n +c +c +b +b +b +b +b +b +a +"} +(12,1,1) = {" +a +b +b +c +c +c +b +b +b +b +b +a +a +a +"} +(13,1,1) = {" +a +a +b +b +b +b +b +a +a +a +a +a +a +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm new file mode 100644 index 00000000000..121d949e34d --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm @@ -0,0 +1,374 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"c" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"d" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"e" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"f" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"g" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"h" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"i" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"j" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"k" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"l" = ( +/obj/structure/stone_tile/surrounding_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"m" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"n" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"o" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"p" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"q" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"r" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"s" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"t" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"u" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"v" = ( +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"w" = ( +/obj/structure/stone_tile/block, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"x" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"y" = ( +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"z" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"A" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"B" = ( +/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/guidance{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +a +a +b +b +b +b +a +b +b +a +a +a +a +a +a +"} +(2,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +a +a +a +a +"} +(3,1,1) = {" +b +b +c +h +k +f +f +f +k +f +b +b +a +a +a +"} +(4,1,1) = {" +b +b +d +c +l +f +f +f +v +f +b +b +b +a +a +"} +(5,1,1) = {" +b +b +e +i +m +k +f +t +w +f +f +b +b +b +a +"} +(6,1,1) = {" +a +b +f +f +f +o +r +u +w +f +f +f +f +b +b +"} +(7,1,1) = {" +b +b +b +f +f +p +B +s +f +f +q +n +A +f +b +"} +(8,1,1) = {" +b +b +g +f +c +q +s +q +k +x +f +z +d +f +b +"} +(9,1,1) = {" +a +b +f +j +n +j +f +e +n +y +f +n +y +b +b +"} +(10,1,1) = {" +a +b +b +f +f +f +f +f +f +b +b +f +f +b +b +"} +(11,1,1) = {" +a +a +b +b +b +b +b +b +b +b +b +b +b +b +a +"} +(12,1,1) = {" +a +a +a +b +b +b +b +b +b +a +a +b +b +a +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm new file mode 100644 index 00000000000..d14383a82dc --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm @@ -0,0 +1,375 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"c" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"d" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"e" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"f" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"g" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"h" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"i" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"j" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"k" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"l" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"m" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"n" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"o" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"p" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"q" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"r" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"s" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"t" = ( +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"u" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"v" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 6 + }, +/obj/structure/stone_tile/center, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"w" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +b +b +a +a +a +"} +(2,1,1) = {" +a +b +b +b +a +a +b +b +b +c +c +b +b +b +a +a +"} +(3,1,1) = {" +b +b +b +b +b +b +b +b +c +g +n +c +c +b +b +a +"} +(4,1,1) = {" +b +c +c +b +b +b +c +c +g +l +h +q +c +c +b +b +"} +(5,1,1) = {" +b +c +c +c +c +c +c +g +i +c +c +h +s +c +c +b +"} +(6,1,1) = {" +b +d +e +e +d +f +d +f +j +d +w +f +t +v +c +b +"} +(7,1,1) = {" +b +c +c +c +c +c +c +h +k +c +c +o +u +c +b +b +"} +(8,1,1) = {" +b +b +b +c +c +c +c +c +h +m +o +r +c +b +b +b +"} +(9,1,1) = {" +a +b +b +b +b +c +c +c +c +h +p +c +c +b +b +a +"} +(10,1,1) = {" +a +a +a +b +b +b +b +b +c +c +c +c +b +b +a +a +"} +(11,1,1) = {" +a +a +a +a +a +b +b +b +b +b +b +b +b +b +a +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm new file mode 100644 index 00000000000..74aa1875f96 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm @@ -0,0 +1,474 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"b" = ( +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/ruin/powered) +"c" = ( +/turf/simulated/wall/mineral/iron, +/area/ruin/powered) +"d" = ( +/obj/item/clothing/head/helmet/space/syndicate/orange, +/obj/item/clothing/mask/breath, +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) +"e" = ( +/obj/item/clothing/suit/space/syndicate/orange, +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) +"f" = ( +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) +"g" = ( +/turf/simulated/floor/plating/asteroid{ + name = "dirt" + }, +/area/ruin/powered) +"h" = ( +/obj/item/shovel, +/turf/simulated/floor/plating/asteroid{ + name = "dirt" + }, +/area/ruin/powered) +"i" = ( +/obj/item/reagent_containers/glass/bucket, +/turf/simulated/floor/plating/asteroid{ + name = "dirt" + }, +/area/ruin/powered) +"j" = ( +/obj/structure/sink/puddle, +/turf/simulated/floor/plating/asteroid{ + name = "dirt" + }, +/area/ruin/powered) +"k" = ( +/obj/structure/glowshroom/single, +/turf/simulated/floor/plating/asteroid{ + name = "dirt" + }, +/area/ruin/powered) +"l" = ( +/obj/item/storage/toolbox/emergency, +/turf/simulated/floor/plating/asteroid{ + name = "dirt" + }, +/area/ruin/powered) +"m" = ( +/obj/structure/rack, +/obj/item/seeds/reishi, +/obj/item/seeds/plump, +/obj/item/seeds/plump, +/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom, +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) +"n" = ( +/obj/machinery/hydroponics/soil, +/turf/simulated/floor/plating, +/area/ruin/powered) +"o" = ( +/turf/simulated/floor/plating, +/area/ruin/powered) +"p" = ( +/obj/structure/rack, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/storage/bag/ore, +/obj/item/storage/firstaid/regular, +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) +"q" = ( +/obj/structure/glowshroom/single, +/turf/simulated/floor/plating, +/area/ruin/powered) +"r" = ( +/obj/structure/rack, +/obj/item/pickaxe/emergency, +/obj/item/tank/oxygen, +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) +"s" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"t" = ( +/turf/simulated/wall/mineral/titanium/survival/pod, +/area/ruin/powered) +"u" = ( +/obj/structure/bed/pod, +/obj/item/bedsheet/black, +/turf/simulated/floor/plating, +/area/ruin/powered) +"v" = ( +/obj/structure/fans, +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"w" = ( +/obj/machinery/smartfridge/survival_pod, +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"x" = ( +/obj/effect/mob_spawn/human/hermit, +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"y" = ( +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"z" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/tubes, +/turf/simulated/floor/plating, +/area/ruin/powered) +"A" = ( +/obj/structure/table, +/obj/item/kitchen/knife/combat/survival, +/turf/simulated/floor/plating, +/area/ruin/powered) +"B" = ( +/obj/structure/table/survival_pod, +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"C" = ( +/obj/structure/tubes, +/obj/item/crowbar, +/obj/effect/decal/cleanable/blood/drip, +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"D" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/door/airlock/survival_pod/glass, +/obj/structure/fans/tiny, +/turf/simulated/floor/pod/dark, +/area/ruin/powered) +"E" = ( +/obj/structure/shuttle/engine/propulsion/burst{ + dir = 8 + }, +/turf/simulated/wall/mineral/titanium/interior, +/area/ruin/powered) +"F" = ( +/turf/simulated/wall/mineral/titanium, +/area/ruin/powered) +"G" = ( +/turf/simulated/wall/mineral/titanium/interior, +/area/ruin/powered) +"H" = ( +/obj/machinery/door/airlock/titanium{ + name = "Escape Pod Airlock" + }, +/turf/simulated/floor/mineral/titanium/blue, +/area/ruin/powered) +"I" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/simulated/floor/mineral/titanium/blue, +/area/ruin/powered) +"J" = ( +/obj/effect/spawner/window/shuttle, +/turf/simulated/floor/plating{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/powered) +"K" = ( +/obj/effect/baseturf_helper, +/turf/simulated/floor/plating, +/area/ruin/powered) +"X" = ( +/obj/item/flashlight/lantern, +/turf/simulated/floor/plating/asteroid/basalt, +/area/ruin/powered) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +s +s +s +s +s +s +s +s +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +s +s +s +s +s +s +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +s +s +s +s +s +s +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +s +s +s +s +s +"} +(5,1,1) = {" +a +a +a +a +a +b +c +b +t +t +t +t +t +s +s +s +"} +(6,1,1) = {" +a +a +a +a +b +b +n +n +t +v +x +B +t +s +s +s +"} +(7,1,1) = {" +a +a +a +b +b +m +o +o +t +w +y +y +D +s +s +s +"} +(8,1,1) = {" +a +b +b +b +c +f +o +q +K +o +z +C +t +s +s +s +"} +(9,1,1) = {" +b +b +f +i +g +f +f +o +o +o +t +t +t +s +s +s +"} +(10,1,1) = {" +b +d +g +j +g +g +f +f +u +o +A +b +a +s +s +s +"} +(11,1,1) = {" +c +e +h +g +l +c +p +r +c +c +c +b +a +a +s +s +"} +(12,1,1) = {" +b +b +f +k +X +b +b +b +b +a +a +a +a +E +H +E +"} +(13,1,1) = {" +a +b +b +b +b +b +a +a +a +a +a +a +a +F +I +F +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +F +I +F +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +G +J +G +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm new file mode 100644 index 00000000000..8cdc6844bfc --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm @@ -0,0 +1,608 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/indestructible/hierophant, +/area/ruin/unpowered/hierophant) +"b" = ( +/turf/simulated/floor/indestructible/hierophant, +/area/ruin/unpowered/hierophant) +"c" = ( +/obj/effect/light_emitter{ + light_range = 3; + light_power = 5 + }, +/turf/simulated/floor/indestructible/hierophant, +/area/ruin/unpowered/hierophant) +"d" = ( +/mob/living/simple_animal/hostile/megafauna/hierophant, +/turf/simulated/floor/indestructible/hierophant/two, +/area/ruin/unpowered/hierophant) +"e" = ( +/turf/simulated/floor/indestructible/hierophant/two, +/area/ruin/unpowered/hierophant) +"f" = ( +/obj/effect/light_emitter{ + light_range = 3; + light_power = 5 + }, +/turf/simulated/floor/indestructible/hierophant/two, +/area/ruin/unpowered/hierophant) +"g" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/indestructible/hierophant/two, +/area/ruin/unpowered/hierophant) + +(1,1,1) = {" +a +a +a +b +b +b +b +a +a +a +a +a +a +a +a +a +b +b +b +b +a +a +a +"} +(2,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +c +b +b +b +b +b +b +b +b +b +b +a +"} +(3,1,1) = {" +a +b +b +b +c +c +b +b +b +a +b +b +b +a +b +b +b +c +c +b +b +b +a +"} +(4,1,1) = {" +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +"} +(5,1,1) = {" +b +b +c +b +a +a +b +c +b +b +b +c +b +b +b +c +b +a +a +b +c +b +b +"} +(6,1,1) = {" +b +b +c +b +a +a +b +c +b +b +b +c +b +b +b +c +b +a +a +b +c +b +b +"} +(7,1,1) = {" +b +b +b +b +b +b +e +e +e +e +e +e +e +e +e +e +e +b +b +b +b +b +b +"} +(8,1,1) = {" +a +b +b +b +c +c +e +e +e +a +e +e +e +a +e +e +e +c +c +b +b +b +a +"} +(9,1,1) = {" +a +b +b +b +b +b +e +e +e +e +e +f +e +e +e +e +e +b +b +b +b +b +a +"} +(10,1,1) = {" +a +b +a +b +b +b +e +a +e +e +e +e +e +e +e +a +e +b +b +b +a +b +a +"} +(11,1,1) = {" +a +b +b +b +b +b +e +e +e +e +e +e +e +e +e +e +e +b +b +b +b +b +a +"} +(12,1,1) = {" +a +c +b +b +c +c +e +e +f +e +e +d +e +g +f +e +e +c +c +b +b +c +a +"} +(13,1,1) = {" +a +b +b +b +b +b +e +e +e +e +e +e +e +e +e +e +e +b +b +b +b +b +a +"} +(14,1,1) = {" +a +b +a +b +b +b +e +a +e +e +e +e +e +e +e +a +e +b +b +b +a +b +a +"} +(15,1,1) = {" +a +b +b +b +b +b +e +e +e +e +e +f +e +e +e +e +e +b +b +b +b +b +a +"} +(16,1,1) = {" +a +b +b +b +c +c +e +e +e +a +e +e +e +a +e +e +e +c +c +b +b +b +a +"} +(17,1,1) = {" +b +b +b +b +b +b +e +e +e +e +e +e +e +e +e +e +e +b +b +b +b +b +b +"} +(18,1,1) = {" +b +b +c +b +a +a +b +c +b +b +b +c +b +b +b +c +b +a +a +b +c +b +b +"} +(19,1,1) = {" +b +b +c +b +a +a +b +c +b +b +b +c +b +b +b +c +b +a +a +b +c +b +b +"} +(20,1,1) = {" +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +"} +(21,1,1) = {" +a +b +b +b +c +c +b +b +b +a +b +b +b +a +b +b +b +c +c +b +b +b +a +"} +(22,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +c +b +b +b +b +b +b +b +b +b +b +a +"} +(23,1,1) = {" +a +a +a +b +b +b +b +a +a +a +a +a +a +a +a +a +b +b +b +b +a +a +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm new file mode 100644 index 00000000000..b097156d39a --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm @@ -0,0 +1,766 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"b" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"c" = ( +/obj/machinery/door/airlock/external{ + frequency = 1385; + id_tag = "seed_vault_inner"; + locked = 1 + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"d" = ( +/obj/structure/table/wood, +/obj/item/lighter, +/obj/item/lighter, +/obj/item/storage/fancy/rollingpapers, +/obj/item/storage/fancy/rollingpapers, +/obj/item/storage/fancy/rollingpapers, +/obj/item/storage/fancy/rollingpapers, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"e" = ( +/obj/structure/table/wood, +/obj/item/storage/box/disks_plantgene, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"f" = ( +/obj/machinery/plantgenes/upgraded{ + pixel_y = 6 + }, +/obj/structure/table/wood, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"g" = ( +/obj/structure/table/wood, +/obj/machinery/smartfridge/disks{ + pixel_y = 2 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"h" = ( +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"i" = ( +/obj/structure/closet/crate/hydroponics, +/obj/structure/beebox, +/obj/item/melee/flyswatter, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/queen_bee/bought, +/obj/item/clothing/head/beekeeper_head, +/obj/item/clothing/suit/beekeeper_suit, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"j" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"k" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/seed_vault, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"l" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"m" = ( +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1385; + id_tag = "seed_vault"; + pixel_y = 25; + tag_exterior_door = "seed_vault_outer"; + tag_interior_door = "seed_vault_inner" + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"n" = ( +/obj/machinery/smartfridge, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"o" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/cultivator, +/obj/item/cultivator, +/obj/item/cultivator, +/obj/item/cultivator, +/obj/item/shovel/spade, +/obj/item/shovel/spade, +/obj/item/shovel/spade, +/obj/item/shovel/spade, +/obj/item/hatchet, +/obj/item/hatchet, +/obj/item/hatchet, +/obj/item/hatchet, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"p" = ( +/obj/machinery/hydroponics/constructable, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"q" = ( +/obj/item/hatchet, +/obj/item/storage/bag/plants, +/obj/item/reagent_containers/glass/bucket, +/obj/structure/table/wood, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"r" = ( +/obj/structure/table/wood, +/obj/item/storage/bag/plants, +/obj/item/storage/bag/plants, +/obj/item/storage/bag/plants, +/obj/item/storage/bag/plants, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"s" = ( +/obj/structure/table/wood, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun, +/obj/item/storage/box/disks_plantgene, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"t" = ( +/obj/effect/mob_spawn/human/seed_vault, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"u" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"v" = ( +/obj/machinery/vending/hydronutrients, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"w" = ( +/obj/machinery/vending/hydroseeds, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"x" = ( +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/structure/table/glass, +/obj/item/reagent_containers/glass/beaker/bluespace, +/obj/item/reagent_containers/glass/beaker/bluespace, +/obj/item/reagent_containers/glass/beaker/bluespace, +/obj/item/reagent_containers/glass/beaker/bluespace, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"y" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"z" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1385; + id_tag = "seed_vault_outer"; + locked = 1 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"A" = ( +/obj/machinery/door/airlock/external{ + frequency = 1385; + id_tag = "seed_vault_outer"; + locked = 1 + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"B" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"C" = ( +/obj/machinery/seed_extractor, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"D" = ( +/obj/machinery/biogenerator, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"E" = ( +/obj/machinery/chem_dispenser/mutagensaltpeter, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"F" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"G" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/clothing/under/rank/hydroponics, +/obj/item/clothing/under/rank/hydroponics, +/obj/item/clothing/under/rank/hydroponics, +/obj/item/clothing/under/rank/hydroponics, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"H" = ( +/obj/machinery/chem_master/condimaster, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"I" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"J" = ( +/obj/item/storage/toolbox/syndicate, +/obj/structure/table/wood, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"K" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"L" = ( +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1385; + master_tag = "seed_vault"; + name = "interior access button"; + pixel_x = 25; + pixel_y = -25; + req_access_txt = null + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"M" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"N" = ( +/obj/structure/table/wood, +/obj/item/storage/box/disks_plantgene, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"O" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"P" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"Q" = ( +/turf/simulated/wall/r_wall, +/area/ruin/powered/seedvault) +"R" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"S" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"T" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1385; + master_tag = "seed_vault"; + name = "exterior access button"; + pixel_x = -25; + pixel_y = -25; + req_access_txt = null + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"U" = ( +/obj/machinery/light, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) +"V" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/wall/r_wall, +/area/ruin/powered/seedvault) +"W" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"X" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light, +/turf/simulated/floor/plasteel/freezer, +/area/ruin/powered/seedvault) + +(1,1,1) = {" +a +a +a +a +a +a +a +Q +Q +Q +Q +Q +Q +a +a +a +a +a +b +b +"} +(2,1,1) = {" +a +a +a +a +a +a +a +Q +t +t +t +t +Q +a +a +a +a +a +b +b +"} +(3,1,1) = {" +b +a +a +a +a +a +Q +Q +O +h +h +U +Q +Q +a +a +a +b +a +b +"} +(4,1,1) = {" +b +a +a +Q +Q +Q +Q +Q +Q +l +l +Q +Q +Q +Q +a +a +a +a +a +"} +(5,1,1) = {" +a +a +Q +Q +k +Q +n +R +u +h +h +u +R +u +Q +a +a +a +a +a +"} +(6,1,1) = {" +a +a +Q +d +h +Q +o +h +h +h +h +h +h +G +Q +a +a +a +a +a +"} +(7,1,1) = {" +a +a +Q +N +h +Q +P +h +p +h +h +p +h +X +Q +a +a +a +a +a +"} +(8,1,1) = {" +b +a +Q +e +h +l +h +h +v +h +h +B +F +F +V +W +a +a +a +a +"} +(9,1,1) = {" +b +a +Q +f +h +Q +p +h +n +h +h +C +h +k +Q +M +a +a +a +a +"} +(10,1,1) = {" +a +a +Q +g +h +Q +p +h +w +h +K +D +h +p +Q +b +a +a +a +a +"} +(11,1,1) = {" +a +a +Q +h +h +Q +q +h +x +h +h +E +h +H +Q +a +a +a +a +a +"} +(12,1,1) = {" +b +a +Q +O +h +Q +P +h +h +h +h +h +h +X +Q +a +a +a +a +a +"} +(13,1,1) = {" +a +a +Q +i +h +Q +r +h +h +p +p +h +h +I +Q +a +a +a +a +a +"} +(14,1,1) = {" +a +a +Q +Q +i +Q +s +S +y +h +L +y +S +J +Q +a +a +a +a +a +"} +(15,1,1) = {" +a +a +b +Q +Q +Q +Q +Q +Q +c +c +Q +Q +Q +Q +a +a +a +a +a +"} +(16,1,1) = {" +b +a +b +j +Q +j +Q +j +Q +m +h +Q +j +Q +j +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +Q +A +z +Q +b +b +b +a +a +a +b +b +"} +(18,1,1) = {" +a +a +a +b +b +b +b +b +b +b +T +b +b +b +b +a +a +a +b +b +"} +(19,1,1) = {" +a +a +a +a +b +b +a +b +b +b +b +b +b +b +a +a +a +b +b +b +"} +(20,1,1) = {" +a +a +a +b +b +b +a +b +b +b +b +b +b +b +a +a +a +b +b +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm new file mode 100644 index 00000000000..937eddc37a8 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm @@ -0,0 +1,264 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/template_noop) +"c" = ( +/turf/simulated/wall/mineral/plastitanium, +/area/ruin/unpowered) +"d" = ( +/turf/simulated/floor/mineral/plastitanium/red{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/unpowered) +"e" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 4 + }, +/turf/template_noop, +/area/ruin/unpowered) +"f" = ( +/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon, +/turf/simulated/floor/mineral/plastitanium/red{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/unpowered) +"g" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/mineral/plastitanium/red{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/unpowered) + +(1,1,1) = {" +a +a +a +a +b +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +b +b +b +c +a +c +a +b +b +a +a +"} +(3,1,1) = {" +a +a +b +b +b +b +d +d +d +c +b +b +a +a +"} +(4,1,1) = {" +b +b +b +b +b +b +a +d +d +b +b +b +a +a +"} +(5,1,1) = {" +b +b +b +b +b +b +a +a +a +b +b +b +b +a +"} +(6,1,1) = {" +a +b +b +b +b +c +a +a +d +c +a +b +b +a +"} +(7,1,1) = {" +a +b +b +b +c +d +d +d +d +d +c +b +b +a +"} +(8,1,1) = {" +a +b +b +a +c +d +d +g +d +d +c +b +b +a +"} +(9,1,1) = {" +a +a +b +a +c +d +d +f +d +d +c +b +b +b +"} +(10,1,1) = {" +a +a +b +a +a +d +d +d +d +d +c +b +b +b +"} +(11,1,1) = {" +a +a +b +b +a +d +d +d +d +d +c +b +b +a +"} +(12,1,1) = {" +a +a +a +b +a +d +c +c +c +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +c +c +e +e +e +c +c +a +a +a +"} +(14,1,1) = {" +a +a +a +a +c +e +a +a +a +e +c +a +a +a +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm new file mode 100644 index 00000000000..13850af5db7 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -0,0 +1,9299 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"ac" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ad" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1449; + master_tag = "syndicate_base_virology"; + name = "interior access button"; + pixel_x = 25; + pixel_y = -25; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ae" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"af" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ag" = ( +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ah" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/beer/upgraded{ + dir = 1 + }, +/obj/structure/sign/barsign{ + pixel_y = -32; + req_access = null; + req_access_txt = "0" + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ai" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/soda/upgraded{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"aj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/medical/syndicate_access, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ak" = ( +/obj/machinery/vending/boozeomat/syndicate_access, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/bar) +"al" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/medical/syndicate_access, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"am" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/carbon/human/monkey{ + faction = list("neutral","syndicate") + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"an" = ( +/mob/living/carbon/human/monkey{ + faction = list("neutral","syndicate") + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 5 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ao" = ( +/mob/living/carbon/human/monkey{ + faction = list("neutral","syndicate") + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 10 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ap" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"aq" = ( +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"ar" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/carbon/human/monkey{ + faction = list("neutral","syndicate") + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"as" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"at" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/poddoor{ + id_tag = "lavalandsyndi_chemistry" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"au" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/carbon/human/monkey{ + faction = list("neutral","syndicate") + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"av" = ( +/obj/machinery/light/small, +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/carbon/human/monkey{ + faction = list("neutral","syndicate") + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"aw" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"ax" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ay" = ( +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_north_interior"; + locked = 1; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"az" = ( +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1449; + id_tag = "syndicate_base_west_south"; + pixel_x = -25; + req_access_txt = "150"; + tag_exterior_door = "syndicate_base_west_south_exterior"; + tag_interior_door = "syndicate_base_west_south_interior" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aA" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/fire{ + pixel_x = 32 + }, +/obj/structure/closet/emcloset/anchored, +/obj/item/tank/emergency_oxygen/engi, +/obj/item/flashlight/seclite, +/obj/item/clothing/mask/gas, +/obj/structure/sign/vacuum{ + pixel_x = 0; + pixel_y = 32 + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aB" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_north_interior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"aC" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_north_exterior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"aD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1449; + master_tag = "syndicate_base_west_south"; + name = "interior access button"; + pixel_x = 25; + pixel_y = 25; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"aG" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_south_exterior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aH" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + frequency = 1449; + id_tag = "syndicate_base_virology_interior"; + locked = 1; + name = "Virology Lab Interior Airlock"; + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"aJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + frequency = 1449; + id_tag = "syndicate_base_virology_exterior"; + locked = 1; + name = "Virology Lab Exterior Airlock"; + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"aK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1449; + master_tag = "syndicate_base_virology"; + name = "exterior access button"; + pixel_x = -25; + pixel_y = 25; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"aL" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"aM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/chem_dispenser/upgraded, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"aN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1449; + master_tag = "syndicate_base_south"; + name = "interior access button"; + pixel_x = 25; + pixel_y = -25; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aO" = ( +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_south_interior"; + locked = 1; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aP" = ( +/obj/structure/sign/vacuum{ + pixel_x = -32 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1449; + id_tag = "syndicate_base_south"; + pixel_x = 25; + req_access_txt = "150"; + tag_exterior_door = "syndicate_base_south_exterior"; + tag_interior_door = "syndicate_base_south_interior" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aR" = ( +/obj/structure/sign/xeno_warning_mining{ + pixel_x = -32 + }, +/obj/structure/sign/fire{ + pixel_x = 32 + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aS" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1449; + master_tag = "syndicate_base_south"; + name = "exterior access button"; + pixel_x = 20; + pixel_y = 21; + req_access_txt = "150" + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"aT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1449; + master_tag = "syndicate_base_west_north"; + name = "interior access button"; + pixel_x = 25; + pixel_y = -8; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"aU" = ( +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1449; + id_tag = "syndicate_base_west_north"; + pixel_x = -25; + req_access_txt = "150"; + tag_exterior_door = "syndicate_base_west_north_exterior"; + tag_interior_door = "syndicate_base_west_north_interior" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"aV" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/fire{ + pixel_x = 32 + }, +/obj/structure/closet/emcloset/anchored, +/obj/item/tank/emergency_oxygen/engi, +/obj/item/flashlight/seclite, +/obj/item/clothing/mask/gas, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/vacuum{ + pixel_x = 0; + pixel_y = -32 + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"aW" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/door_control{ + id = "lavalandsyndi_arrivals"; + name = "Arrivals Blast Door Control"; + pixel_y = -26; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"aX" = ( +/obj/effect/turf_decal/caution/red{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"aY" = ( +/obj/structure/fans/tiny, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_north_exterior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"aZ" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_south_exterior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"ba" = ( +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_south_interior"; + locked = 1; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"bb" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_west_south_interior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"bc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/mapping_helpers/no_lava, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1449; + master_tag = "syndicate_base_west_north"; + name = "exterior access button"; + pixel_x = -21; + pixel_y = 21; + req_access_txt = "150" + }, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1449; + id_tag = "syndicate_base_virology"; + pixel_x = -25; + req_access_txt = "150"; + tag_exterior_door = "syndicate_base_virology_exterior"; + tag_interior_door = "syndicate_base_virology_interior" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"be" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/power/apc/syndicate{ + dir = 1; + name = "Engineering APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bf" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass{ + frequency = 1449; + id_tag = "syndicate_base_incinerator_interior"; + locked = 1; + req_access_txt = "150" + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1449; + master_tag = "syndicate_base_incinerator"; + name = "interior access button"; + pixel_x = -25; + pixel_y = 0; + req_access_txt = "150" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bg" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bh" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bi" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/binary/pump{ + name = "Incinerator Input" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bj" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass{ + frequency = 1449; + id_tag = "syndicate_base_incinerator_exterior"; + locked = 1; + req_access_txt = "150" + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1449; + master_tag = "syndicate_base_incinerator"; + name = "exterior access button"; + pixel_x = -25; + pixel_y = 0; + req_access_txt = "150" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bk" = ( +/obj/structure/rack, +/obj/item/flashlight{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/flashlight, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bl" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1449; + master_tag = "syndicate_base_east"; + name = "interior access button"; + pixel_x = 25; + pixel_y = 25; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bn" = ( +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_east_interior"; + locked = 1; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bo" = ( +/obj/structure/sign/vacuum{ + pixel_y = -32 + }, +/obj/machinery/light/small, +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1449; + id_tag = "syndicate_base_east"; + pixel_x = 0; + pixel_y = 25; + req_access_txt = "150"; + tag_exterior_door = "syndicate_base_east_exterior"; + tag_interior_door = "syndicate_base_east_interior" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bp" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "syndicate_base_east_exterior"; + locked = 1; + req_access_txt = "150" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bq" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1449; + master_tag = "syndicate_base_east"; + name = "exterior access button"; + pixel_x = -21; + pixel_y = 21; + req_access_txt = "150" + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"br" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/trinary/mixer/flipped{ + dir = 8; + node1_concentration = 0.2; + node2_concentration = 0.8; + on = 1; + target_pressure = 4500 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bs" = ( +/obj/machinery/air_sensor{ + frequency = 1442; + id_tag = "syndie_lavaland_n2_sensor" + }, +/turf/simulated/floor/engine{ + name = "n2 floor"; + nitrogen = 100000; + oxygen = 0 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bt" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/engine{ + name = "n2 floor"; + nitrogen = 100000; + oxygen = 0 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bu" = ( +/obj/machinery/atmospherics/unary/vent_pump/siphon/on{ + dir = 8; + frequency = 1442; + id_tag = "syndie_lavaland_n2_out"; + name = "nitrogen out" + }, +/turf/simulated/floor/engine{ + name = "n2 floor"; + nitrogen = 100000; + oxygen = 0 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/mapping_helpers/no_lava, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1449; + master_tag = "syndicate_base_west_south"; + name = "exterior access button"; + pixel_x = -21; + pixel_y = -21; + req_access_txt = "150" + }, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"bw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/bookcase/random, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"bx" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/turretid/lethal{ + ailock = 1; + check_synth = 0; + control_area = "Syndicate Lavaland Primary Hallway"; + dir = 1; + faction = "syndicate"; + name = "Base turret controls"; + pixel_y = 30; + req_access = null; + req_access_txt = "150"; + syndicate = 1 + }, +/turf/simulated/floor/redgrid, +/area/ruin/unpowered/syndicate_lava_base/main) +"by" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 6; + initialize_directions = 6; + level = 2 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bA" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4; + level = 2 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bB" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4; + level = 2 + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bC" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bD" = ( +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bE" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bF" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 5 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/visible/supply, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bH" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"bJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/visible/cyan, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4; + level = 2 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + dir = 8; + level = 2 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bM" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/binary/pump{ + dir = 8; + name = "Plasma to Incinerator" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 10; + level = 2 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/item/clothing/head/welding, +/obj/item/weldingtool/largetank, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bO" = ( +/obj/machinery/ignition_switch{ + id = "syndicate_base_incinerator"; + pixel_x = 6; + pixel_y = -24 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + frequency = 1449; + id_tag = "syndicate_base_incinerator"; + pixel_x = -6; + pixel_y = -25; + req_access_txt = "150"; + tag_exterior_door = "syndicate_base_incinerator_exterior"; + tag_interior_door = "syndicate_base_incinerator_interior" + }, +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bP" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bQ" = ( +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"bR" = ( +/obj/machinery/optable, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"bS" = ( +/obj/machinery/vending/toyliberationstation{ + req_access_txt = "150" + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bT" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"bU" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/door_control{ + id = "lavalandsyndi"; + name = "Syndicate Experimentation Lockdown Control"; + pixel_y = 26; + req_access_txt = "150" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"bV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/white/corner{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"bW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"bX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"bY" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"bZ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ca" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 6; + level = 2 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"cc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"cd" = ( +/obj/machinery/light/small, +/obj/structure/extinguisher_cabinet{ + pixel_y = -29 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/syndicate{ + dir = 4; + name = "Medbay APC"; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"ce" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/main) +"cf" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom/syndicate, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"cg" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/simulated/floor/engine{ + name = "n2 floor"; + nitrogen = 100000; + oxygen = 0 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"ch" = ( +/obj/machinery/air_sensor{ + frequency = 1442; + id_tag = "syndie_lavaland_o2_sensor" + }, +/turf/simulated/floor/engine{ + name = "o2 floor"; + nitrogen = 0; + oxygen = 100000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"ci" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/engine{ + name = "o2 floor"; + nitrogen = 0; + oxygen = 100000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cj" = ( +/obj/machinery/atmospherics/unary/vent_pump/siphon/on{ + dir = 8; + frequency = 1442; + id_tag = "syndie_lavaland_o2_out"; + name = "oxygen out" + }, +/turf/simulated/floor/engine{ + name = "o2 floor"; + nitrogen = 0; + oxygen = 100000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"ck" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/engine{ + name = "o2 floor"; + nitrogen = 0; + oxygen = 100000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cl" = ( +/obj/machinery/atmospherics/unary/vent_pump/siphon/on{ + dir = 1; + frequency = 1442; + id_tag = "syndie_lavaland_tox_out"; + name = "toxin out" + }, +/turf/simulated/floor/engine{ + carbon_dioxide = 0; + name = "plasma floor"; + nitrogen = 0; + oxygen = 0; + toxins = 70000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cm" = ( +/obj/machinery/air_sensor{ + frequency = 1442; + id_tag = "syndie_lavaland_tox_sensor" + }, +/turf/simulated/floor/engine{ + carbon_dioxide = 0; + name = "plasma floor"; + nitrogen = 0; + oxygen = 0; + toxins = 70000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cn" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/turf/simulated/floor/engine{ + carbon_dioxide = 0; + name = "plasma floor"; + nitrogen = 0; + oxygen = 0; + toxins = 70000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"co" = ( +/obj/machinery/light/small, +/turf/simulated/floor/engine{ + carbon_dioxide = 0; + name = "plasma floor"; + nitrogen = 0; + oxygen = 0; + toxins = 70000 + }, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cp" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/igniter{ + id = "syndicate_base_incinerator" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cq" = ( +/obj/machinery/atmospherics/unary/outlet_injector/on{ + dir = 1; + id = "syndie_lavaland_inc_in" + }, +/obj/structure/sign/vacuum/external{ + pixel_y = -32 + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cr" = ( +/obj/machinery/door/poddoor{ + id_tag = "lavalandsyndi_incineratorinput" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cs" = ( +/obj/structure/cable, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/compressor{ + comp_id = "syndie_lavaland_incineratorturbine"; + dir = 1; + luminosity = 2 + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"ct" = ( +/obj/structure/cable, +/obj/machinery/power/turbine{ + dir = 2; + luminosity = 2 + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cu" = ( +/obj/machinery/door/poddoor{ + id_tag = "lavalandsyndi_incineratoroutput" + }, +/turf/simulated/floor/engine/insulated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"cA" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"cG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/chem_master, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dc" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"di" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"do" = ( +/obj/structure/closet/secure_closet/medical1{ + req_access = null; + req_access_txt = "150" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/beakers/bluespace, +/obj/item/storage/box/beakers/bluespace, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"du" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/door_control{ + id = "lavalandsyndi_chemistry"; + name = "Chemistry Blast Door Control"; + pixel_y = 26; + req_access_txt = "150" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/chem_heater, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dw" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dy" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"dA" = ( +/obj/structure/closet/l3closet, +/obj/machinery/power/apc/syndicate{ + dir = 8; + name = "Chemistry APC"; + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dB" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dE" = ( +/obj/structure/table/glass, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5; + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5; + pixel_y = 2 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5; + pixel_x = 2; + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine, +/turf/simulated/floor/plasteel/white/corner{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dG" = ( +/obj/structure/lattice/catwalk, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"dI" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/beaker/large, +/turf/simulated/floor/plasteel/white/side{ + dir = 5 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dK" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/structure/closet/crate/secure/gear{ + req_access_txt = "150" + }, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/storage/belt/military, +/obj/item/storage/belt/military, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"dL" = ( +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/obj/structure/closet/crate, +/obj/item/extinguisher{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/extinguisher{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/extinguisher{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/flashlight{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/radio/headset/syndicate/alt{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/radio/headset/syndicate/alt, +/obj/item/radio/headset/syndicate/alt{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"dM" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/storage/box/donkpockets{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/storage/box/donkpockets{ + pixel_y = 3 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"dP" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"dQ" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"dR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + heat_proof = 1; + name = "Experimentation Room"; + req_access_txt = "150" + }, +/obj/machinery/door/poddoor/preopen{ + id_tag = "lavalandsyndi"; + name = "Syndicate Research Experimentation Shutters" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"dS" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id_tag = "lavalandsyndi"; + name = "Syndicate Research Experimentation Shutters" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"dT" = ( +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dY" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"dZ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/folder/white, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -3 + }, +/obj/item/reagent_containers/dropper, +/obj/machinery/alarm/syndicate{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/screwdriver/nuke{ + pixel_y = 18 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"ea" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/structure/closet/crate/secure/weapon{ + req_access_txt = "150" + }, +/obj/item/ammo_box/c10mm{ + pixel_y = 6 + }, +/obj/item/ammo_box/c10mm, +/obj/item/ammo_box/magazine/m10mm{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/ammo_box/magazine/m10mm{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/ammo_box/magazine/m10mm{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/ammo_box/magazine/m10mm{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eb" = ( +/obj/structure/closet/crate, +/obj/item/storage/toolbox/electrical{ + pixel_y = 4 + }, +/obj/item/storage/toolbox/mechanical, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ec" = ( +/obj/effect/turf_decal/box/white/corners, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ed" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ef" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/syndicate{ + dir = 1; + name = "Cargo Bay APC"; + pixel_y = 24 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eg" = ( +/obj/structure/closet/firecloset/full{ + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eh" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ei" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ek" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"el" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eo" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/syndicate, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/paper/crumpled{ + info = "Explosive testing on site is STRICTLY forbidden, as this outpost's walls are lined with explosives intended for intentional self-destruct purposes that may be set off prematurely through careless experiments."; + name = "Explosives Testing Warning"; + pixel_x = -6; + pixel_y = -3 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"ep" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eq" = ( +/obj/structure/table/reinforced, +/obj/item/restraints/handcuffs, +/obj/item/taperecorder, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"er" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"es" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"et" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"eu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/chem_heater, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"ev" = ( +/turf/simulated/floor/plasteel/white/corner, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"ew" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/syndichem, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"ex" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ey" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ez" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eA" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/mining/glass{ + name = "Warehouse"; + req_access_txt = "150" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eB" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eC" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/box/lights/bulbs, +/obj/item/wrench, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/mineral/plastitanium, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eF" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor{ + id_tag = "lavalandsyndi_cargo" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eG" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"eH" = ( +/obj/structure/bed, +/obj/item/bedsheet, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 5 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"eI" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/virology) +"eJ" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/virology) +"eL" = ( +/obj/machinery/door/airlock/hatch{ + name = "Monkey Pen"; + req_access_txt = "150" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eM" = ( +/obj/machinery/firealarm/syndicate{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eN" = ( +/obj/machinery/alarm/syndicate{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eP" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eQ" = ( +/obj/machinery/light/small, +/obj/structure/table/reinforced, +/obj/item/storage/box/monkeycubes/syndicate, +/obj/item/storage/box/monkeycubes/syndicate, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"eR" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white/side{ + dir = 10 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"eS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/chem_master, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"eT" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/office/light, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"eU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/chem_dispenser/upgraded, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"eV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"eW" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eX" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/structure/closet/crate/internals, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/oxygen/yellow, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/tank/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eY" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/storage/box/donkpockets{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/storage/box/donkpockets{ + pixel_y = 3 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = 2 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"eZ" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/stack/sheet/cardboard{ + amount = 3 + }, +/obj/item/stack/rods/twentyfive, +/obj/item/stock_parts/cell/high/plus, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fa" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fd" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/turf/simulated/floor/mineral/plastitanium, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ff" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 10 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fg" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fh" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 10 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fi" = ( +/obj/structure/table/glass, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/box/syringes, +/obj/machinery/power/apc/syndicate{ + dir = 1; + name = "Virology APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 2; + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fj" = ( +/obj/structure/table/glass, +/obj/structure/reagent_dispensers/virusfood{ + pixel_y = 28 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/syndicate{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 5 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fk" = ( +/obj/machinery/power/apc/syndicate{ + dir = 2; + name = "Experimentation Lab APC"; + pixel_y = -24 + }, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"fl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/extinguisher_cabinet{ + pixel_x = 25 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"fm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Chemistry Lab"; + req_access_txt = "150" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"fn" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"fo" = ( +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/southleft{ + base_state = "left"; + dir = 2; + icon_state = "left"; + name = "Chemistry" + }, +/obj/machinery/door/window/southleft{ + base_state = "left"; + dir = 1; + icon_state = "left"; + name = "Chemistry"; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"fp" = ( +/obj/machinery/smartfridge/secure/chemistry/preloaded/syndicate, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"fq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/assist, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fr" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fs" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/storage/box/stockparts/deluxe, +/obj/item/storage/box/stockparts/deluxe, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/circuitboard/processor, +/obj/item/circuitboard/gibber, +/obj/item/circuitboard/deepfryer, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ft" = ( +/obj/effect/turf_decal/box/white/corners, +/obj/structure/closet/crate, +/obj/item/reagent_containers/glass/beaker/waterbottle/large{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/beaker/waterbottle/large{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/beaker/waterbottle/large, +/obj/item/reagent_containers/glass/beaker/waterbottle/large, +/obj/item/reagent_containers/glass/beaker/waterbottle/large{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/reagent_containers/glass/beaker/waterbottle/large{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fu" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/table, +/obj/item/clothing/suit/storage/hazardvest, +/obj/item/clothing/suit/storage/hazardvest, +/obj/item/clothing/head/soft{ + pixel_x = -8 + }, +/obj/item/clothing/head/soft{ + pixel_x = -8 + }, +/obj/item/radio{ + pixel_x = 5 + }, +/obj/item/radio{ + pixel_x = 5 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fx" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fy" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Isolation B"; + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fz" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Isolation A"; + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fA" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/spray/cleaner, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fB" = ( +/obj/structure/chair/stool, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel/white/corner{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fC" = ( +/obj/machinery/smartfridge/secure/chemistry/virology/preloaded/syndicate, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 5 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fD" = ( +/obj/structure/sign/biohazard, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/virology) +"fE" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/l3closet, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"fF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/shower{ + pixel_y = 14 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"fG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/hatch{ + name = "Experimentation Lab"; + req_access_txt = "150" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"fH" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/main) +"fI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white/side{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/main) +"fO" = ( +/turf/simulated/floor/plasteel/white/side{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/main) +"fW" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/mining/glass{ + name = "Warehouse"; + req_access_txt = "150" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"fY" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/stack/wrapping_paper{ + pixel_y = 5 + }, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gb" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gg" = ( +/obj/structure/sign/fire{ + pixel_y = 32 + }, +/obj/structure/sign/xeno_warning_mining{ + pixel_y = -32 + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gj" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gq" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gs" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 2 + }, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gv" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gE" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/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/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gF" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gG" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gH" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 2 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gI" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gJ" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gK" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gL" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"gO" = ( +/obj/structure/sign/cargo, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gP" = ( +/obj/machinery/photocopier, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gS" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/door_control{ + id = "lavalandsyndi_cargo"; + name = "Cargo Bay Blast Door Control"; + pixel_x = 26; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"gT" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Monkey Pen"; + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gU" = ( +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"gV" = ( +/obj/structure/chair/office/light, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ha" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/main) +"hb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hd" = ( +/obj/effect/turf_decal/tile/red, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"he" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hg" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hh" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hi" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hj" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Bay" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hl" = ( +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hn" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"ho" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/computer/shuttle{ + desc = "Occasionally used to call in a resupply shuttle if one is in range."; + dir = 8; + icon_keyboard = "syndie_key"; + icon_screen = "syndishuttle"; + light_color = "#FA8282"; + name = "syndicate cargo shuttle terminal"; + possible_destinations = "syndielavaland_cargo"; + req_access_txt = "150"; + shuttleId = "syndie_cargo" + }, +/turf/simulated/floor/mineral/plastitanium, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hq" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/white/side{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"hs" = ( +/obj/machinery/computer/pandemic, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_control{ + id = "lavalandsyndi_virology"; + name = "Virology Blast Door Control"; + pixel_x = -26; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 10 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"ht" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/hand_labeler, +/obj/item/pen/red, +/obj/item/restraints/handcuffs, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/glasses/science, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/virology) +"hu" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/item/stack/sheet/mineral/uranium{ + amount = 10 + }, +/obj/item/stack/sheet/mineral/gold{ + amount = 10 + }, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/virology) +"hv" = ( +/obj/machinery/disposal, +/obj/structure/sign/deathsposal{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/red/box, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/virology) +"hx" = ( +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hy" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hz" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hA" = ( +/obj/structure/closet/emcloset/anchored, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hB" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Bay" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/storage/belt/utility, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/mineral/plastitanium, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hF" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/virology) +"hH" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/poddoor/preopen{ + id_tag = "lavalandsyndi_virology" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/virology) +"hJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"hL" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hM" = ( +/obj/structure/table/wood, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/sniper_rounds, +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hN" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hO" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hP" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hQ" = ( +/obj/structure/table/wood, +/obj/item/ammo_box/magazine/m10mm, +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"hR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"hS" = ( +/obj/structure/table/reinforced, +/obj/item/folder, +/obj/item/suppressor, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hU" = ( +/obj/machinery/light/small, +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/autolathe, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/cargo) +"hW" = ( +/obj/machinery/porta_turret/syndicate{ + dir = 10 + }, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/main) +"hZ" = ( +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ia" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ib" = ( +/obj/effect/mob_spawn/human/lavaland_syndicate{ + icon_state = "sleeper_s"; + dir = 4 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"ic" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"id" = ( +/obj/structure/toilet{ + pixel_y = 18 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"ie" = ( +/obj/effect/mob_spawn/human/lavaland_syndicate/comms{ + dir = 8; + icon_state = "sleeper_s" + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"if" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ig" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"ih" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"ii" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ij" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ik" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"il" = ( +/obj/machinery/door/airlock{ + name = "Cabin 2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"im" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"in" = ( +/obj/machinery/door/airlock{ + name = "Cabin 4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"ip" = ( +/obj/effect/turf_decal/stripes/red/corner, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iq" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/main) +"ir" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/red/line{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/main) +"it" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/red/line{ + dir = 5 + }, +/obj/structure/filingcabinet, +/obj/item/folder/syndicate/mining, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/main) +"iu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"iv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"iw" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ix" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iy" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Dormitories" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iB" = ( +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iD" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/firealarm/syndicate{ + dir = 2; + pixel_y = 24 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iF" = ( +/obj/machinery/washing_machine, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iG" = ( +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iH" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/caution/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iI" = ( +/obj/machinery/door/airlock/vault{ + id_tag = "syndie_lavaland_vault"; + req_access_txt = "150"; + locked = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/main) +"iJ" = ( +/turf/simulated/floor/redgrid, +/area/ruin/unpowered/syndicate_lava_base/main) +"iK" = ( +/obj/machinery/syndicatebomb/self_destruct{ + anchored = 1 + }, +/turf/simulated/floor/redgrid, +/area/ruin/unpowered/syndicate_lava_base/main) +"iM" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"iN" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/main) +"iO" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iP" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"iR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitories" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iS" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iT" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 2 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iU" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/power/apc/syndicate{ + dir = 2; + name = "Dormitories APC"; + pixel_y = -24 + }, +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 8; + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iW" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iY" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"iZ" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ja" = ( +/obj/effect/turf_decal/stripes/red/corner{ + dir = 4 + }, +/obj/machinery/door_control{ + id = "syndie_lavaland_vault"; + name = "Vault Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 8; + req_access_txt = "150"; + specialfunctions = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/red/line{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/main) +"jc" = ( +/obj/machinery/light/small, +/turf/simulated/floor/redgrid, +/area/ruin/unpowered/syndicate_lava_base/main) +"jd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/red/line{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/main) +"je" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"jf" = ( +/obj/machinery/door/airlock{ + name = "Cabin 1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jg" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jh" = ( +/obj/machinery/door/airlock{ + name = "Cabin 3" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"ji" = ( +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/syndicate{ + dir = 8; + name = "Primary Hallway APC"; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jj" = ( +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jk" = ( +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"jl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jn" = ( +/obj/effect/mob_spawn/human/lavaland_syndicate{ + icon_state = "sleeper_s"; + dir = 4 + }, +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jo" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"jq" = ( +/obj/effect/mob_spawn/human/lavaland_syndicate{ + dir = 8; + icon_state = "sleeper_s" + }, +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jr" = ( +/obj/machinery/vending/snack, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"js" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jt" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"ju" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jv" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/suit_storage_unit/radsuit, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jw" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/toolcloset{ + anchored = 1 + }, +/obj/item/crowbar, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jx" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id_tag = "lavalandsyndi_bar" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jy" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jz" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jA" = ( +/obj/structure/table/wood, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/sniper_rounds, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jB" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jC" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel/grimy, +/area/ruin/unpowered/syndicate_lava_base/dormitories) +"jD" = ( +/obj/machinery/vending/cola, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jE" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jF" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jG" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + name = "Engineering"; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/alarm/syndicate{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jJ" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + dir = 6 + }, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jK" = ( +/obj/machinery/atmospherics/unary/outlet_injector/on{ + dir = 8; + volume_rate = 200; + id = "syndie_lavaland_waste" + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jL" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/lighter{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_x = -3 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jM" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/door_control{ + id = "lavalandsyndi_bar"; + name = "Bar Blast Door Control"; + pixel_y = 26; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jO" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 25 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jP" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"jR" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jS" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset/full{ + anchored = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"jU" = ( +/obj/structure/sign/engineering, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/shower{ + desc = "The HS-452. Installed recently by the DonkCo Hygiene Division."; + dir = 4; + name = "emergency shower" + }, +/obj/structure/sign/radiation/rad_area{ + pixel_y = -32 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"jY" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"jZ" = ( +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ka" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kb" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/storage/box/lights/bulbs, +/obj/item/stack/rods{ + amount = 50 + }, +/obj/item/clothing/head/welding, +/obj/item/stock_parts/cell/high/plus, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kd" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 2 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"ke" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kh" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"ki" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"kj" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/main) +"kk" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/engineering{ + name = "Engineering"; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kl" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"km" = ( +/obj/structure/cable/yellow{ + d1 = 0; + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/computer/monitor/secret, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ko" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kq" = ( +/obj/machinery/alarm/syndicate{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/coffee/free, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kr" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ks" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"ku" = ( +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/main) +"kv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/main) +"kw" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/gloves/combat{ + pixel_y = -6 + }, +/obj/item/tank/emergency_oxygen{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/main) +"kx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"ky" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kz" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kB" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kC" = ( +/obj/machinery/computer/general_air_control/large_tank_control{ + dir = 8; + frequency = 1442; + name = "Nitrogen Supply Control"; + output_tag = "syndie_lavaland_n2_out"; + sensors = list("syndie_lavaland_n2_sensor" = "Tank") + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kD" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kG" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/cans/beer, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kH" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kJ" = ( +/obj/structure/chair/stool/bar, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kK" = ( +/obj/structure/chair/stool/bar, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kM" = ( +/obj/machinery/firealarm/syndicate{ + dir = 4; + pixel_x = 26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/cigarette/syndicate/free, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"kP" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, +/obj/item/soap/syndie, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"kQ" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"kR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"kS" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"kT" = ( +/obj/structure/sign/redcross, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"kV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable/yellow, +/obj/structure/sign/electricshock{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"kW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lf" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lg" = ( +/obj/structure/chair/stool/bar, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lh" = ( +/obj/structure/table/wood, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"li" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/simulated/floor/wood{ + icon_state = "wood-broken4" + }, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lj" = ( +/obj/machinery/door/window/southleft{ + base_state = "right"; + dir = 1; + icon_state = "right"; + name = "Bar" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lk" = ( +/obj/structure/table/wood, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = 30 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/item/book/manual/chef_recipes{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/shaker, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ll" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/reagent_dispensers/beerkeg, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lm" = ( +/obj/structure/closet/secure_closet/medical1{ + req_access = null; + req_access_txt = "150" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"ln" = ( +/turf/simulated/floor/plasteel/white/side{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lo" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/masks{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/storage/box/gloves{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 5 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lu" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/pump, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lw" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating{ + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface; + oxygen = 14; + nitrogen = 23; + temperature = 300 + }, +/area/lavaland/surface/outdoors) +"ly" = ( +/obj/structure/chair/stool/bar, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lz" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/rag{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/cans/beer{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lA" = ( +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lC" = ( +/obj/structure/table/wood, +/obj/machinery/reagentgrinder, +/obj/item/kitchen/rollingpin, +/obj/item/kitchen/knife{ + pixel_x = 6 + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lE" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lF" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/vending_refill/snack{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/vending_refill/snack{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/vending_refill/coffee, +/obj/item/vending_refill/cola, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lG" = ( +/obj/structure/table, +/obj/item/storage/box/syringes, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/gun/syringe/syndicate, +/turf/simulated/floor/plasteel/white/side{ + dir = 9 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lH" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/corner{ + dir = 1 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lI" = ( +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lK" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/firstaid/fire{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"lL" = ( +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/stack/sheet/mineral/plastitanium{ + amount = 30 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lM" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lP" = ( +/obj/machinery/computer/general_air_control/large_tank_control{ + dir = 8; + frequency = 1442; + name = "Oxygen Supply Control"; + output_tag = "syndie_lavaland_o2_out"; + sensors = list("syndie_lavaland_o2_sensor" = "Tank") + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"lS" = ( +/obj/machinery/porta_turret/syndicate{ + dir = 9 + }, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/main) +"lU" = ( +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/chair/stool, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lV" = ( +/obj/structure/chair/stool/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lW" = ( +/obj/structure/table/wood, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lX" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"lZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"ma" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Bar Storage"; + req_access_txt = "150" + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mc" = ( +/obj/item/storage/box/donkpockets{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/storage/box/donkpockets{ + pixel_y = 3 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = 2 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/freezer/kitchen/maintenance{ + req_access = null + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"md" = ( +/obj/machinery/sleeper/syndie{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"me" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mf" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/alarm/syndicate{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mg" = ( +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/rpd{ + pixel_y = 3 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"mh" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"mj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/binary/pump{ + dir = 8; + name = "O2 to Incinerator" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"mn" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mo" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mp" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id_tag = "lavalandsyndi_telecomms" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mr" = ( +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"mt" = ( +/obj/machinery/computer/arcade/orion_trail, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mu" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mv" = ( +/obj/structure/table/wood, +/obj/machinery/light/small, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/syndicate{ + dir = 2; + name = "Bar APC"; + pixel_y = -24 + }, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mx" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/turf/simulated/floor/wood, +/area/ruin/unpowered/syndicate_lava_base/bar) +"my" = ( +/obj/structure/closet/secure_closet/freezer/fridge/open, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/chocolatebar, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mz" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/main) +"mA" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/item/reagent_containers/iv_bag/blood/OMinus, +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mD" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mE" = ( +/obj/structure/table/reinforced, +/obj/item/scalpel, +/obj/item/circular_saw{ + pixel_y = 9 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"mF" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/structure/chair/stool, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"mG" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"mK" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/computer/general_air_control/large_tank_control{ + dir = 1; + frequency = 1442; + name = "Toxins Supply Control"; + output_tag = "syndie_lavaland_tox_out"; + sensors = list("syndie_lavaland_tox_sensor" = "Tank") + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"mM" = ( +/turf/simulated/floor/greengrid, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mN" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mP" = ( +/obj/structure/filingcabinet/security, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mQ" = ( +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mR" = ( +/obj/structure/table, +/obj/item/storage/toolbox/syndicate, +/obj/item/multitool, +/obj/machinery/door_control{ + id = "lavalandsyndi_telecomms"; + name = "Telecomms Blast Door Control"; + pixel_x = 26; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"mT" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"mU" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/bar) +"mX" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/cable_coil/yellow{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/multitool, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"mY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"mZ" = ( +/obj/machinery/sleeper/syndie{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"na" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"nc" = ( +/obj/machinery/computer/turbine_computer{ + dir = 1; + id = "syndie_lavaland_incineratorturbine" + }, +/obj/machinery/door_control{ + id = "lavalandsyndi_incineratoroutput"; + name = "Incinerator Output Blast Door Control"; + pixel_x = -6; + pixel_y = -24; + req_access_txt = "150" + }, +/obj/machinery/door_control{ + id = "lavalandsyndi_incineratorinput"; + name = "Incinerator Input Blast Door Control"; + pixel_x = 6; + pixel_y = -24; + req_access_txt = "150" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"nd" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"nf" = ( +/obj/structure/sign/fire, +/turf/simulated/wall/mineral/plastitanium/coated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"nh" = ( +/obj/machinery/telecomms/relay/preset/ruskie{ + use_power = 0 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"ni" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nj" = ( +/obj/machinery/door/airlock/hatch{ + name = "Telecommunications Control"; + req_access_txt = "150" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nk" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nm" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"no" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"np" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"ns" = ( +/obj/structure/closet/emcloset/anchored, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/syndicate{ + dir = 1; + name = "Arrival Hallway APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nv" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nw" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 2 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay" + }, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"ny" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel/white/side{ + dir = 8 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"nz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"nA" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel/white/corner, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"nB" = ( +/obj/structure/table/reinforced, +/obj/item/surgicaldrill, +/obj/effect/decal/cleanable/dirt, +/obj/item/bonegel, +/obj/item/bonesetter, +/obj/item/FixOVein, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"nC" = ( +/obj/structure/table/reinforced, +/obj/item/retractor, +/obj/item/hemostat, +/obj/effect/decal/cleanable/dirt, +/obj/item/cautery, +/turf/simulated/floor/plasteel/white/side{ + dir = 6 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"nH" = ( +/obj/machinery/alarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nI" = ( +/obj/machinery/computer/camera_advanced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nL" = ( +/obj/machinery/door/airlock/hatch{ + name = "Telecommunications"; + req_access_txt = "150" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"nN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nQ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nS" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/firealarm/syndicate{ + dir = 2; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nU" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/alarm/syndicate{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nW" = ( +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nX" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nZ" = ( +/turf/simulated/floor/plasteel/white/side{ + dir = 4 + }, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"oa" = ( +/turf/simulated/floor/plasteel/white/side{ + dir = 10 + }, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"ob" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel/white/side, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"oh" = ( +/obj/machinery/firealarm/syndicate{ + dir = 8; + pixel_x = -26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"oi" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"ok" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/syndicate{ + dir = 2; + name = "Telecommunications APC"; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"ol" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/rack{ + dir = 8 + }, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, +/obj/item/mining_scanner, +/obj/item/pickaxe, +/turf/simulated/floor/mineral/plastitanium, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"om" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"on" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -29 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"oo" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"op" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"or" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/storage/belt/medical, +/obj/effect/decal/cleanable/dirt, +/obj/item/crowbar, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/accessory/stethoscope, +/turf/simulated/floor/plasteel/white, +/area/ruin/unpowered/syndicate_lava_base/medbay) +"ou" = ( +/obj/machinery/computer/message_monitor{ + dir = 1 + }, +/obj/item/paper/monitorkey, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"ov" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/turf/simulated/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/telecomms) +"ox" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor{ + id_tag = "lavalandsyndi_arrivals" + }, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"oF" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/arrivals) +"oP" = ( +/obj/structure/sign/chemistry, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"pQ" = ( +/obj/structure/sign/explosives/alt{ + pixel_x = 32 + }, +/turf/simulated/floor/redgrid, +/area/ruin/unpowered/syndicate_lava_base/main) +"qG" = ( +/obj/structure/sign/explosives/alt{ + pixel_x = -32 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"vu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"yd" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/turf/simulated/wall/mineral/plastitanium/coated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"yU" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/chemistry) +"Au" = ( +/turf/simulated/wall/mineral/plastitanium/explosive, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"BF" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id_tag = "lavalandsyndi"; + name = "Syndicate Research Experimentation Shutters" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"Cg" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"CG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"DL" = ( +/obj/structure/sign/explosives/alt{ + pixel_x = 32 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"Lg" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"LQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"RI" = ( +/turf/simulated/wall/mineral/plastitanium/coated, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"RV" = ( +/obj/structure/sign/fire, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/syndicate_lava_base/engineering) +"Tp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"TC" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/engine, +/area/ruin/unpowered/syndicate_lava_base/testlab) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +ab +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(4,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mn +mn +mn +mn +mn +ab +ab +ab +ab +ab +ab +ab +aa +aa +"} +(5,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mn +mo +mM +nh +mM +mn +mn +ab +ab +ab +ab +ab +ab +ab +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mn +mM +mM +ni +mM +mM +mn +ab +ab +ab +ab +ab +ab +aa +aa +"} +(7,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +eh +gj +eh +eh +eh +eh +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mn +mn +mN +nj +mn +mn +mn +ab +ab +ab +ab +ab +ab +ab +aa +"} +(8,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +eh +eG +ff +eI +aj +eh +eh +eh +eh +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mp +mP +cb +nH +oh +mn +mn +ab +ab +ab +ab +ab +ab +aa +"} +(9,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +eh +eH +fg +fy +gp +eI +am +ao +eh +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mp +mP +nk +nI +oi +ou +mn +ab +ab +ab +ab +ab +ab +ab +"} +(10,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +eh +eI +eI +eI +gq +gT +hq +hF +eh +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mp +mQ +nl +nJ +cf +ov +mn +ab +ab +ab +ab +ab +ab +ab +"} +(11,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +eh +eG +fh +eI +gr +eI +an +ar +eh +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +mp +mR +nm +nK +ok +mn +mn +ab +ab +ab +ab +ab +ab +ab +"} +(12,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +eh +eH +fg +fz +gs +eh +gj +eh +eh +ab +ab +ab +ab +ab +ab +dG +dG +dG +dG +dG +dG +lS +mn +mn +mo +nL +mn +mn +ab +ab +ab +ab +ab +ab +ab +ab +"} +(13,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +eh +gj +eI +eI +gt +gU +hs +hH +ab +ab +ab +ab +ab +ab +dG +dG +ig +iu +iu +iu +bv +aZ +az +ba +nn +aE +mT +mT +ab +ab +ab +ab +ab +ab +ab +ab +"} +(14,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +eh +fi +fA +bV +gV +ht +hH +ab +ab +ab +ab +ab +dG +dG +ig +je +iv +jk +aw +lw +aZ +mr +bb +aD +nN +ol +mT +ab +ab +ab +ab +ab +ab +ab +ab +"} +(15,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ei +eJ +fj +fB +gv +ax +hu +hH +ab +ab +ab +ab +dG +dG +ig +je +jk +jx +jx +jy +jy +jy +aA +mT +no +nN +ol +mT +ab +ab +ab +ab +ab +ab +ab +ab +"} +(16,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ab +ac +ac +ae +ae +ae +ae +fC +ad +aX +hv +hH +ab +ab +ab +dG +dG +ig +je +jk +jx +jx +kG +lf +bw +jy +jy +jP +np +aH +mT +mT +mT +oF +ab +ab +ab +ab +ab +ab +"} +(17,1,1) = {" +ab +ab +ab +ab +ab +ae +ae +ae +ae +ae +ae +ae +au +av +aL +fD +aI +eh +eh +eh +hW +dG +dG +dG +ig +je +iv +jx +jx +kn +kH +jN +jZ +lU +mt +mU +np +aN +aO +aP +aR +aG +aS +ab +ab +ab +ab +aa +"} +(18,1,1) = {" +ab +ab +ab +ab +ae +aL +aq +aq +qG +dc +aq +dQ +ek +eL +ae +fE +gy +bd +ay +aU +aC +bc +iu +iu +je +jk +jx +jx +jN +jZ +jN +jZ +jN +jZ +kn +mU +nq +nQ +mT +mT +mT +oF +ab +ab +ab +ab +ab +aa +"} +(19,1,1) = {" +ab +ab +ab +ab +ae +ap +aq +Lg +aq +Lg +aq +dR +el +eM +ae +fF +gz +aT +aB +hJ +aY +ih +iv +iM +iv +iv +jx +jL +jY +jN +bZ +lg +ly +lV +mu +mU +cc +nR +om +mT +ab +ab +ab +ab +ab +ab +aa +aa +"} +(20,1,1) = {" +aa +ab +ab +ab +ae +aq +aq +aF +aq +aF +aq +ae +bU +eN +ae +ae +aJ +ha +ha +aV +ha +ha +ha +ha +ha +ha +jy +jM +jN +jZ +kJ +lh +lz +lW +mv +jy +jy +nS +on +mT +ab +ab +ab +ab +ab +ab +ab +aa +"} +(21,1,1) = {" +aa +ab +ab +ab +ae +aq +aq +Tp +aq +Cg +aq +dS +eo +eO +fk +ae +aK +hb +ha +iN +ha +ii +iw +iO +hB +jl +jz +jN +jZ +ko +kK +li +lA +lX +mw +ah +jy +nu +oo +ox +ab +ab +ab +ab +ab +ab +ab +ab +"} +(22,1,1) = {" +aa +ab +ab +ab +ae +ap +aq +CG +vu +TC +LQ +BF +ep +eP +fl +fG +gE +hc +hx +hL +hZ +ij +ix +iP +hd +jm +jz +jO +jN +kp +kL +lj +lB +lY +lA +ai +jP +nT +op +ox +ab +ab +ab +ab +ab +ab +ab +ab +"} +(23,1,1) = {" +aa +ab +ab +ab +ae +ae +aq +aq +DL +di +aq +dS +eq +eQ +ae +dQ +gF +hd +hy +hy +ia +ik +if +iQ +hz +hz +jP +jy +ka +kq +kM +lk +lC +lZ +mx +jy +jy +nU +oo +ox +ab +ab +ab +ab +ab +ab +ab +ab +"} +(24,1,1) = {" +aa +ab +ab +ab +ab +ae +ae +ae +ae +ae +aL +ae +ae +ae +oP +fH +gG +he +hz +hz +hz +hz +iy +iR +hz +jn +jA +jy +jy +jy +jy +jy +ak +ma +jy +jy +ns +nV +oo +ox +ab +ab +ab +ab +ab +ab +ab +ab +"} +(25,1,1) = {" +aa +ab +ab +ab +ab +ab +ac +ac +as +do +dA +dT +er +eR +fm +fI +gH +he +hz +hM +ib +hz +iz +iS +jf +jo +jB +hz +kb +jy +kN +jZ +lE +mb +my +jy +nt +nW +aW +mT +ab +ab +ab +ab +ab +ab +ab +ab +"} +(26,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +as +as +du +dB +dU +es +eS +fn +fO +gG +hf +hz +hN +ic +il +iA +iT +hz +hz +hz +hz +kc +kr +kO +ll +lF +mc +jy +jy +nu +nX +oo +mT +ab +ab +ab +ab +ab +ab +ab +ab +"} +(27,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +at +aM +dv +dC +bI +et +eT +fo +fO +gG +hg +hz +hz +hz +hz +iB +iU +jg +jp +jp +jQ +kd +jy +jy +jy +jy +jy +jy +mX +nv +aQ +mT +mT +ab +ab +ab +ab +ab +ab +ab +aa +"} +(28,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +at +cA +dw +dC +dX +eu +eU +fn +fH +gG +he +hA +hO +id +im +bX +iV +hz +hz +hz +hz +ke +jQ +jQ +jQ +jp +jp +mz +mY +nw +nZ +mT +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(29,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +at +cG +dx +dE +dY +ev +eV +fp +fH +gI +he +hz +hz +hz +hz +iD +iW +jh +jo +jC +hz +kf +ks +kP +kQ +kQ +kQ +kQ +kT +nx +kR +kQ +kQ +ab +ab +ab +ab +ab +ab +ab +ab +"} +(30,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +as +as +as +dI +dZ +ew +as +yU +as +gJ +hh +hz +hP +ic +in +iE +iX +hz +jq +jA +hz +kg +kt +kQ +bT +lG +md +mA +mZ +ny +oa +or +kQ +ab +ab +ab +ab +ab +ab +ab +ab +"} +(31,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ac +as +as +as +as +as +fq +dy +gK +he +hz +hQ +ie +hz +iF +iY +hz +hO +hz +hz +kh +ha +kQ +lm +lH +me +mB +na +nz +ob +al +kQ +ab +ab +ab +ab +ab +ab +ab +ab +"} +(32,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ac +dy +dK +ea +ex +eW +fr +fW +gL +he +hz +hz +hz +hz +hz +hz +hz +jr +jD +jR +iQ +ku +kR +ln +lI +lI +mC +lI +nA +cd +kQ +kQ +ac +ab +ab +ab +ab +ab +ab +ab +"} +(33,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +dy +dL +eb +ey +eX +fs +fa +gM +hi +hB +hB +hB +ag +iG +iZ +ji +js +jE +jS +ki +kv +kS +ln +lJ +mf +mD +lI +nB +kQ +kQ +ac +ab +ab +ab +ab +ab +ab +ab +ab +"} +(34,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +ab +dy +dM +ec +ez +eY +ft +dP +gN +hj +hj +hR +af +ip +iH +ja +bY +jj +gI +if +kj +kw +kT +lo +lK +kQ +mE +bR +nC +kQ +ac +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(35,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +dy +dy +ed +ey +eZ +dy +dy +gO +hk +hC +dy +ha +ce +iI +iq +ha +jt +jF +jT +ju +ju +ju +ju +ju +Au +ju +ju +RI +RI +RI +RI +RI +ab +ab +ab +ab +ab +ab +ab +"} +(36,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ac +dy +dy +eA +fa +dy +fY +gP +gQ +hl +hS +ha +ir +iJ +jb +ha +ju +jG +jU +ju +kx +kV +lp +lL +mg +mF +nc +RI +bg +RI +bQ +RI +RI +nf +ab +ab +ab +ab +aa +"} +(37,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +dy +bk +eB +fb +fu +gb +gQ +hl +bW +bS +ha +bx +iK +jc +ha +jv +jH +jV +ju +ky +kW +lq +lM +mh +mG +nd +bf +bh +bj +cp +cs +ct +cu +ab +ab +ab +ab +ab +"} +(38,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +dy +ef +eC +fc +fv +fv +gR +gQ +hl +hU +ha +it +pQ +jd +ha +jw +jI +jW +kk +kz +by +bC +bF +ca +bL +bO +yd +bi +yd +cq +RI +RI +nf +ab +ab +ab +ab +ab +"} +(39,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +dy +eg +eD +fd +bl +bm +gS +hn +gQ +hV +ha +ha +ha +ha +ha +ju +jJ +kl +kl +be +bz +bD +bG +mj +bM +RV +RI +RI +RI +cr +nf +ab +ab +ab +ab +ab +ab +ab +"} +(40,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +dy +dP +eE +fe +dy +bn +dy +ho +hD +dy +dy +ac +ab +ab +ab +ac +jK +ju +km +kB +br +bE +bH +bJ +bN +bP +cl +cn +RI +ab +ab +ab +ab +ab +ab +ab +ab +ab +"} +(41,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +dy +eF +eF +dy +bo +dy +eF +eF +dy +ab +ab +ab +ab +ab +ab +ab +ju +ju +kC +bA +lu +lP +bK +mK +kD +cm +co +RI +ab +ab +ab +ab +ab +ab +ab +ab +ab +"} +(42,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +dy +gg +dy +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ju +kD +bB +Au +kD +bB +ju +ju +ju +ju +RI +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(43,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +fx +bp +fx +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ju +bs +bu +ju +ch +cj +ju +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(44,1,1) = {" +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +bq +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ju +bt +cg +ju +ci +ck +ju +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +ab +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ju +ju +ju +ju +ju +ju +ju +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +"} diff --git a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm index 5d578d212b5..805f97b6784 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm @@ -81,11 +81,11 @@ /turf/simulated/mineral, /area/ruin/unpowered) "ai" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "aj" = ( /obj/structure/flora/rock, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "ak" = ( /obj/structure/grille, @@ -123,7 +123,7 @@ /mob/living/simple_animal/hostile/asteroid/goldgrub{ will_burrow = 0 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "aq" = ( /obj/structure/flora/ausbushes/grassybush, @@ -131,11 +131,11 @@ /area/ruin/unpowered) "ar" = ( /obj/structure/flora/rock/pile, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "as" = ( /mob/living/simple_animal/hostile/asteroid/basilisk, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "at" = ( /turf/simulated/wall/r_wall, @@ -152,7 +152,7 @@ "aw" = ( /obj/structure/flora/rock, /obj/machinery/light, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "ax" = ( /obj/structure/table/reinforced, @@ -414,7 +414,7 @@ }, /area/ruin/unpowered) "aV" = ( -/obj/machinery/smartfridge/chemistry, +/obj/machinery/smartfridge/secure/chemistry, /turf/simulated/floor/plasteel{ icon_state = "dark" }, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/asteroid1.dmm b/_maps/map_files/RandomRuins/SpaceRuins/asteroid1.dmm index 13940514cd3..5dae1cf1452 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/asteroid1.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/asteroid1.dmm @@ -3,7 +3,7 @@ /turf/space, /area/space) "b" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "c" = ( /turf/simulated/mineral/random/high_chance, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/asteroid2.dmm b/_maps/map_files/RandomRuins/SpaceRuins/asteroid2.dmm index 74a44f8c95d..aace1d84625 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/asteroid2.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/asteroid2.dmm @@ -3,7 +3,7 @@ /turf/space, /area/space) "b" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "c" = ( /turf/simulated/mineral, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/asteroid3.dmm b/_maps/map_files/RandomRuins/SpaceRuins/asteroid3.dmm index d16d388f122..a569b957ebf 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/asteroid3.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/asteroid3.dmm @@ -3,7 +3,7 @@ /turf/space, /area/space) "b" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "c" = ( /turf/simulated/mineral, @@ -13,11 +13,11 @@ /area/ruin/unpowered) "e" = ( /obj/effect/decal/remains/human, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "f" = ( /obj/item/pickaxe/diamond, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) (1,1,1) = {" diff --git a/_maps/map_files/RandomRuins/SpaceRuins/asteroid4.dmm b/_maps/map_files/RandomRuins/SpaceRuins/asteroid4.dmm index 3e3528b408f..fb51d7aabc1 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/asteroid4.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/asteroid4.dmm @@ -9,7 +9,7 @@ /turf/simulated/mineral/random/high_chance, /area/ruin/unpowered) "d" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "e" = ( /turf/simulated/mineral/clown, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/asteroid5.dmm b/_maps/map_files/RandomRuins/SpaceRuins/asteroid5.dmm index 84147acbe65..aae4ff9e9c7 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/asteroid5.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/asteroid5.dmm @@ -9,7 +9,7 @@ /turf/simulated/mineral/random/high_chance, /area/ruin/unpowered) "d" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) (1,1,1) = {" diff --git a/_maps/map_files/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/map_files/RandomRuins/SpaceRuins/deepstorage.dmm index 30afb132426..a998609e8d5 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/deepstorage.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/deepstorage.dmm @@ -868,7 +868,7 @@ /turf/simulated/floor/plating, /area/ruin/unpowered) "ce" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) (1,1,1) = {" diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict4.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict4.dmm index 30d5dff0b64..9c29f154adb 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict4.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict4.dmm @@ -6,7 +6,7 @@ /turf/simulated/mineral, /area/ruin/unpowered) "c" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "d" = ( /turf/simulated/mineral/random/high_chance, @@ -22,11 +22,7 @@ /turf/simulated/floor/plating/airless, /area/ruin/unpowered) "h" = ( -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "i" = ( /obj/structure/chair, @@ -35,27 +31,15 @@ icon_state = "rwindow"; dir = 8 }, -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "j" = ( /obj/structure/chair, -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "k" = ( /obj/effect/spawner/lootdrop/crate_spawner, -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "l" = ( /obj/structure/shuttle/engine/propulsion{ @@ -83,11 +67,7 @@ /area/ruin/unpowered) "p" = ( /obj/structure/table, -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "q" = ( /obj/item/shard, @@ -96,11 +76,7 @@ icon_state = "chair"; dir = 8 }, -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "r" = ( /obj/structure/chair{ @@ -111,11 +87,7 @@ icon_state = "rwindow"; dir = 8 }, -/turf/simulated/floor/plasteel/airless{ - icon_plating = "plating"; - icon_regular_floor = "shuttlefloor"; - icon_state = "shuttlefloor" - }, +/turf/simulated/floor/mineral/titanium/blue, /area/ruin/unpowered) "s" = ( /obj/structure/chair{ diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm index adbb913421a..ff8a5ac4cc2 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm @@ -9,7 +9,7 @@ /turf/simulated/mineral, /area/space/nearstation) "d" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "e" = ( /turf/simulated/wall, @@ -58,14 +58,14 @@ "p" = ( /obj/structure/barricade/wooden, /obj/machinery/door/airlock/external, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "q" = ( /obj/machinery/door/airlock/external, /turf/simulated/floor/plating, /area/ruin/unpowered) "r" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) (1,1,1) = {" diff --git a/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm b/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm index 5316bd3da6e..22d4c0798aa 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm @@ -9,10 +9,10 @@ /turf/simulated/mineral, /area/ruin/unpowered) "d" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "e" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/powered) "f" = ( /turf/simulated/wall/r_wall, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm index 8ce28e665a2..a59e8dad0a9 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm @@ -753,7 +753,7 @@ /turf/simulated/floor/plasteel, /area/ruin/space/ancientstation) "cg" = ( -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, @@ -782,7 +782,7 @@ /area/ruin/space/ancientstation/deltacorridor) "ck" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "cl" = ( /obj/structure/transit_tube/station/reverse, @@ -1820,7 +1820,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "eL" = ( /obj/machinery/light{ @@ -3003,7 +3003,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "hg" = ( /obj/effect/decal/cleanable/dirt, @@ -3131,7 +3131,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "ht" = ( /obj/structure/cable{ @@ -3311,7 +3311,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "hK" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -3723,7 +3723,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "iC" = ( /obj/structure/cable{ @@ -3832,7 +3832,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "iP" = ( /obj/structure/cable/yellow{ @@ -3841,7 +3841,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "iQ" = ( /obj/machinery/light/small, @@ -4136,7 +4136,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "jx" = ( /obj/effect/decal/cleanable/cobweb, @@ -4428,7 +4428,7 @@ /area/ruin/space/ancientstation) "ke" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/simulated/floor/plasteel, /area/ruin/space/ancientstation) "kf" = ( @@ -4489,7 +4489,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "km" = ( /obj/structure/cable{ @@ -4585,7 +4585,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "kw" = ( /obj/machinery/atmospherics/unary/vent_pump{ @@ -4817,7 +4817,7 @@ /area/ruin/space/ancientstation/deltacorridor) "kZ" = ( /turf/simulated/floor/plating, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/template_noop) "la" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ diff --git a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm index c376fc59361..846ac5068d9 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm @@ -6,7 +6,7 @@ /turf/simulated/mineral, /area/space/nearstation) "ac" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "ad" = ( /obj/structure/grille, @@ -22,18 +22,18 @@ /turf/simulated/floor/plating, /area/ruin/powered) "ag" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/powered) "ah" = ( /obj/structure/grille, /obj/structure/window/full/reinforced, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/powered) "ai" = ( /turf/simulated/mineral, /area/ruin/powered) "aj" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ icon_state = "swall_f6"; dir = 2 @@ -45,7 +45,7 @@ /turf/simulated/floor/plating, /area/ruin/powered) "al" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ dir = 2; icon_state = "swall_f10"; @@ -443,7 +443,7 @@ /area/ruin/powered) "bp" = ( /obj/structure/shuttle/engine/propulsion/burst, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ icon_state = "swall_f5"; dir = 2 @@ -465,7 +465,7 @@ /area/ruin/powered) "bs" = ( /obj/structure/shuttle/engine/propulsion/burst, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ icon_state = "swall_f9"; dir = 2 diff --git a/_maps/map_files/RandomRuins/SpaceRuins/way_home.dmm b/_maps/map_files/RandomRuins/SpaceRuins/way_home.dmm index ac0ee70f0bb..b0613eef965 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/way_home.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/way_home.dmm @@ -6,13 +6,13 @@ /turf/simulated/mineral/random, /area/ruin/unpowered/no_grav/way_home) "c" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav/way_home) "d" = ( /obj/structure/signpost{ name = "salvation" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav/way_home) (1,1,1) = {" diff --git a/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm b/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm index 016c4cbf447..e3d578503f8 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/wizardcrash.dmm @@ -3,7 +3,7 @@ /turf/space, /area/space) "ab" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/ruin/unpowered) "ac" = ( /turf/simulated/mineral, diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm index 5dd4050d567..24f93b0a6ce 100644 --- a/_maps/map_files/RandomZLevels/academy.dmm +++ b/_maps/map_files/RandomZLevels/academy.dmm @@ -1365,7 +1365,7 @@ /turf/simulated/floor/plasteel, /area/awaymission/academy/classrooms) "dZ" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plating, /area/awaymission/academy/classrooms) "ea" = ( @@ -3718,7 +3718,7 @@ /turf/space, /area/space/nearstation) "jz" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plating, /area/awaymission/academy/academyaft) "jA" = ( diff --git a/_maps/map_files/RandomZLevels/beach.dmm b/_maps/map_files/RandomZLevels/beach.dmm index 76a7da40fb1..4544e3830d8 100644 --- a/_maps/map_files/RandomZLevels/beach.dmm +++ b/_maps/map_files/RandomZLevels/beach.dmm @@ -6,7 +6,7 @@ /turf/unsimulated/beach/water/deep, /area/awaymission/undersea) "ac" = ( -/obj/machinery/poolcontroller/seacontroller, +/obj/machinery/poolcontroller/invisible/sea, /turf/unsimulated/beach/water/deep, /area/awaymission/undersea) "ad" = ( @@ -1494,6 +1494,10 @@ /obj/structure/closet/crate, /turf/unsimulated/beach/sand, /area/awaymission/beach) +"LZ" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water/deep, +/area/awaymission/beach) (1,1,1) = {" aa @@ -15371,7 +15375,7 @@ du du du du -du +LZ "} (55,1,1) = {" aa diff --git a/_maps/map_files/RandomZLevels/blackmarketpackers.dmm b/_maps/map_files/RandomZLevels/blackmarketpackers.dmm index 2a6fedbbdc7..4938088d57f 100644 --- a/_maps/map_files/RandomZLevels/blackmarketpackers.dmm +++ b/_maps/map_files/RandomZLevels/blackmarketpackers.dmm @@ -6,11 +6,11 @@ /turf/simulated/mineral/random/high_chance, /area/awaymission) "ac" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission) "ad" = ( /obj/effect/mob_spawn/human/doctor, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission) "ae" = ( /obj/item/circular_saw, @@ -2996,7 +2996,7 @@ /turf/simulated/floor/plating/airless, /area/awaymission/BMPship/Fore) "hC" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission/BMPship/Fore) "hD" = ( /obj/structure/rack, @@ -3006,7 +3006,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission/BMPship/Fore) "hF" = ( /turf/simulated/shuttle/wall, @@ -3163,7 +3163,7 @@ /obj/effect/landmark{ name = "awaystart" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission) "ic" = ( /obj/structure/bed, @@ -3412,7 +3412,7 @@ /turf/simulated/floor/plating, /area/awaymission) "iM" = ( -/turf/simulated/mineral/random/high_chance_clown, +/turf/simulated/mineral/random/high_chance/clown, /area/awaymission) "iN" = ( /obj/effect/decal/cleanable/blood, @@ -3444,7 +3444,7 @@ /area/awaymission) "iS" = ( /mob/living/simple_animal/hostile/carp, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission) "iT" = ( /turf/simulated/floor/plating, diff --git a/_maps/map_files/RandomZLevels/centcomAway.dmm b/_maps/map_files/RandomZLevels/centcomAway.dmm index 3fa3d569c09..98288fe54da 100644 --- a/_maps/map_files/RandomZLevels/centcomAway.dmm +++ b/_maps/map_files/RandomZLevels/centcomAway.dmm @@ -1060,7 +1060,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/awaymission/centcomAway/maint) "cO" = ( /obj/structure/cable{ @@ -1083,7 +1083,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/awaymission/centcomAway/maint) "cP" = ( /obj/structure/table/reinforced, @@ -1552,7 +1552,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/awaymission/centcomAway/maint) "dV" = ( /obj/structure/closet/crate, @@ -1647,7 +1647,7 @@ tag = "" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/awaymission/centcomAway/maint) "ei" = ( /obj/structure/table, @@ -1695,7 +1695,7 @@ /obj/structure/cable, /obj/machinery/power/tracker, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/awaymission/centcomAway/maint) "ep" = ( /obj/structure/table, @@ -5193,7 +5193,7 @@ }, /area/awaymission/centcomAway/general) "mE" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plasteel{ icon_state = "floor" }, diff --git a/_maps/map_files/RandomZLevels/moonoutpost19.dmm b/_maps/map_files/RandomZLevels/moonoutpost19.dmm index ec655559a1c..3d8d1868c2c 100644 --- a/_maps/map_files/RandomZLevels/moonoutpost19.dmm +++ b/_maps/map_files/RandomZLevels/moonoutpost19.dmm @@ -29,7 +29,7 @@ "ac" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -44,7 +44,7 @@ icon_state = "weeds1" }, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -61,7 +61,7 @@ icon_state = "egg_hatched"; name = "egg" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -76,7 +76,7 @@ icon_state = "weeds2" }, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -95,7 +95,7 @@ icon_state = "egg_hatched"; name = "egg" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -107,7 +107,7 @@ }) "ah" = ( /obj/structure/alien/weeds, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -122,7 +122,7 @@ icon_state = "weeds2" }, /mob/living/simple_animal/hostile/alien, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -135,7 +135,7 @@ "aj" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -154,7 +154,7 @@ icon_state = "egg_hatched"; name = "egg" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -169,7 +169,7 @@ icon_state = "weeds1" }, /obj/structure/bed/nest, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -181,7 +181,7 @@ }) "am" = ( /obj/structure/alien/weeds/node, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -196,7 +196,7 @@ icon_state = "weeds2" }, /obj/structure/bed/nest, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -210,7 +210,7 @@ /obj/structure/alien/weeds{ icon_state = "weeds1" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -233,7 +233,7 @@ color = "red"; icon_state = "gib1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -247,7 +247,7 @@ /obj/structure/alien/weeds{ icon_state = "weeds2" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -263,7 +263,7 @@ }, /obj/structure/alien/resin/wall, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -287,7 +287,7 @@ color = "red"; icon_state = "gib1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -302,7 +302,7 @@ icon_state = "weeds2" }, /mob/living/simple_animal/hostile/alien/sentinel, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -318,7 +318,7 @@ color = "red"; icon_state = "gib2_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -333,7 +333,7 @@ /obj/effect/decal/cleanable/blood{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -395,7 +395,7 @@ "aC" = ( /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -423,7 +423,7 @@ color = "red"; icon_state = "gibdown1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -493,7 +493,7 @@ color = "red"; icon_state = "gib1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -511,7 +511,7 @@ color = "red"; icon_state = "gib2_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -531,7 +531,7 @@ /obj/effect/decal/cleanable/blood{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -546,7 +546,7 @@ /mob/living/simple_animal/hostile/alien/drone{ plants_off = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -619,7 +619,7 @@ pixel_x = 7; pixel_y = -6 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -638,7 +638,7 @@ pixel_x = -16; plants_off = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -714,7 +714,7 @@ name = "Syndicate Outpost" }) "aZ" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -732,7 +732,7 @@ /mob/living/simple_animal/hostile/alien/drone{ plants_off = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -747,7 +747,7 @@ /obj/effect/decal/cleanable/blood{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -838,7 +838,7 @@ /obj/effect/decal/cleanable/blood{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -851,7 +851,7 @@ "bj" = ( /obj/structure/alien/weeds, /mob/living/simple_animal/hostile/alien/sentinel, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -869,7 +869,7 @@ color = "red"; icon_state = "gib2_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -1350,7 +1350,7 @@ "bW" = ( /obj/structure/alien/weeds/node, /mob/living/simple_animal/hostile/alien, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -2150,7 +2150,7 @@ /mob/living/simple_animal/hostile/alien/drone{ plants_off = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -2401,7 +2401,7 @@ pixel_x = -7; pixel_y = -4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2453,7 +2453,7 @@ pixel_x = -3; pixel_y = 9 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2525,7 +2525,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2542,7 +2542,7 @@ on = 1 }, /obj/effect/decal/cleanable/blood/splatter, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2562,7 +2562,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2586,7 +2586,7 @@ }) "dI" = ( /obj/item/storage/bag/ore, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2599,7 +2599,7 @@ }) "dJ" = ( /obj/item/pickaxe/drill, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2644,7 +2644,7 @@ pixel_x = -7; pixel_y = -4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2676,7 +2676,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -2697,7 +2697,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -2709,7 +2709,7 @@ }) "dP" = ( /obj/structure/alien/weeds/node, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2723,7 +2723,7 @@ "dQ" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2739,7 +2739,7 @@ icon_state = "weeds2" }, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2760,7 +2760,7 @@ /mob/living/simple_animal/hostile/alien/drone{ plants_off = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ always_unpowered = 1; has_gravity = 1; @@ -2772,7 +2772,7 @@ }) "dT" = ( /obj/structure/alien/weeds, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2786,7 +2786,7 @@ "dU" = ( /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2801,7 +2801,7 @@ /obj/structure/alien/weeds{ icon_state = "weeds2" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2817,7 +2817,7 @@ icon_state = "weeds1" }, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2832,7 +2832,7 @@ /obj/structure/alien/weeds{ icon_state = "weeds1" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -2845,7 +2845,7 @@ }) "dY" = ( /obj/machinery/light/small, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a2{ has_gravity = 1; name = "MO19 Research" @@ -3608,7 +3608,7 @@ name = "MO19 Research" }) "fj" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_y = 24 }, @@ -5104,7 +5104,7 @@ pixel_y = 0; tag = "" }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 28 }, @@ -5267,7 +5267,7 @@ pixel_x = -4; pixel_y = 2 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_y = 24 }, @@ -5413,7 +5413,7 @@ pixel_x = 0; pixel_y = 0 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 28 }, @@ -5694,7 +5694,7 @@ }) "hW" = ( /obj/machinery/light/small, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -6443,7 +6443,7 @@ "jb" = ( /obj/item/stack/rods, /obj/item/shard, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -6594,7 +6594,7 @@ name = "MO19 Arrivals" }) "jp" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -6762,7 +6762,7 @@ /obj/structure/alien/weeds{ icon_state = "weeds2" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -6778,7 +6778,7 @@ /obj/structure/alien/weeds{ icon_state = "weeds2" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -6794,7 +6794,7 @@ icon_state = "weeds2" }, /obj/structure/alien/weeds/node, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -7560,7 +7560,7 @@ name = "MO19 Arrivals" }) "kK" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_y = -24 }, @@ -7836,7 +7836,7 @@ name = "MO19 Arrivals" }) "ld" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ tag = "icon-swall_f6"; icon_state = "swall_f6"; @@ -7856,7 +7856,7 @@ name = "MO19 Arrivals" }) "lf" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ dir = 3; icon_state = "swall_f10"; @@ -7908,7 +7908,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -7918,7 +7918,7 @@ /obj/item/shard{ icon_state = "small" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -8028,7 +8028,7 @@ name = "MO19 Arrivals" }) "lt" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -8649,7 +8649,7 @@ name = "MO19 Arrivals" }) "mw" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -8870,7 +8870,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8898,7 +8898,7 @@ name = "MO19 Arrivals" }) "mS" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -9043,7 +9043,7 @@ name = "MO19 Arrivals" }) "ne" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ icon_state = "swall_f5"; dir = 2 @@ -9224,7 +9224,7 @@ name = "MO19 Arrivals" }) "nw" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ icon_state = "swall_f9"; dir = 2 @@ -9321,7 +9321,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -9639,7 +9639,7 @@ /obj/item/shard{ icon_state = "small" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -9652,7 +9652,7 @@ }) "of" = ( /obj/item/trash/candy, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -9679,7 +9679,7 @@ }) "oh" = ( /obj/item/pickaxe, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -9737,7 +9737,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); @@ -9752,7 +9752,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); diff --git a/_maps/map_files/RandomZLevels/spacebattle.dmm b/_maps/map_files/RandomZLevels/spacebattle.dmm index 85763845c2b..16acaaacc34 100644 --- a/_maps/map_files/RandomZLevels/spacebattle.dmm +++ b/_maps/map_files/RandomZLevels/spacebattle.dmm @@ -2852,7 +2852,7 @@ /turf/simulated/shuttle/plating, /area/awaymission/spacebattle/syndicate6) "jc" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "jd" = ( /turf/simulated/wall/mineral/plasma, diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm index add5efa4d1c..541156ddc57 100644 --- a/_maps/map_files/RandomZLevels/spacehotel.dmm +++ b/_maps/map_files/RandomZLevels/spacehotel.dmm @@ -20,7 +20,7 @@ }, /area/awaymission/beach) "ad" = ( -/turf/unsimulated/floor/lava/dense, +/turf/simulated/floor/plating/lava/smooth, /area/awaymission) "ae" = ( /turf/unsimulated/wall/metal, @@ -859,9 +859,6 @@ }, /turf/unsimulated/beach/sand, /area/awaymission/beach) -"bD" = ( -/turf/unsimulated/floor/lava, -/area/awaymission) "bE" = ( /obj/effect/decal{ name = "rock"; @@ -1587,7 +1584,7 @@ /turf/unsimulated/beach/coastline/dense, /area/awaymission/beach) "cO" = ( -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission) "cP" = ( /obj/effect/decal/snow/sand/edge{ @@ -1619,7 +1616,7 @@ requires_power = 0 }) "cR" = ( -/obj/machinery/poolcontroller/seacontroller, +/obj/machinery/poolcontroller/invisible/sea, /turf/unsimulated/wall/metal, /area/awaymission/undersea{ requires_power = 0 @@ -1828,7 +1825,7 @@ requires_power = 0 }) "dk" = ( -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -1879,7 +1876,7 @@ icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w" }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -1890,7 +1887,7 @@ light_color = "#ffffc0"; light_power = 2 }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -1906,7 +1903,7 @@ icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e" }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -1949,7 +1946,7 @@ icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n" }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -1965,7 +1962,7 @@ icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e" }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -1981,7 +1978,7 @@ icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n" }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -2049,7 +2046,7 @@ }, /area/awaymission) "dF" = ( -/turf/unsimulated/floor/lava, +/turf/simulated/floor/plating/lava/smooth, /area/awaymission{ name = "Snowland"; requires_power = 0 @@ -2062,12 +2059,6 @@ }, /turf/unsimulated/beach/water/drop/dense, /area/awaymission/beach) -"dH" = ( -/turf/unsimulated/floor/lava/dense, -/area/awaymission{ - name = "Snowland"; - requires_power = 0 - }) "dI" = ( /obj/machinery/light, /turf/unsimulated/beach/water/deep/wood_floor{ @@ -4814,6 +4805,15 @@ icon_state = "cult" }, /area/awaymission/spacehotel) +"VG" = ( +/obj/effect/decal{ + name = "rock"; + icon = 'icons/turf/mining.dmi'; + icon_state = "rock_side_w" + }, +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water/deep/dense, +/area/awaymission/beach) (1,1,1) = {" aa @@ -4842,15 +4842,15 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -4972,15 +4972,15 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5102,15 +5102,15 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5232,15 +5232,15 @@ aa dx dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5363,14 +5363,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5493,14 +5493,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5623,14 +5623,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5753,14 +5753,14 @@ dy dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5883,14 +5883,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6013,14 +6013,14 @@ dk dk dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6143,14 +6143,14 @@ dk dF dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6273,14 +6273,14 @@ dk dF dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6403,14 +6403,14 @@ dk dk dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6533,14 +6533,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6663,14 +6663,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6793,14 +6793,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6923,14 +6923,14 @@ dx dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7053,14 +7053,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7183,14 +7183,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7313,14 +7313,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7443,14 +7443,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7573,14 +7573,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7703,14 +7703,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -10564,7 +10564,7 @@ dC dG dB dB -dB +VG ah ah ah @@ -13274,24 +13274,24 @@ ad ad ad ad -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13404,24 +13404,24 @@ ad ad ad ad -bD -bD -bD +ad +ad +ad bL cq cq cE cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13534,8 +13534,8 @@ ad ad ad ad -bD -bD +ad +ad bL bV bV @@ -13544,14 +13544,14 @@ bV cq cE cO -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13664,7 +13664,7 @@ ad ad ad ad -bD +ad bL bV bV @@ -13674,14 +13674,14 @@ bV bV cV cO -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13794,7 +13794,7 @@ ad ad ad ad -bD +ad bM bV cf @@ -13805,15 +13805,15 @@ cf bV cE cO -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13924,7 +13924,7 @@ ad ad ad ad -bD +ad bM bV bV @@ -13935,15 +13935,15 @@ bV bV cV cO -bD +ad bL dd dd cE cO -bD -bD -bD +ad +ad +ad dJ dL cO @@ -14054,7 +14054,7 @@ ad ad ad ad -bD +ad bN bV bV @@ -14068,7 +14068,7 @@ dd dd cP cO -bD +ad dE cO bL @@ -14184,8 +14184,8 @@ ad ad ad ad -bD -bD +ad +ad bM bV bV @@ -14195,15 +14195,15 @@ bV bV cV cO -bD -bD -bD -bD +ad +ad +ad +ad bN dd cP cO -bD +ad dJ dN cO @@ -14314,8 +14314,8 @@ ad ad ad ad -bD -bD +ad +ad bM cf bV @@ -14325,15 +14325,15 @@ cf bV cP cO -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14444,8 +14444,8 @@ ad ad ad ad -bD -bD +ad +ad bM bV bV @@ -14454,16 +14454,16 @@ bV bV cV cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14574,8 +14574,8 @@ ad ad ad ad -bD -bD +ad +ad bN cg cg @@ -14584,16 +14584,16 @@ bV bV cP cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14704,26 +14704,26 @@ ad ad ad ad -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad bN cg cP cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14834,26 +14834,26 @@ ad ad ad ad -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad diff --git a/_maps/map_files/RandomZLevels/terrorspiders.dmm b/_maps/map_files/RandomZLevels/terrorspiders.dmm index ed0bb019b83..583ae8c74c9 100644 --- a/_maps/map_files/RandomZLevels/terrorspiders.dmm +++ b/_maps/map_files/RandomZLevels/terrorspiders.dmm @@ -11152,7 +11152,7 @@ /turf/simulated/wall, /area/awaymission/UO71/medical) "uW" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission/UO71/outside) "uX" = ( /obj/structure/cable{ @@ -11633,7 +11633,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission/UO71/outside) "vV" = ( /obj/machinery/computer/monitor, @@ -13391,7 +13391,7 @@ /area/awaymission/UO71/loot) "zr" = ( /obj/structure/glowshroom/single, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaymission/UO71/outside) "zs" = ( /turf/simulated/floor/carpet, diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm index 6a59267ed05..c5741039f2b 100644 --- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm @@ -812,7 +812,7 @@ name = "UO45 Central Hall" }) "by" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -1082,7 +1082,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -1096,7 +1096,7 @@ /obj/structure/alien/weeds, /obj/structure/bed/nest, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -1841,7 +1841,7 @@ name = "UO45 Central Hall" }) "do" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_x = 0; pixel_y = 24 @@ -2133,7 +2133,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_x = 0; pixel_y = 24 @@ -2769,7 +2769,7 @@ "eK" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -3171,7 +3171,7 @@ name = "UO45 Central Hall" }) "fo" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -3464,7 +3464,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -3590,7 +3590,7 @@ name = "UO45 Central Hall" }) "fW" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -3708,7 +3708,7 @@ }) "gg" = ( /obj/structure/alien/weeds, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -3930,7 +3930,7 @@ "gC" = ( /obj/structure/alien/resin/wall, /obj/structure/alien/weeds, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -4205,7 +4205,7 @@ name = "UO45 Research" }) "gZ" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_x = 0; pixel_y = 24 @@ -4277,7 +4277,7 @@ }) "he" = ( /obj/structure/glowshroom/single, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -4291,7 +4291,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -4314,7 +4314,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 8; pixel_x = -24 }, @@ -4327,7 +4327,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -5061,7 +5061,7 @@ name = "UO45 Crew Quarters" }) "iq" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 8; pixel_x = -24 }, @@ -5827,7 +5827,7 @@ name = "UO45 Crew Quarters" }) "jw" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 8; pixel_x = -24 }, @@ -6038,7 +6038,7 @@ }) "jM" = ( /obj/machinery/light/small, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a2{ has_gravity = 1; name = "UO45 Crew Quarters" @@ -6080,7 +6080,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ has_gravity = 1; name = "UO45 Research" @@ -6511,7 +6511,7 @@ initialize_directions = 11; tag = "icon-manifold-r-f (EAST)" }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -7046,7 +7046,7 @@ name = "UO45 Crew Quarters" }) "lg" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -7409,7 +7409,7 @@ pixel_x = 0; tag = "" }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -7594,7 +7594,7 @@ icon_state = "pipe-j1"; tag = "icon-pipe-j1 (EAST)" }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -7668,7 +7668,7 @@ name = "UO45 Research" }) "lN" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -8181,7 +8181,7 @@ }) "mz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 8; pixel_x = -24 }, @@ -8241,7 +8241,7 @@ name = "UO45 Gateway" }) "mE" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -8322,7 +8322,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a2{ has_gravity = 1; name = "UO45 Crew Quarters" @@ -9938,7 +9938,7 @@ scrub_N2O = 0; scrub_Toxins = 0 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -10347,7 +10347,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 8; pixel_x = -24 }, @@ -10384,7 +10384,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -10499,21 +10499,21 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a2{ has_gravity = 1; name = "UO45 Crew Quarters" }) "pw" = ( /obj/machinery/light/small, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a6{ has_gravity = 1; name = "UO45 Gateway" }) "px" = ( /obj/machinery/light/small, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ has_gravity = 1; name = "UO45 Research" @@ -10893,7 +10893,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a6{ has_gravity = 1; name = "UO45 Gateway" @@ -11212,7 +11212,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -11226,7 +11226,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 6 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -11240,7 +11240,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ has_gravity = 1; name = "UO45 Engineering" @@ -11386,7 +11386,7 @@ /obj/item/storage/toolbox/mechanical{ pixel_y = 5 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_x = 0; pixel_y = 24 @@ -11735,7 +11735,7 @@ name = "UO45 Engineering" }) "rj" = ( -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 2; pixel_x = 0; pixel_y = 24 @@ -12914,7 +12914,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -13956,7 +13956,7 @@ }) "uc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/purple, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -14766,7 +14766,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/purple{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -15090,7 +15090,7 @@ /obj/machinery/atmospherics/unary/outlet_injector/on{ dir = 4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a3{ has_gravity = 1; name = "UO45 Engineering" @@ -15179,7 +15179,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 1; pixel_x = 0; pixel_y = -24 @@ -15448,7 +15448,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 9 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16281,7 +16281,7 @@ }) "xp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/firealarm{ +/obj/machinery/firealarm/no_alarm{ dir = 4; pixel_x = 24 }, @@ -16671,7 +16671,7 @@ }, /obj/structure/bed/nest, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16690,7 +16690,7 @@ /obj/effect/decal/cleanable/blood/splatter{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16704,7 +16704,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a2{ has_gravity = 1; name = "UO45 Crew Quarters" @@ -16716,7 +16716,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16730,7 +16730,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a5{ has_gravity = 1; name = "UO45 Research" @@ -16739,7 +16739,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a4{ has_gravity = 1; name = "UO45 Mining" @@ -16748,14 +16748,14 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a4{ has_gravity = 1; name = "UO45 Mining" }) "ym" = ( /obj/structure/ore_box, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16767,7 +16767,7 @@ }) "yn" = ( /obj/structure/closet/crate, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16783,7 +16783,7 @@ icon_state = "weeds1" }, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16799,7 +16799,7 @@ icon_state = "weeds2" }, /obj/structure/glowshroom/single, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16815,7 +16815,7 @@ icon_state = "weeds2" }, /obj/structure/bed/nest, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16834,7 +16834,7 @@ color = "red"; icon_state = "gib2_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16849,7 +16849,7 @@ tag = "icon-weeds2"; icon_state = "weeds2" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16864,7 +16864,7 @@ color = "red" }, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16880,7 +16880,7 @@ icon_state = "weeds1" }, /obj/structure/glowshroom/single, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16893,7 +16893,7 @@ "yv" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16914,7 +16914,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16929,7 +16929,7 @@ /obj/effect/decal/cleanable/blood/splatter{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16944,7 +16944,7 @@ tag = "icon-weeds1"; icon_state = "weeds1" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16956,7 +16956,7 @@ }) "yz" = ( /obj/structure/alien/resin/membrane, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16975,7 +16975,7 @@ color = "red" }, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -16993,7 +16993,7 @@ /obj/effect/decal/cleanable/blood/splatter{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17008,7 +17008,7 @@ color = "red"; icon_state = "gib1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17030,7 +17030,7 @@ icon_state = "tracks" }, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17043,7 +17043,7 @@ "yE" = ( /obj/structure/alien/weeds, /obj/effect/mob_spawn/human/miner, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17058,7 +17058,7 @@ color = "red"; icon_state = "gibdown1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17080,7 +17080,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17099,7 +17099,7 @@ icon = 'icons/effects/blood.dmi'; icon_state = "tracks" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17113,7 +17113,7 @@ /obj/effect/decal/cleanable/blood/splatter{ color = "red" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; @@ -17129,7 +17129,7 @@ color = "red"; icon_state = "gibdown1_flesh" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/awaycontent/a7{ always_unpowered = 1; has_gravity = 1; diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 7596727d426..bed79c4f587 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -6588,8 +6588,8 @@ d2 = 2 }, /obj/machinery/power/tracker, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "alE" = ( /obj/structure/closet/secure_closet/brig, @@ -7012,8 +7012,8 @@ pixel_y = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "amp" = ( /obj/structure/chair{ @@ -7391,8 +7391,8 @@ d2 = 2 }, /obj/machinery/power/tracker, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "amV" = ( /obj/structure/sign/nosmoking_2, @@ -7544,8 +7544,8 @@ /area/security/permabrig) "ann" = ( /obj/structure/cable, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "ano" = ( /obj/structure/cable{ @@ -7791,8 +7791,8 @@ pixel_y = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "anH" = ( /turf/simulated/wall/r_wall, @@ -8469,8 +8469,8 @@ icon_state = "2-4"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "aoL" = ( /obj/structure/cable{ @@ -8845,8 +8845,8 @@ icon_state = "1-2"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "apo" = ( /obj/structure/grille/broken, @@ -9768,8 +9768,8 @@ }, /area/lawoffice) "aqZ" = ( +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "ara" = ( /obj/structure/table/reinforced, @@ -9796,8 +9796,8 @@ /area/lawoffice) "arb" = ( /obj/structure/cable, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "arc" = ( /obj/effect/spawner/window/reinforced, @@ -10307,8 +10307,8 @@ icon_state = "2-4"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "arM" = ( /obj/structure/cable{ @@ -10330,16 +10330,16 @@ icon_state = "2-4"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "arN" = ( /obj/structure/cable{ d2 = 8; icon_state = "0-8" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "arO" = ( /obj/structure/cable{ @@ -10411,8 +10411,8 @@ icon_state = "0-4"; d2 = 4 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "arV" = ( /obj/structure/shuttle/engine/propulsion{ @@ -10467,8 +10467,8 @@ /turf/simulated/shuttle/floor, /area/shuttle/trade/sol) "asb" = ( +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "asc" = ( /obj/effect/spawner/random_barrier/obstruction, @@ -11025,8 +11025,8 @@ icon_state = "1-8"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "asM" = ( /obj/structure/cable{ @@ -11041,8 +11041,8 @@ icon_state = "1-8"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "asN" = ( /turf/simulated/floor/carpet, @@ -13086,8 +13086,8 @@ pixel_y = -25; req_access_txt = "13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "avN" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -13434,8 +13434,8 @@ pixel_y = 1; d2 = 2 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxport) "awl" = ( /turf/simulated/wall, @@ -13729,16 +13729,16 @@ d2 = 4; icon_state = "2-4" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "awR" = ( /obj/structure/cable{ d2 = 8; icon_state = "0-8" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "awS" = ( /obj/item/twohanded/required/kirbyplants, @@ -14016,8 +14016,8 @@ icon_state = "1-2"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "axr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -14826,8 +14826,8 @@ icon_state = "1-2"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/auxstarboard) "ayF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -15170,8 +15170,8 @@ pixel_y = -25; req_access_txt = "13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "azc" = ( /obj/effect/spawner/window/reinforced, @@ -16536,8 +16536,8 @@ pixel_y = 0; req_access_txt = "13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "aBy" = ( /obj/effect/landmark/damageturf, @@ -17671,7 +17671,7 @@ /obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -5 }, -/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/glass/beaker/waterbottle, /turf/simulated/floor/plating, /area/maintenance/fpmaint2) "aDE" = ( @@ -18254,8 +18254,8 @@ pixel_y = -25; req_access_txt = "13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "aEN" = ( /obj/structure/closet/emcloset, @@ -18969,7 +18969,7 @@ /area/crew_quarters/courtroom) "aGr" = ( /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/glass/beaker/waterbottle, /turf/simulated/floor/plasteel{ icon_state = "red"; dir = 4 @@ -20138,7 +20138,7 @@ /area/crew_quarters/courtroom) "aIX" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/waterbottle{ +/obj/item/reagent_containers/glass/beaker/waterbottle{ pixel_x = 5 }, /obj/item/reagent_containers/food/drinks/drinkingglass{ @@ -22042,7 +22042,7 @@ /obj/item/reagent_containers/food/drinks/drinkingglass{ pixel_x = -5 }, -/obj/item/reagent_containers/food/drinks/waterbottle{ +/obj/item/reagent_containers/glass/beaker/waterbottle{ pixel_x = 5 }, /turf/simulated/floor/carpet, @@ -22758,7 +22758,7 @@ /area/maintenance/fpmaint) "aOw" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/waterbottle{ +/obj/item/reagent_containers/glass/beaker/waterbottle{ pixel_x = 5 }, /obj/item/reagent_containers/food/drinks/drinkingglass{ @@ -58234,6 +58234,9 @@ d2 = 4; icon_state = "0-4" }, +/obj/effect/landmark/start{ + name = "Shaft Miner" + }, /turf/simulated/floor/plasteel, /area/quartermaster/miningdock) "cbI" = ( @@ -60241,6 +60244,9 @@ /area/quartermaster/miningdock) "cfc" = ( /obj/machinery/hologram/holopad, +/obj/effect/landmark/start{ + name = "Shaft Miner" + }, /turf/simulated/floor/plasteel, /area/quartermaster/miningdock) "cfd" = ( @@ -61188,6 +61194,7 @@ }, /area/shuttle/mining) "cgG" = ( +/obj/structure/closet/wardrobe/miner, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "brown" @@ -63466,6 +63473,9 @@ pixel_x = 24 }, /obj/structure/disposalpipe/segment, +/obj/effect/landmark/start{ + name = "Shaft Miner" + }, /turf/simulated/floor/plasteel, /area/quartermaster/miningdock) "ckp" = ( @@ -65125,7 +65135,7 @@ /turf/simulated/wall, /area/toxins/test_area) "cnl" = ( -/obj/structure/closet/wardrobe/miner, +/obj/structure/closet/wardrobe/miner/lavaland, /turf/simulated/floor/plasteel{ dir = 2; icon_state = "brown" @@ -66609,8 +66619,8 @@ icon_state = "2-4"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cpA" = ( /obj/effect/decal/warning_stripes/southwestcorner, @@ -72258,8 +72268,8 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "cyO" = ( +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cyP" = ( /obj/effect/spawner/random_barrier/obstruction, @@ -74237,9 +74247,7 @@ /area/toxins/test_area) "cCw" = ( /obj/machinery/igniter{ - icon_state = "igniter0"; - id = "Incinerator"; - on = 0 + id = "Incinerator" }, /turf/simulated/floor/engine/insulated, /area/maintenance/incinerator) @@ -79927,8 +79935,8 @@ icon_state = "1-2"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cMC" = ( /obj/effect/landmark{ @@ -80474,8 +80482,8 @@ dir = 10; level = 2 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "cNF" = ( /obj/structure/cable{ @@ -81480,13 +81488,13 @@ /area/assembly/assembly_line) "cPw" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "cPx" = ( /obj/structure/cable, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cPy" = ( /obj/structure/table/reinforced, @@ -81533,8 +81541,8 @@ icon_state = "0-4"; d2 = 4 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cPD" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ @@ -81579,24 +81587,24 @@ icon_state = "4-8"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cPH" = ( /obj/structure/cable{ d2 = 8; icon_state = "0-8" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cPI" = ( /obj/structure/cable{ icon_state = "0-4"; d2 = 4 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cPJ" = ( /obj/structure/table, @@ -81779,8 +81787,8 @@ icon_state = "4-8"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cQb" = ( /obj/machinery/particle_accelerator/control_box, @@ -81914,8 +81922,8 @@ icon_state = "0-2"; d2 = 2 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cQr" = ( /obj/structure/disposalpipe/segment{ @@ -82428,8 +82436,8 @@ icon_state = "1-2"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cRf" = ( /obj/machinery/door/poddoor{ @@ -83123,8 +83131,8 @@ icon_state = "1-4"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/port) "cSl" = ( /obj/machinery/atmospherics/unary/vent_pump/on, @@ -84098,8 +84106,8 @@ pixel_y = 8; req_access_txt = "13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "cTS" = ( /obj/effect/landmark/burnturf, @@ -84144,8 +84152,8 @@ /turf/simulated/floor/plasteel, /area/maintenance/turbine) "cTW" = ( +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "cTX" = ( /obj/structure/cable{ @@ -86755,8 +86763,8 @@ pixel_x = -25; pixel_y = -8 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "cYA" = ( /obj/structure/cable{ @@ -89326,8 +89334,8 @@ pixel_y = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddB" = ( /obj/structure/disposalpipe/segment{ @@ -89340,13 +89348,13 @@ /obj/structure/transit_tube{ icon_state = "E-W-Pass" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, -/area/space/nearstation) +/area/space) "ddD" = ( /obj/item/wrench, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "ddE" = ( /obj/structure/cable{ @@ -89356,8 +89364,8 @@ pixel_y = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddF" = ( /obj/structure/sign/biohazard{ @@ -89419,21 +89427,21 @@ pixel_y = 25; req_access_txt = "75;13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "ddN" = ( /obj/structure/cable, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddO" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 6; level = 2 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "ddP" = ( /obj/structure/cable{ @@ -89448,8 +89456,8 @@ icon_state = "1-4"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddQ" = ( /obj/structure/cable{ @@ -89471,16 +89479,16 @@ pixel_x = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddR" = ( /obj/structure/cable{ d2 = 8; icon_state = "0-8" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddS" = ( /obj/structure/particle_accelerator/fuel_chamber, @@ -89491,8 +89499,8 @@ icon_state = "0-4"; d2 = 4 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddU" = ( /obj/structure/cable{ @@ -89514,8 +89522,8 @@ pixel_x = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddV" = ( /obj/structure/cable{ @@ -89530,8 +89538,8 @@ icon_state = "2-8"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "ddW" = ( /obj/structure/shuttle/engine/propulsion/burst{ @@ -89554,11 +89562,8 @@ pixel_y = 25; req_access_txt = "13" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk0"; - icon_state = "catwalk0" - }, /area/space/nearstation) "ddY" = ( /obj/structure/shuttle/engine/propulsion/burst{ @@ -89603,8 +89608,8 @@ d2 = 8; icon_state = "2-8" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "dec" = ( /obj/machinery/atmospherics/pipe/manifold/visible, @@ -89615,8 +89620,8 @@ icon_state = "0-2"; d2 = 2 }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "dee" = ( /obj/structure/cable{ @@ -89626,8 +89631,8 @@ pixel_x = 0; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "def" = ( /obj/structure/cable{ @@ -89648,14 +89653,14 @@ icon_state = "1-2"; tag = "" }, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "deg" = ( /obj/structure/cable, /obj/machinery/power/tracker, +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/solar/starboard) "deh" = ( /obj/machinery/space_heater, @@ -93819,8 +93824,8 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint2) "dmo" = ( +/obj/structure/lattice/catwalk, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, /area/space/nearstation) "dmp" = ( /obj/structure/table, @@ -93943,9 +93948,7 @@ tag = "" }, /obj/machinery/igniter{ - icon_state = "igniter0"; - id = "gasturbine"; - on = 0 + id = "gasturbine" }, /turf/simulated/floor/engine/insulated, /area/maintenance/turbine) @@ -95146,13 +95149,6 @@ /obj/item/crowbar, /turf/simulated/floor/wood, /area/crew_quarters/captain) -"doE" = ( -/turf/space, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk0"; - icon_state = "catwalk0" - }, -/area/space/nearstation) "doF" = ( /turf/simulated/floor/plating, /area/toxins/launch{ @@ -96604,6 +96600,15 @@ icon_state = "floor4" }, /area/shuttle/administration) +"qnV" = ( +/obj/effect/landmark/start{ + name = "Shaft Miner" + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "brown" + }, +/area/quartermaster/miningdock) "qUv" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/space, @@ -118186,7 +118191,7 @@ cam cgH cit ckn -ckn +qnV cnm cam cgQ @@ -118441,7 +118446,7 @@ cam cam cam cgG -cfb +cir cfb cnG cnl @@ -142401,7 +142406,7 @@ dnR dnS dnX dom -doE +dmo aab aaa aaa @@ -142658,7 +142663,7 @@ bZZ bZZ bZZ bZZ -doE +dmo aab aaa aaa @@ -149057,7 +149062,7 @@ aaa aab aaa aaa -doE +dmo aab aaa aaa @@ -149314,7 +149319,7 @@ aaa aab aaa aaa -doE +dmo aab aaa aaa @@ -149822,7 +149827,7 @@ aaa aaa aaa aaa -doE +dmo aaa aaa aaa @@ -150079,7 +150084,7 @@ aaa aaa aaa aaa -doE +dmo aaa aaa aaa @@ -150336,7 +150341,7 @@ aaa aaa aaa aaa -doE +dmo aaa aaa aaa @@ -150593,7 +150598,7 @@ aaa aaa aaa aaa -doE +dmo aaa aaa aaa @@ -150850,7 +150855,7 @@ aaa aaa aaa aaa -doE +dmo aaa aaa aaa @@ -151107,7 +151112,7 @@ aaa aaa aaa aaa -doE +dmo aaa aaa aaa diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index dda71eb7e09..7a43bfc098b 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -3499,7 +3499,7 @@ /turf/unsimulated/wall, /area/tdome/arena) "jb" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plasteel, /area/tdome/arena) "jc" = ( @@ -4426,7 +4426,7 @@ /turf/unsimulated/wall, /area/tdome/arena_source) "lD" = ( -/obj/machinery/igniter, +/obj/machinery/igniter/on, /turf/simulated/floor/plasteel, /area/tdome/arena_source) "lE" = ( @@ -12566,6 +12566,10 @@ /obj/effect/landmark/ai_multicam_room, /turf/unsimulated/ai_visible, /area/ai_multicam_room) +"Qt" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/ninja/holding) "QE" = ( /obj/structure/chair/sofa/right, /turf/simulated/shuttle/floor{ @@ -54450,7 +54454,7 @@ fI fH fH he -hv +Qt fg aN aN diff --git a/_maps/map_files/cyberiad/z3.dmm b/_maps/map_files/cyberiad/z3.dmm index 4dd47bcb4be..be3d4769341 100644 --- a/_maps/map_files/cyberiad/z3.dmm +++ b/_maps/map_files/cyberiad/z3.dmm @@ -357,7 +357,7 @@ /turf/simulated/mineral/random, /area/mine/dangerous/explored/golem) "aJ" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored/golem) "aK" = ( /turf/simulated/mineral/random/high_chance, diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm index 7e2b21f0e3a..531ef1f4dfb 100644 --- a/_maps/map_files/cyberiad/z4.dmm +++ b/_maps/map_files/cyberiad/z4.dmm @@ -846,38 +846,23 @@ /area/constructionsite/hallway/center) "cl" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk6"; - icon_state = "catwalk6" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cm" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cn" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk14"; - icon_state = "catwalk14" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "co" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cp" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk10"; - icon_state = "catwalk10" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cq" = ( /obj/structure/inflatable/door, @@ -885,17 +870,11 @@ /area/constructionsite/hallway/center) "cr" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk3"; - icon_state = "catwalk3" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cs" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk3"; - icon_state = "catwalk3" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "ct" = ( /obj/machinery/power/solar, @@ -914,10 +893,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk3"; - icon_state = "catwalk3" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cv" = ( /obj/machinery/power/tracker, @@ -941,10 +917,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk3"; - icon_state = "catwalk3" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cx" = ( /obj/machinery/power/solar, @@ -983,10 +956,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk3"; - icon_state = "catwalk3" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cB" = ( /obj/structure/cable{ @@ -1005,10 +975,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk3"; - icon_state = "catwalk3" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cC" = ( /turf/simulated/wall/r_wall, @@ -1080,17 +1047,11 @@ /area/constructionsite/ai) "cL" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk6"; - icon_state = "catwalk6" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cM" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk9"; - icon_state = "catwalk9" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cN" = ( /obj/structure/cable{ @@ -1104,10 +1065,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk1"; - icon_state = "catwalk1" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cO" = ( /obj/structure/cable{ @@ -1126,24 +1084,15 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk1"; - icon_state = "catwalk1" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cP" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk5"; - icon_state = "catwalk5" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cQ" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk10"; - icon_state = "catwalk10" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "cR" = ( /obj/machinery/light_switch{ @@ -1160,10 +1109,7 @@ /area/engiestation) "cT" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk1"; - icon_state = "catwalk1" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "cU" = ( /obj/structure/lattice, @@ -1326,10 +1272,7 @@ /area/constructionsite/ai) "do" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk7"; - icon_state = "catwalk7" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dp" = ( /obj/structure/cable{ @@ -1343,10 +1286,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dq" = ( /obj/structure/cable{ @@ -1366,10 +1306,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dr" = ( /obj/structure/cable{ @@ -1389,10 +1326,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk8"; - icon_state = "catwalk8" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "ds" = ( /obj/effect/spawner/window/reinforced, @@ -1504,10 +1438,7 @@ pixel_x = 0 }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk4"; - icon_state = "catwalk4" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dz" = ( /obj/structure/cable{ @@ -1527,10 +1458,7 @@ pixel_x = 0 }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dA" = ( /obj/structure/cable{ @@ -1544,17 +1472,11 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dB" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk11"; - icon_state = "catwalk11" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dC" = ( /obj/machinery/recharge_station, @@ -1708,10 +1630,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dT" = ( /obj/structure/cable{ @@ -1726,10 +1645,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dU" = ( /obj/structure/cable{ @@ -1744,10 +1660,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk8"; - icon_state = "catwalk8" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "dV" = ( /obj/structure/cable{ @@ -1804,10 +1717,7 @@ pixel_x = 0 }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk4"; - icon_state = "catwalk4" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "eb" = ( /obj/structure/cable{ @@ -1822,10 +1732,7 @@ pixel_x = 0 }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "ec" = ( /obj/structure/cable{ @@ -1834,10 +1741,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk12"; - icon_state = "catwalk12" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "ed" = ( /obj/item/stack/sheet/metal{ @@ -1978,10 +1882,7 @@ /area/engiestation) "em" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk1"; - icon_state = "catwalk1" - }, +/obj/structure/lattice/catwalk, /area/engiestation/solars) "en" = ( /obj/machinery/vending/tool, @@ -2020,10 +1921,7 @@ /area/constructionsite/ai) "es" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk9"; - icon_state = "catwalk9" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "et" = ( /obj/machinery/door/airlock/maintenance{ @@ -2332,10 +2230,7 @@ /area/engiestation) "fi" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk2"; - icon_state = "catwalk2" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "fj" = ( /obj/machinery/vending/cola, @@ -2636,18 +2531,12 @@ /area/engiestation) "fQ" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk5"; - icon_state = "catwalk5" - }, -/area/space/nearstation) +/obj/structure/lattice/catwalk, +/area/space) "fR" = ( /obj/item/lighter/zippo, /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk8"; - icon_state = "catwalk8" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "fS" = ( /obj/machinery/shower{ @@ -2742,10 +2631,7 @@ /area/engiestation) "gc" = ( /turf/simulated/floor/plating/airless, -/turf/simulated/floor/plating/airless/catwalk{ - tag = "icon-catwalk4"; - icon_state = "catwalk4" - }, +/obj/structure/lattice/catwalk, /area/space/nearstation) "gd" = ( /obj/structure/lattice, diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm index 59389f18e75..86b1bb9cc7f 100644 --- a/_maps/map_files/cyberiad/z6.dmm +++ b/_maps/map_files/cyberiad/z6.dmm @@ -16,7 +16,7 @@ /area/djstation/solars) "ad" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/space/nearstation) "ae" = ( /obj/structure/lattice, @@ -77,7 +77,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation/solars) "ao" = ( /obj/structure/grille{ @@ -94,7 +94,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation/solars) "aq" = ( /obj/structure/cable{ @@ -126,7 +126,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation) "at" = ( /obj/structure/lattice, @@ -313,7 +313,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation) "aR" = ( /obj/structure/cable{ @@ -332,7 +332,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation/solars) "aS" = ( /obj/structure/cable{ @@ -341,7 +341,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation/solars) "aT" = ( /obj/structure/cable{ @@ -360,7 +360,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation/solars) "aU" = ( /obj/item/storage/toolbox/mechanical{ @@ -387,7 +387,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/djstation) "aW" = ( /turf/simulated/floor/plasteel{ @@ -4603,7 +4603,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "jL" = ( /obj/structure/table/wood, @@ -5361,7 +5361,7 @@ invisibility = 100; location = "SDNE" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "lq" = ( /obj/structure/chair/office/light, @@ -5467,7 +5467,7 @@ name = "Derelict Annex" }) "lE" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ icon_state = "swall_f5"; dir = 2 @@ -5495,7 +5495,7 @@ }, /area/syndicate_depot/outer) "lK" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "lL" = ( /turf/simulated/floor/plating/airless, @@ -5624,7 +5624,7 @@ /obj/effect/landmark{ name = "syndi_depot_bot" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "mc" = ( /obj/machinery/light{ @@ -5652,11 +5652,11 @@ /area/syndicate_depot/outer) "mf" = ( /obj/effect/spawner/random_spawners/syndicate/turret/external, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "mg" = ( /obj/machinery/light, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "mh" = ( /obj/machinery/light{ @@ -5673,7 +5673,7 @@ dir = 4; icon_state = "tube1" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "mj" = ( /obj/machinery/navbeacon/invisible{ @@ -5681,7 +5681,7 @@ invisibility = 100; location = "SDNW" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "mk" = ( /obj/structure/table, @@ -5704,7 +5704,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "mo" = ( /obj/item/shard, @@ -5776,7 +5776,7 @@ }, /area/space/nearstation) "my" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/shuttle/wall{ tag = "icon-swall_f9"; icon_state = "swall_f9"; @@ -5856,7 +5856,7 @@ /turf/simulated/mineral, /area/space/nearstation) "mI" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "mJ" = ( /obj/effect/decal/cleanable/blood, @@ -5934,7 +5934,7 @@ /area/syndicate_depot/core) "mT" = ( /obj/item/shard, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "mU" = ( /obj/structure/closet/crate, @@ -5984,7 +5984,7 @@ /obj/item/shard{ icon_state = "small" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "nc" = ( /obj/item/stack/ore/bananium, @@ -6266,7 +6266,7 @@ /obj/structure/chair{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "nO" = ( /obj/effect/mob_spawn/human/clown/corpse{ @@ -6525,7 +6525,7 @@ dir = 1; on = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "oy" = ( /obj/structure/cable{ @@ -6694,7 +6694,7 @@ icon_state = "1-2" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "oT" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -6782,7 +6782,7 @@ invisibility = 100; location = "SDSW" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "pe" = ( /obj/machinery/power/apc/noalarm{ @@ -6817,7 +6817,7 @@ invisibility = 100; location = "SDSE" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/outer) "pi" = ( /obj/structure/sign/poster/official/obey, @@ -6870,7 +6870,7 @@ /area/syndicate_depot/core) "pq" = ( /obj/effect/spawner/random_spawners/blood_maybe, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/core) "pr" = ( /obj/structure/closet/crate/can, @@ -6936,13 +6936,13 @@ "pw" = ( /obj/item/candle, /obj/structure/table, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/core) "px" = ( /obj/structure/chair{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/core) "py" = ( /obj/structure/chair{ @@ -6972,7 +6972,7 @@ /turf/simulated/floor/plasteel, /area/derelict/crew_quarters) "pC" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/syndicate_depot/core) "pD" = ( /obj/structure/falsewall, @@ -7752,7 +7752,7 @@ icon_state = "4-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "rn" = ( /obj/structure/cable{ @@ -7766,7 +7766,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "ro" = ( /obj/structure/window/reinforced, @@ -7994,7 +7994,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "rG" = ( /obj/structure/closet/crate/secure/loot, @@ -8030,7 +8030,7 @@ /area/derelict/crew_quarters) "rJ" = ( /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "rK" = ( /obj/machinery/power/tracker, @@ -8273,7 +8273,7 @@ icon_state = "2-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "si" = ( /obj/structure/cable{ @@ -9007,7 +9007,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "tF" = ( /obj/structure/sign/greencross, @@ -9041,7 +9041,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "tI" = ( /obj/structure/cable{ @@ -9564,7 +9564,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "uJ" = ( /turf/space, @@ -9896,7 +9896,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "vn" = ( /obj/item/shard{ @@ -10463,7 +10463,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "wm" = ( /obj/structure/cable{ @@ -10477,7 +10477,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "wn" = ( /obj/structure/closet/jcloset, @@ -10503,7 +10503,7 @@ icon_state = "2-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "wp" = ( /obj/structure/cable{ @@ -10522,7 +10522,7 @@ icon_state = "1-4" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "wq" = ( /obj/structure/cable{ @@ -10541,7 +10541,7 @@ icon_state = "1-8" }, /turf/space, -/turf/simulated/floor/plating/airless/catwalk, +/obj/structure/lattice/catwalk, /area/derelict/solar_control) "wr" = ( /obj/docking_port/stationary{ diff --git a/_maps/map_files/generic/Lavaland.dmm b/_maps/map_files/generic/Lavaland.dmm new file mode 100644 index 00000000000..142bbcff5f7 --- /dev/null +++ b/_maps/map_files/generic/Lavaland.dmm @@ -0,0 +1,69821 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/simulated/wall/indestructible/boss, +/area/lavaland/surface/outdoors) +"ab" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ac" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"ad" = ( +/turf/simulated/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors) +"ae" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"af" = ( +/obj/structure/necropolis_gate/legion_gate, +/obj/structure/necropolis_arch{ + pixel_y = -40 + }, +/obj/structure/stone_tile/slab, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"ag" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ah" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ai" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"aj" = ( +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"ak" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors/unexplored/danger) +"al" = ( +/turf/simulated/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors/unexplored/danger) +"am" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors/unexplored) +"an" = ( +/turf/simulated/mineral/random/labormineral/volcanic, +/area/lavaland/surface/outdoors) +"ao" = ( +/obj/machinery/computer/shuttle/labor/one_way{ + icon_state = "computer"; + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"ap" = ( +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"aq" = ( +/turf/simulated/wall, +/area/mine/laborcamp) +"ar" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"as" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"at" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/camera{ + c_tag = "Labor Camp Medical"; + dir = 8; + network = list("Labor Camp") + }, +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"au" = ( +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/safety, +/obj/item/flashlight/lantern, +/obj/item/clothing/glasses/meson, +/obj/item/mining_scanner, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"av" = ( +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/flashlight/lantern, +/obj/item/pickaxe/safety, +/obj/item/clothing/glasses/meson, +/obj/item/mining_scanner, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aw" = ( +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"ax" = ( +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"ay" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"az" = ( +/turf/simulated/floor/bluegrid, +/area/mine/maintenance) +"aA" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aB" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary" + }, +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"aC" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/emergency_oxygen, +/obj/item/tank/emergency_oxygen, +/obj/item/tank/emergency_oxygen, +/obj/item/tank/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aD" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"aE" = ( +/obj/item/radio/intercom/locked/prison{ + dir = 2; + pixel_y = 24 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aF" = ( +/obj/machinery/door/airlock{ + name = "Labor Camp Storage" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aG" = ( +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/kitchen/utensil/fork, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aH" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aI" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"aJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aK" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aL" = ( +/obj/machinery/door/airlock{ + name = "Vending" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aM" = ( +/obj/machinery/light/small, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"aO" = ( +/obj/machinery/camera{ + c_tag = "Labor Camp External"; + dir = 4; + network = list("Labor Camp") + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"aP" = ( +/obj/machinery/vending/sustenance, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aQ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aR" = ( +/obj/machinery/shower{ + dir = 8 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/laborcamp) +"aS" = ( +/obj/machinery/mineral/unloading_machine{ + dir = 1; + icon_state = "unloader-corner"; + input_dir = 1; + output_dir = 2 + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"aT" = ( +/obj/structure/ore_box, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"aU" = ( +/obj/machinery/flasher{ + id = "labor" + }, +/turf/simulated/wall, +/area/mine/laborcamp) +"aV" = ( +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"aW" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "gulag" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"aX" = ( +/obj/structure/closet/crate, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"aY" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door_control{ + id = "miningdorm1"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 0; + specialfunctions = 4 + }, +/turf/simulated/floor/carpet, +/area/mine/living_quarters) +"aZ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/door_control{ + id = "Labor"; + name = "Labor Camp Lockdown"; + pixel_x = 0; + pixel_y = 25; + req_access_txt = "2" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"ba" = ( +/obj/machinery/door/poddoor/preopen{ + id_tag = "Labor"; + name = "labor camp blast door" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Cockpit"; + req_access_txt = "2" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bb" = ( +/obj/machinery/camera{ + c_tag = "Labor Camp Central"; + network = list("Labor Camp") + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bc" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "gulag" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bd" = ( +/obj/machinery/mineral/processing_unit_console{ + dir = 2; + machinedir = 4 + }, +/turf/simulated/wall, +/area/mine/laborcamp) +"be" = ( +/obj/machinery/mineral/processing_unit{ + dir = 1; + output_dir = 2 + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"bf" = ( +/turf/simulated/wall, +/area/mine/eva) +"bg" = ( +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/mine/eva) +"bh" = ( +/obj/machinery/computer/secure_data{ + icon_state = "computer"; + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp/security) +"bi" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door_control{ + id = "miningdorm2"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 0; + specialfunctions = 4 + }, +/turf/simulated/floor/carpet, +/area/mine/living_quarters) +"bj" = ( +/obj/machinery/status_display{ + pixel_y = 32 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bk" = ( +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bl" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "gulag" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"bm" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "gulag" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"bn" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bo" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/door_control{ + id = "miningbathroom"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -24; + specialfunctions = 4 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"bp" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bq" = ( +/turf/simulated/wall, +/area/mine/production) +"br" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door_control{ + id = "miningdorm3"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 0; + specialfunctions = 4 + }, +/turf/simulated/floor/carpet, +/area/mine/living_quarters) +"bs" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bt" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bu" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bv" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/eva) +"bw" = ( +/obj/machinery/alarm{ + pixel_y = 23 + }, +/obj/machinery/computer/shuttle/mining{ + req_access = null + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"bx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"by" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bA" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Backroom"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bB" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Labor Camp APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bC" = ( +/obj/structure/closet/crate, +/obj/item/dice/d4, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"bD" = ( +/obj/machinery/camera{ + c_tag = "EVA"; + dir = 4; + network = list("Mining Outpost") + }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bE" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bF" = ( +/obj/effect/spawner/window, +/turf/simulated/floor/plating, +/area/mine/eva) +"bG" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bH" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bI" = ( +/obj/effect/turf_decal/tile/purple, +/obj/structure/dispenser/oxygen, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bJ" = ( +/obj/effect/spawner/window/reinforced, +/obj/structure/sign/securearea{ + name = "\improper KEEP CLEAR: DOCKING AREA" + }, +/turf/simulated/floor/plating, +/area/mine/production) +"bK" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + id_tag = "mining"; + pixel_y = 25; + tag_exterior_door = "mining_outer"; + tag_interior_door = "mining_inner" + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bL" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Monitoring"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"bM" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Labor Camp Maintenance"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"bN" = ( +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/mine/production) +"bO" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 2; + height = 5; + id = "laborcamp_away"; + name = "labor camp"; + turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface; + width = 9 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"bP" = ( +/obj/item/radio/beacon, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"bQ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"bR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"bS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Station EVA"; + req_access_txt = "54" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bT" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/production) +"bU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bX" = ( +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1379; + master_tag = "mining"; + name = "interior access button"; + pixel_x = 25; + pixel_y = 25; + req_access_txt = null + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bY" = ( +/turf/simulated/floor/plasteel, +/area/mine/eva) +"bZ" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors/explored) +"ca" = ( +/turf/simulated/wall, +/area/mine/laborcamp/security) +"cb" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 25 + }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp/security) +"cc" = ( +/obj/structure/chair/office, +/obj/structure/cable{ + icon_state = "1-4" + }, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "Powered by the tears and sweat of laborers."; + name = "Prison Ofitser" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp/security) +"cd" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/machinery/power/apc{ + dir = 4; + name = "Labor Camp Security APC"; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Labor Camp Monitoring"; + network = list("Labor Camp") + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp/security) +"ce" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"cf" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"cg" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"ch" = ( +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"ci" = ( +/obj/machinery/computer/prisoner{ + icon_state = "computer"; + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp/security) +"cj" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + glass = 1; + id_tag = "mining_inner"; + locked = 1; + name = "Mining External Airlock"; + opacity = 0; + req_access_txt = "54" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"ck" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"cl" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cm" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cn" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"co" = ( +/obj/machinery/power/apc{ + dir = 2; + name = "Mining EVA APC"; + pixel_x = 1; + pixel_y = -23 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"cp" = ( +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"cq" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"cr" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"cs" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"ct" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cu" = ( +/obj/item/pickaxe, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cv" = ( +/obj/structure/ore_box, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cx" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cy" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"cz" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"cA" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-9" + }, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"cB" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"cC" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/mine/laborcamp) +"cD" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cF" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cG" = ( +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/mine/laborcamp/security) +"cH" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "Mining Station Starboard Wing APC"; + pixel_x = -27; + pixel_y = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cJ" = ( +/obj/machinery/door/airlock{ + name = "Closet" + }, +/turf/simulated/floor/plating, +/area/mine/production) +"cK" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/mine/production) +"cL" = ( +/obj/machinery/space_heater, +/turf/simulated/floor/plating, +/area/mine/production) +"cM" = ( +/turf/simulated/wall, +/area/mine/living_quarters) +"cN" = ( +/obj/machinery/mineral/equipment_vendor, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cO" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cP" = ( +/obj/structure/closet/crate, +/obj/machinery/alarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/bot, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cQ" = ( +/turf/simulated/wall/r_wall, +/area/mine/maintenance) +"cR" = ( +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"cS" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"cT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/crate/secure/loot, +/obj/structure/sign/electricshock{ + pixel_y = 32 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"cU" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"cV" = ( +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"cW" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"cX" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/bot, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"cZ" = ( +/obj/effect/turf_decal/bot, +/turf/simulated/floor/plasteel, +/area/mine/production) +"da" = ( +/obj/machinery/mineral/mint{ + input_dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"db" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/alarm{ + pixel_y = 23 + }, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dc" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dd" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/structure/table, +/turf/simulated/floor/plasteel, +/area/mine/production) +"de" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"df" = ( +/obj/structure/table, +/obj/item/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dg" = ( +/obj/machinery/alarm{ + pixel_y = 24 + }, +/turf/simulated/floor/bluegrid, +/area/mine/maintenance) +"dh" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + dir = 1; + name = "Mining Communications APC"; + pixel_x = 1; + pixel_y = 25 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) +"di" = ( +/obj/machinery/telecomms/relay/preset/mining, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) +"dj" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) +"dk" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/bluegrid, +/area/mine/maintenance) +"dl" = ( +/obj/machinery/mineral/equipment_vendor, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dm" = ( +/obj/effect/turf_decal/loading_area, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dn" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"do" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dq" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dr" = ( +/obj/machinery/atmospherics/unary/tank/air{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"ds" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dt" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"du" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dv" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Shuttle Docking Foyer"; + dir = 8; + network = list("Mining Outpost") + }, +/obj/machinery/newscaster{ + pixel_x = 30; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dw" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/turf_decal/bot, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dx" = ( +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/bluegrid, +/area/mine/maintenance) +"dy" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dz" = ( +/obj/machinery/camera{ + c_tag = "Communications Relay"; + dir = 8; + network = list("Mining Outpost") + }, +/turf/simulated/floor/bluegrid, +/area/mine/maintenance) +"dA" = ( +/obj/machinery/camera{ + c_tag = "Processing Area Room"; + dir = 8; + network = list("Mining Outpost") + }, +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dB" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/iv_bag/blood, +/obj/item/reagent_containers/iv_bag/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/reagent_containers/iv_bag/blood/AMinus, +/obj/item/reagent_containers/iv_bag/blood/BMinus{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/iv_bag/blood/BPlus{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/reagent_containers/iv_bag/blood/OMinus, +/obj/item/reagent_containers/iv_bag/blood/OPlus{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/item/reagent_containers/iv_bag/blood/random, +/obj/machinery/camera{ + c_tag = "Sleeper Room"; + dir = 1; + network = list("Mining Outpost") + }, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dD" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dE" = ( +/obj/machinery/mineral/unloading_machine{ + dir = 1; + icon_state = "unloader-corner"; + input_dir = 1; + output_dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/mine/production) +"dF" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dG" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/binary/pump/on, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dI" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dJ" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dK" = ( +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dL" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dM" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dN" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "mining_internal"; + name = "mining conveyor" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dO" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "mining_internal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/mine/production) +"dP" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Communications"; + req_access_txt = "48" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/maintenance) +"dQ" = ( +/obj/effect/spawner/window, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dR" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel/white, +/area/mine/living_quarters) +"dS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Maintenance"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"dT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"dU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"dV" = ( +/obj/effect/spawner/window, +/turf/simulated/floor/plating, +/area/mine/production) +"dW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/production) +"dX" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"dY" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + glass = 1; + id_tag = "mining_outer"; + locked = 1; + name = "Mining External Airlock"; + opacity = 0; + req_access_txt = "54" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"dZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ea" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ec" = ( +/obj/machinery/camera{ + c_tag = "Crew Area Hallway East"; + network = list("Mining Outpost") + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ed" = ( +/obj/machinery/camera{ + c_tag = "Crew Area Hallway West"; + network = list("Mining Outpost") + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ee" = ( +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ef" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eg" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Mining Station Port Wing APC"; + pixel_x = 1; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eh" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ei" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"ej" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"ek" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"el" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Processing Area"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"em" = ( +/obj/machinery/mineral/processing_unit{ + dir = 1; + output_dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/mine/production) +"en" = ( +/obj/machinery/mineral/processing_unit_console, +/turf/simulated/wall, +/area/mine/production) +"eo" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/lavaland, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"ep" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eq" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"er" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"es" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"et" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eu" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ev" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ew" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/eva) +"ex" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Station Bridge"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ey" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ez" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eA" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Station Bridge"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eC" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eF" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Processing Area"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/ore_box, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eM" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eP" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eQ" = ( +/obj/machinery/door/airlock/mining{ + name = "Mining Station Storage"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eR" = ( +/obj/machinery/door/airlock/glass{ + name = "Break Room" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eT" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eU" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"eV" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"eW" = ( +/turf/simulated/floor/plasteel, +/area/mine/production) +"eX" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_internal" + }, +/obj/structure/plasticflaps, +/turf/simulated/floor/plating, +/area/mine/production) +"eY" = ( +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1379; + master_tag = "labor"; + name = "interior access button"; + pixel_x = 25; + pixel_y = -25; + req_access_txt = null + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"eZ" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"fa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fb" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/recharge_station, +/turf/simulated/floor/plasteel, +/area/mine/production) +"fc" = ( +/obj/machinery/alarm{ + pixel_y = 23 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fd" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/machinery/mech_bay_recharge_port, +/obj/structure/cable, +/turf/simulated/floor/plasteel, +/area/mine/production) +"fe" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/machinery/alarm{ + pixel_y = 23 + }, +/turf/simulated/floor/carpet, +/area/mine/living_quarters) +"ff" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/mine/living_quarters) +"fg" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm1"; + name = "Room 1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fh" = ( +/turf/simulated/floor/mech_bay_recharge_floor, +/area/mine/production) +"fi" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fj" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/machinery/computer/mech_bay_power_console{ + icon_state = "computer"; + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"fk" = ( +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fl" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"fm" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_internal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/mine/production) +"fn" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "mining_internal" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/mine/production) +"fo" = ( +/obj/machinery/mineral/equipment_vendor, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fp" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fr" = ( +/obj/structure/table, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/mine/living_quarters) +"fs" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ft" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fu" = ( +/obj/machinery/alarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fv" = ( +/obj/machinery/camera{ + c_tag = "Storage"; + dir = 2; + network = list("Mining Outpost") + }, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fx" = ( +/obj/machinery/vending/snack, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fz" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fB" = ( +/obj/structure/lattice/catwalk, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"fC" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fD" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fE" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fF" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = 28 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fG" = ( +/obj/machinery/camera{ + c_tag = "Dormitories"; + dir = 4; + network = list("Mining Outpost") + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fH" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm2"; + name = "Room 2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fI" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fJ" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 3; + height = 5; + id = "mining_away"; + name = "lavaland mine"; + turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface; + width = 7 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"fK" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fL" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/structure/closet/secure_closet/miner, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fM" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/closet/secure_closet/miner, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fO" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm3"; + name = "Room 3" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fP" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fQ" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored/danger) +"fR" = ( +/turf/simulated/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors/unexplored) +"fS" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"fT" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"fU" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fV" = ( +/turf/simulated/wall/indestructible/boss/see_through, +/area/lavaland/surface/outdoors) +"fW" = ( +/obj/structure/necropolis_gate/locked, +/obj/structure/stone_tile/slab, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"fX" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/tile/brown{ + dir = 2 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fY" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"fZ" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"ga" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/cans/beer{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/cans/beer{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/cans/beer{ + pixel_x = -8 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gb" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gc" = ( +/obj/machinery/door/window/southleft, +/obj/machinery/shower{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"gd" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/mine/production) +"ge" = ( +/obj/machinery/door/window/southright, +/obj/machinery/shower{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"gf" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gg" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gh" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gi" = ( +/obj/machinery/camera{ + c_tag = "Crew Area"; + dir = 1; + network = list("Mining Outpost") + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -32 + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gj" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"gk" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"gl" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gm" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gn" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"go" = ( +/obj/structure/stone_tile/block, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"gp" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gq" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gr" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gs" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gu" = ( +/obj/machinery/door/airlock/external{ + id_tag = "laborcamp_away"; + locked = 0; + name = "Labor Camp Airlock"; + req_access_txt = "2" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"gv" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + id_tag = "mining_away"; + name = "Mining Shuttle Airlock"; + opacity = 0; + req_one_access_txt = "48" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/production) +"gw" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + id_tag = "mining_away"; + name = "Mining Shuttle Airlock"; + opacity = 0; + req_access_txt = "48" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/production) +"gx" = ( +/obj/machinery/door/airlock{ + frequency = 1379; + id_tag = "labor_inner"; + locked = 1; + name = "Labor Camp External Access" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"gy" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gA" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gB" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gC" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"gD" = ( +/obj/machinery/embedded_controller/radio/airlock/access_controller{ + id_tag = "labor"; + pixel_y = 25; + tag_exterior_door = "labor_outer"; + tag_interior_door = "labor_inner" + }, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"gE" = ( +/obj/machinery/door/airlock{ + frequency = 1379; + id_tag = "labor_outer"; + locked = 1; + name = "Labor Camp External Access" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/plasteel, +/area/mine/laborcamp) +"gF" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1379; + master_tag = "labor"; + name = "exterior access button"; + pixel_x = -25; + pixel_y = -25; + req_access_txt = null + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"gG" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gH" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1379; + master_tag = "mining"; + name = "exterior access button"; + pixel_x = -25; + pixel_y = -25; + req_access_txt = null + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gI" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) +"gJ" = ( +/obj/machinery/atmospherics/unary/outlet_injector/on{ + dir = 4; + name = "scrubber outlet" + }, +/obj/structure/lattice/catwalk, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/living_quarters) +"gK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/lattice/catwalk, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/living_quarters) +"gL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"gM" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"gO" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"gP" = ( +/obj/structure/stone_tile/slab, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"gR" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"hg" = ( +/obj/structure/stone_tile/surrounding, +/obj/structure/stone_tile/center/cracked, +/mob/living/simple_animal/hostile/megafauna/legion, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"hs" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"hz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"hH" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"hJ" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"id" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"ir" = ( +/obj/structure/stone_tile/slab/cracked{ + dir = 5 + }, +/obj/structure/stone_tile/slab/cracked{ + dir = 10 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"it" = ( +/obj/structure/stone_tile/block, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iu" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iw" = ( +/obj/structure/stone_tile/slab/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/slab/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ix" = ( +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iy" = ( +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iC" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iK" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iX" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"iY" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ja" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jb" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jg" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jk" = ( +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jl" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jm" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jq" = ( +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"js" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jx" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jF" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"jH" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"jL" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"jN" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"jQ" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jR" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"jS" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"kg" = ( +/obj/structure/fluff/drake_statue, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"kj" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"kl" = ( +/obj/structure/fluff/drake_statue/falling, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ko" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ky" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"kB" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"kD" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"kH" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"kJ" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/center, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"kM" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"kN" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"kR" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"le" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lg" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lj" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ll" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lp" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lq" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lr" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ls" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lu" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lv" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lw" = ( +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"ly" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lz" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lD" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lE" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lF" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lG" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/block, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lI" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lP" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lQ" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 6 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lR" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"lS" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lW" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"lZ" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"ma" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mb" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"mk" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"ml" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"mn" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mq" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mr" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"ms" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mt" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mu" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mv" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"mw" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"mx" = ( +/obj/structure/stone_tile, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"my" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mA" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mB" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mC" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"mD" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mE" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mF" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mG" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mH" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mI" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mJ" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mK" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mL" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mM" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mN" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mO" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mP" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"mQ" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mS" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mV" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mW" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mX" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mY" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"mZ" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"nb" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"nc" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"ne" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"nf" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"ng" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/indestructible/boss, +/area/lavaland/surface/outdoors) +"on" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"pa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"rV" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"sL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"tI" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"tK" = ( +/obj/structure/ore_box, +/turf/simulated/floor/plasteel, +/area/mine/production) +"vq" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"vZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"xA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"yR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"zu" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"AB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"BD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/wall, +/area/mine/living_quarters) +"BT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"Eg" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"Ej" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"El" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/wall, +/area/mine/living_quarters) +"EG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"Fe" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"IK" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"Jl" = ( +/obj/effect/spawner/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"Kb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"LO" = ( +/obj/effect/spawner/window, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/mine/eva) +"Nj" = ( +/obj/machinery/door/airlock{ + name = "Restroom" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"PQ" = ( +/obj/effect/spawner/window, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"Tn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) +"TN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/wall/r_wall, +/area/mine/maintenance) +"Uh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"UQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"VD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/production) +"WO" = ( +/obj/effect/spawner/window, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/mine/living_quarters) +"Zf" = ( +/obj/machinery/door/airlock{ + id_tag = "miningbathroom"; + name = "Restroom" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel/freezer, +/area/mine/living_quarters) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ad +ad +ad +ad +ad +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +ai +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +al +al +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +aD +ab +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aw +aw +ab +aD +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ad +aj +ab +ab +ad +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ad +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +ab +an +an +ab +ab +an +an +an +an +an +an +an +an +an +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +aj +aj +aj +aw +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +ab +aj +aj +aj +aj +aw +aw +aj +aj +aw +aw +aj +aj +aw +aj +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +ab +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aD +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +aj +aj +aj +aj +aj +aj +aj +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iX +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +an +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aw +aD +aw +aw +aw +aw +aw +aD +aw +aw +aD +aw +aw +aw +aj +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iY +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +aj +aj +aj +aj +aj +aj +ab +an +an +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +aj +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aw +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aw +ab +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +ab +aj +aj +aj +aj +aj +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aw +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aw +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ir +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +al +al +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gP +ad +ad +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +aj +al +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aD +aD +aD +aD +aD +aD +aD +bO +aD +aD +aD +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +ab +aj +aj +aj +aj +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aq +aq +aq +aq +aq +gu +aq +aq +aq +gu +aq +aw +aw +aj +aj +aj +aj +aj +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +an +ab +aj +aj +aj +aj +aj +ab +aq +aG +aK +aP +aq +aZ +aq +ao +aq +aJ +aq +aD +bZ +aj +aj +aD +aj +ab +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +ab +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +ai +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +aj +aj +aj +ab +ab +aq +aH +bk +aQ +aq +gu +aq +bk +aq +gu +aq +bZ +bZ +bZ +aj +aj +aj +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +ab +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ap +ap +ap +aq +aq +aq +aL +aq +aq +ba +aq +bj +bk +bk +aq +ca +ca +ca +aj +aj +aj +ai +ad +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ix +ab +ab +ab +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ap +ar +ar +aq +bk +bk +bk +bk +bk +bk +bk +bk +bk +bk +aq +cb +bh +cG +aj +aj +aj +aj +ai +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +as +ax +aB +bk +bk +bk +bk +aU +bb +bk +bk +bk +by +bL +cc +ci +cG +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +at +ay +aq +aE +bk +bk +bk +bk +bk +cy +bn +bk +bz +aq +cd +ci +cG +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aq +aq +aq +aq +bk +bk +aR +bk +bc +aq +bl +aq +bA +aq +aq +aq +aq +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ad +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +au +au +au +aq +bk +aM +aq +aq +bd +aq +bl +aq +bz +aq +ce +cz +aq +aj +aj +aj +ab +ab +ab +gJ +ab +ab +aj +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +jq +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +av +bk +bk +aF +eY +aV +aS +aW +be +aW +bm +aq +bB +bM +cf +cA +aq +aj +aj +ab +ad +ai +fB +gK +fB +ai +ab +ab +ab +ad +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +ai +ab +ab +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aq +aA +aC +aq +gx +aq +aq +aq +aq +aq +aq +aq +aq +aq +cg +cB +aq +aj +cQ +cQ +cQ +cQ +cR +Jl +cR +cM +cR +cR +cR +cM +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +ai +am +ai +ab +ai +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aq +aq +aq +gD +aq +aT +aX +aX +aD +aD +aD +aD +aq +ch +cC +aq +aj +cQ +az +az +cQ +fk +yR +fk +cM +fo +fE +fL +cM +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aJ +aq +aT +aD +aD +aD +aD +aD +aD +aq +aq +aq +aq +aj +cQ +dh +dk +TN +dT +ep +eL +cM +fs +fk +fM +cR +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +aj +aj +ai +aj +aj +aj +aj +aj +an +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aq +gE +aq +aT +aD +aD +aD +aD +aD +aj +aj +aj +aj +aj +ab +cQ +di +gI +dP +dU +eq +eO +eQ +ft +fp +fP +cR +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +ai +ab +ab +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +gF +aO +aD +aD +aD +aD +aD +aj +aj +aj +aj +aj +ab +ad +cQ +dj +dx +cQ +dX +er +eS +cM +fu +fk +fU +cR +ab +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +ai +ab +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj +ab +ai +cQ +dg +dz +cQ +ed +Kb +eM +El +fv +fF +fX +cM +ai +ad +ai +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ja +ab +ab +ab +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ad +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj +ab +ab +cQ +cQ +cQ +cQ +fc +er +vZ +cM +cM +cM +cM +cM +cM +cM +cM +cM +cM +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ab +ab +ab +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj +aj +ab +cM +db +dB +cM +fk +EG +on +cM +fe +fr +cM +fe +fr +cM +fe +fr +cM +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj +ab +cR +dc +dC +WO +dT +Kb +Eg +cM +ff +aY +cM +ff +bi +cM +ff +br +cM +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +ab +ab +ab +aj +aj +ab +aj +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aT +an +aD +aD +aj +aj +aj +aj +ab +cR +de +dD +dR +dZ +es +vZ +cM +fg +BD +cM +fH +BD +cM +fO +BD +cM +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +ab +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aj +aj +ai +ad +cM +df +dt +dQ +dX +er +sL +fa +fw +fG +fa +fw +gp +gq +fw +gt +cR +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +ai +cM +cM +cM +cM +cM +eg +et +eN +gL +fi +pa +pa +fi +fN +Ej +gA +fp +cR +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +aj +aj +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +ab +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aj +aj +cM +cS +do +dF +cM +eh +EG +on +cM +cM +dQ +dQ +cM +cM +BD +Nj +cM +cM +ai +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +jq +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +aj +cM +cT +cV +dG +cM +ea +er +rV +cM +fx +fz +fY +gh +cM +gc +hz +cM +ai +ad +ai +ai +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iu +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +aj +cM +cU +dp +dH +dS +eb +eu +Ej +PQ +fy +fy +fZ +fz +cM +ge +Tn +cM +ab +ai +ai +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +ab +ab +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +ab +cM +cV +dq +dI +cM +ec +ev +vZ +eR +fz +fI +ga +gi +cM +BD +Zf +cM +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +aj +ab +cM +cW +dr +dr +cM +vq +Kb +eT +WO +fA +fA +gb +gl +cM +Fe +bo +cM +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +ab +aj +aj +ab +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +aj +aj +an +an +an +an +an +aD +aD +aD +aD +aj +aj +aj +aj +cM +cM +cM +cM +cM +fk +er +vZ +cM +fC +fz +gf +gm +cM +IK +tI +cM +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ja +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +ab +aj +aj +aj +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aD +aD +aD +aD +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +cR +fk +ev +bx +cM +fD +fK +gg +gn +cM +cM +cM +cM +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +ab +ab +ab +ai +am +ai +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +cR +ee +ey +eU +cM +cR +cR +cR +cR +cM +ai +ai +ai +aj +ab +aj +aj +ab +ab +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +ai +ai +am +am +am +ai +ai +am +am +ai +ai +aj +aj +aj +aj +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +aj +aj +aj +aj +aj +cR +cR +ex +cR +cR +ab +ab +ab +ab +ai +ai +ai +ab +aj +aj +aj +aj +ab +ab +ab +ai +ad +ad +ab +ab +aj +aj +aj +aj +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ai +ai +ai +am +am +ai +ai +aj +aj +aj +aj +ad +ab +ab +ab +ai +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +ai +ai +ai +ai +aj +aj +aj +aj +aj +ai +ai +ai +ai +ai +ai +ai +ab +ab +ai +ai +ai +ai +aj +aj +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +cR +ez +cR +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ad +ad +ad +ad +ad +ai +ai +aj +aj +aj +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ai +am +ai +ai +ai +am +ai +ai +ai +ai +ai +ai +ai +am +am +am +am +am +am +am +ai +ai +ab +ab +ai +am +am +am +am +am +am +am +ai +ai +am +am +am +am +ai +ab +ab +ab +ai +am +ai +ai +ai +ai +ai +ai +ai +am +ai +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +cR +BT +cR +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +ab +ad +ad +ad +ad +ad +ad +ad +ad +ab +aj +aj +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +am +am +am +am +am +am +am +am +am +ai +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +cR +BT +cR +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ad +ad +ad +ad +ad +ad +ad +ab +aj +aj +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +aj +aj +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +cR +BT +cR +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ad +ad +ad +ad +ad +ad +ad +ab +aj +aj +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +aj +ab +ab +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +bN +UQ +bN +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ad +ad +ai +ad +ab +ab +aj +aj +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +fJ +ab +ab +ab +ab +aj +aj +ab +bN +UQ +bN +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +jx +ad +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +ab +aj +aj +aj +aj +aj +ab +ab +bJ +gv +bN +ab +ab +aj +aj +aj +ab +bN +UQ +bN +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ai +ai +ai +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +aj +aj +aj +aj +aj +aj +ab +bN +eW +bN +ab +aj +aj +aj +aj +ab +bN +eB +bN +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ai +ai +ai +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +aj +aj +aj +aj +aj +aj +bN +bN +gw +bN +bN +ab +aj +aj +ab +bN +bN +eA +bN +bN +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ai +ai +ai +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +aj +aj +aj +bq +bN +bP +cn +ct +bN +bq +bq +bq +bq +bN +ef +eD +ct +bN +bq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ad +ad +jq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +ab +bq +bw +eW +cl +eW +cx +cD +cH +cn +du +dJ +xA +aN +eW +fb +bq +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +aj +aj +ab +ab +aj +ab +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +ab +bN +bC +bQ +cm +cE +Uh +cE +cY +cE +Uh +cE +Uh +eC +eP +fd +bq +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +ab +ab +bN +bT +bR +cI +cw +dy +cF +cI +VD +zu +VD +gd +eH +eW +fh +bN +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ai +ab +bf +bf +bf +LO +bS +bF +bf +cJ +bq +cN +dl +dv +dK +ei +eE +eV +fj +bN +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ab +bf +bp +bD +bE +cs +co +bf +cK +bq +bq +bN +bq +dV +el +eF +dV +bq +bq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +bg +bs +bY +bY +bU +cp +bf +cL +bq +da +dm +dw +dL +ej +eG +ct +tK +bN +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aj +ab +ab +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +bg +bt +bY +bH +bV +aI +bf +bq +bq +cO +eW +eW +eW +xA +eI +eZ +fl +bq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +bf +bu +bG +bI +bX +eo +bf +ad +bq +cP +eW +dM +dW +AB +eJ +bq +eX +bq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +bf +bf +bf +bg +cj +bg +bf +ai +bq +dd +eW +dA +dN +ek +eK +dV +fm +bq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +jb +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +ab +ab +bf +bK +ck +cr +bf +ai +bq +cX +dn +bq +dV +en +dV +dV +fm +bq +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +aj +aj +ab +ab +bf +bW +cq +ew +bf +ai +bq +cZ +ds +dE +dO +em +dO +dO +fn +bq +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ai +ai +aj +aj +ab +bf +bg +dY +bg +bf +ai +bq +bq +bq +bq +bq +bq +bq +bq +bq +bq +ab +ab +ab +aj +aj +aj +aj +ab +aj +aj +aj +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +bv +ab +gH +ab +bv +ai +ai +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +aj +aj +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ai +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iw +ad +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +ab +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ai +ai +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ai +ab +ai +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ai +ai +ab +ab +ab +aj +ab +ab +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +ai +ai +ab +ab +aj +ab +ab +ab +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +ai +ab +ab +ai +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ab +aj +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ai +ai +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ai +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ad +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +aj +ab +aj +aj +aj +aj +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ai +ai +ai +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ai +ai +ai +ad +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ai +ai +ai +ad +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ad +ad +ix +ab +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ai +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +ai +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +ai +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ai +am +ai +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +jb +ab +ab +ab +ab +ab +ab +ab +aj +ab +aj +ab +ab +ab +aj +ab +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +am +ai +ai +ab +ai +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +aj +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +ai +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ix +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ai +ai +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ai +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +ai +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ai +ai +ad +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ai +ab +ab +ab +ab +ab +ab +ai +am +ai +ai +ai +ai +ab +ab +ai +ai +ai +am +am +ai +ai +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ad +ai +ai +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ai +ab +ab +ai +am +am +am +am +am +ai +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ad +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +ab +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ai +ai +ab +ai +am +am +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ai +am +ai +am +am +ai +cu +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ai +am +am +am +am +ai +cv +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ai +am +am +am +am +ai +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +jb +jb +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ai +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ai +am +ai +ai +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ai +am +am +am +am +am +am +am +ai +ai +ab +ab +ai +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ai +ab +am +am +am +am +am +am +am +am +am +ai +ai +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +aj +aj +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +ad +ai +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +aj +aj +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ad +ad +ai +ai +ad +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ky +ad +ai +ai +ad +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ad +ai +ai +jq +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +kN +aj +aj +aj +aj +aj +aj +mD +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ab +ab +ab +ab +ab +ab +aj +ab +ab +aj +aj +aj +aj +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +jg +gB +gB +js +ab +ab +ab +ab +aj +aj +mu +aj +aj +aj +ab +mA +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ab +ab +ab +ab +aj +aj +ab +aj +aj +aj +aj +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iC +gr +gs +gr +gr +kR +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +jQ +ak +ak +ak +ak +al +iy +ab +ab +mK +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gR +ag +jF +gM +kB +jm +ix +ab +jS +aj +aj +aj +aj +lI +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ab +ab +jx +ab +ab +mM +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +aj +aj +ab +aj +aj +aj +aj +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gG +go +kg +hs +gr +hH +ab +ab +aj +ly +aj +aj +aj +lw +aj +aj +ls +aj +aj +jx +jS +iy +al +ak +al +jq +ab +kN +ab +ab +jx +ab +ab +mN +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ab +aj +aj +ab +aj +aj +ab +ab +aj +aj +aj +"} +(125,1,1) = {" +aa +aa +aa +mS +mV +mq +mV +nc +aa +aa +fV +fV +gr +jH +gO +kD +ag +le +aa +aa +ls +aj +aj +aj +aj +aj +aj +aj +aj +aj +lI +aa +aa +jS +ab +ab +ja +ab +jx +ab +jq +ab +kN +ab +ab +ab +mO +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +"} +(126,1,1) = {" +aa +aa +fV +gj +gC +mr +nb +ne +aa +aa +fV +fV +jk +gr +gr +gr +gr +gs +aa +lp +lp +lz +lp +lF +lp +lP +lS +lp +lZ +lS +lS +lp +aa +mE +ab +ab +ab +ab +kN +ab +ab +ab +ab +ab +jS +ab +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +"} +(127,1,1) = {" +mQ +mQ +fW +mQ +mW +hg +ac +nf +ac +ac +ac +af +lg +fT +kj +fT +fT +lg +gP +lq +lu +lq +lD +lG +lu +lQ +lu +lW +ma +lq +mk +mn +kR +mF +ab +mG +ab +ja +ab +jx +ab +ab +kN +ab +ab +jq +jR +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(128,1,1) = {" +aa +aa +fV +gk +mX +mZ +nc +ng +aa +aa +fV +fV +jl +gr +ah +gG +gs +gy +aa +lr +lv +lv +lE +lv +lE +lR +lv +lv +mb +lR +ml +lR +aa +it +ab +ab +jx +jR +ab +ab +ab +mL +al +iY +ab +ab +jQ +ab +jx +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(129,1,1) = {" +aa +aa +aa +mS +mY +ms +hJ +id +aa +aa +fV +fV +jm +jL +gM +kH +gr +hH +aa +aa +lw +aj +aj +aj +lI +aj +aj +aj +aj +lw +aj +aa +aa +jq +ab +ab +ab +jQ +ab +mI +ab +ab +al +al +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +fR +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gr +go +kl +hs +gG +lj +ab +ab +aj +aj +mv +my +lw +aj +aj +aj +lI +aj +aj +kN +jq +jS +jx +jS +ab +ab +ab +ab +ab +ab +jR +ak +jS +kN +ab +ab +jR +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gR +ah +jN +gO +kJ +gr +it +ab +ab +aj +aj +aj +ab +jQ +aj +jx +ab +ly +aj +aj +ab +ab +ak +al +ja +ab +mH +ab +ab +mJ +al +ak +ak +al +ab +ab +mP +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gR +gr +gr +gr +jm +gP +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +mB +aj +aj +aj +ab +ja +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +gr +jm +ko +iu +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +iy +aj +aj +aj +kN +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +jq +ab +ab +ab +ab +ab +kN +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +fS +aj +ab +aj +ab +aj +aj +aj +aj +aj +aj +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +jR +mt +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +jq +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +mC +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iK +ab +jQ +jq +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +lI +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(141,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +iy +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(142,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(143,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(144,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +jq +ab +ab +ab +ab +ab +ab +ab +aj +aj +mw +ab +lI +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(145,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +mx +ab +ab +mx +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(146,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(147,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(148,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +jR +ad +ab +ab +ll +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(149,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(150,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(151,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ix +ab +ab +ab +ad +ad +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(152,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ad +ad +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(153,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(154,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +jS +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(155,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(156,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(157,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(158,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(159,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(160,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(161,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(162,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(163,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(164,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +ab +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(165,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(166,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +jS +ad +ad +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +ab +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(167,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ai +ai +ai +ai +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +ab +aj +ab +aj +aj +aj +aj +aj +aj +"} +(168,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +kM +ai +ai +ai +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(169,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ad +ai +ai +ai +ai +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(170,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ad +ad +ai +ai +ai +ai +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(171,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ad +ai +ai +ai +ai +ad +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(172,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ad +ai +ai +ai +ai +ad +ad +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +"} +(173,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ad +ai +ai +ai +ai +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(174,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ad +ai +ai +ai +ai +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(175,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +kN +ai +ai +ai +ai +jq +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(176,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ai +ai +ai +ai +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(177,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ad +ad +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(178,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(179,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(180,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(181,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(182,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(183,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(184,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(185,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ai +jS +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(186,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ai +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(187,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ai +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(188,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ai +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(189,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +iy +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(190,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(191,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(192,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(193,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(194,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(195,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(196,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(197,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(198,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +iy +ab +ad +ad +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(199,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +iy +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(200,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(201,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(202,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(203,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +iy +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(204,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(205,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(206,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(207,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ad +ai +ai +ab +ab +ab +aj +ab +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(208,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ad +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(209,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(210,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(211,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(212,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(213,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(214,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(215,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(216,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(217,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(218,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +js +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(219,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(220,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +ai +ai +ai +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +"} +(221,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +ai +ai +ai +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +"} +(222,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +ai +ai +ai +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +"} +(223,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +ai +ai +ai +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(224,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +ai +ai +ai +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(225,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gP +ai +ai +ai +ai +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(226,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ai +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +al +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(227,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ai +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +ab +ab +al +al +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(228,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +al +al +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(229,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(230,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +fQ +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(231,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(232,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +it +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(233,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(234,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(235,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(236,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(237,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gP +js +ab +ad +ad +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(238,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(239,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(240,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +aj +ab +aj +ab +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(241,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(242,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(243,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(244,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(245,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(246,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(247,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(248,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(249,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(250,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ab +ab +ad +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(251,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(252,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(253,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +js +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(254,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +js +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} +(255,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +"} diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index 1ee940615a5..99e23f4c9d4 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -4,7 +4,7 @@ /area/space) "ab" = ( /turf/simulated/mineral, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "ac" = ( /obj/docking_port/stationary{ dheight = 9; @@ -18,11 +18,11 @@ /turf/space, /area/space) "ad" = ( -/turf/simulated/floor/plating/airless/asteroid/cave, -/area/mine/dangerous/unexplored) +/turf/simulated/floor/plating/asteroid/airless/cave, +/area/mine/unexplored) "ae" = ( /turf/simulated/mineral/random, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "af" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -60,7 +60,7 @@ /area/space/nearstation) "ak" = ( /turf/simulated/mineral/random/high_chance, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "al" = ( /obj/structure/window/reinforced{ dir = 4 @@ -660,7 +660,7 @@ /turf/simulated/floor/plasteel/airless, /area/mine/abandoned) "bV" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "bW" = ( /obj/structure/alien/weeds{ @@ -748,7 +748,7 @@ /obj/machinery/camera{ c_tag = "North Outpost"; dir = 8; - network = list("MINE") + network = list("Mining Outpost") }, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plasteel, @@ -981,7 +981,7 @@ /area/mine/dangerous/explored) "cL" = ( /obj/structure/ore_box, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "cM" = ( /obj/effect/decal/remains/xeno, @@ -1121,7 +1121,7 @@ /area/mine/north_outpost) "dh" = ( /obj/structure/glowshroom, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "di" = ( /obj/structure/alien/resin/wall, @@ -1237,7 +1237,7 @@ "ds" = ( /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap, /obj/structure/glowshroom, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "dt" = ( /obj/effect/decal/warning_stripes/north, @@ -1286,8 +1286,8 @@ /turf/space, /area/mine/north_outpost) "dy" = ( -/turf/simulated/floor/plating/airless/asteroid, -/area/mine/dangerous/unexplored) +/turf/simulated/floor/plating/asteroid/airless, +/area/mine/unexplored) "dz" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden, /turf/simulated/floor/plasteel{ @@ -1595,7 +1595,7 @@ /area/mine/abandoned) "em" = ( /turf/simulated/mineral/random/labormineral, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "en" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating/airless{ @@ -1612,21 +1612,11 @@ /obj/item/clothing/glasses/meson, /obj/item/flashlight, /obj/item/storage/bag/ore, -/obj/item/shovel{ - attack_verb = list("ineffectively hit"); - desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; - force = 1; - name = "safety shovel"; - pixel_x = -5; - throwforce = 1 +/obj/item/shovel/safety{ + pixel_x = -5 }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; - force = 1; - name = "safety pickaxe"; - pixel_x = 5; - throwforce = 1 +/obj/item/pickaxe/safety{ + pixel_x = 5 }, /obj/item/radio/intercom/locked/prison{ pixel_y = 25 @@ -1642,21 +1632,11 @@ /obj/item/clothing/glasses/meson, /obj/item/flashlight, /obj/item/storage/bag/ore, -/obj/item/shovel{ - attack_verb = list("ineffectively hit"); - desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; - force = 1; - name = "safety shovel"; - pixel_x = -5; - throwforce = 1 +/obj/item/shovel/safety{ + pixel_x = -5 }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; - force = 1; - name = "safety pickaxe"; - pixel_x = 5; - throwforce = 1 +/obj/item/pickaxe/safety{ + pixel_x = 5 }, /turf/simulated/floor/plasteel{ icon_state = "floorgrime" @@ -1669,21 +1649,11 @@ /obj/item/clothing/glasses/meson, /obj/item/flashlight, /obj/item/storage/bag/ore, -/obj/item/shovel{ - attack_verb = list("ineffectively hit"); - desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; - force = 1; - name = "safety shovel"; - pixel_x = -5; - throwforce = 1 +/obj/item/shovel/safety{ + pixel_x = -5 }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; - force = 1; - name = "safety pickaxe"; - pixel_x = 5; - throwforce = 1 +/obj/item/pickaxe/safety{ + pixel_x = 5 }, /obj/machinery/status_display{ density = 0; @@ -1702,26 +1672,16 @@ /obj/item/clothing/glasses/meson, /obj/item/flashlight, /obj/item/storage/bag/ore, -/obj/item/shovel{ - attack_verb = list("ineffectively hit"); - desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; - force = 1; - name = "safety shovel"; - pixel_x = -5; - throwforce = 1 +/obj/item/shovel/safety{ + pixel_x = -5 }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; - force = 1; - name = "safety pickaxe"; - pixel_x = 5; - throwforce = 1 +/obj/item/pickaxe/safety{ + pixel_x = 5 }, /obj/machinery/camera{ c_tag = "Labor Camp Storage"; dir = 8; - network = list("Labor") + network = list("Labor Camp") }, /turf/simulated/floor/plasteel{ icon_state = "floorgrime" @@ -1749,7 +1709,7 @@ /obj/machinery/camera{ c_tag = "Labor Camp Medical"; dir = 8; - network = list("Labor") + network = list("Labor Camp") }, /obj/structure/bed, /obj/item/bedsheet/medical, @@ -1795,7 +1755,7 @@ /area/mine/laborcamp) "eB" = ( /turf/simulated/wall, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "eC" = ( /obj/machinery/atmospherics/unary/vent_pump{ on = 1 @@ -1975,7 +1935,7 @@ /turf/simulated/floor/plating/airless{ icon_state = "asteroidplating" }, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "eX" = ( /obj/item/shard{ icon_state = "medium" @@ -2175,21 +2135,21 @@ icon_state = "asteroidwarning"; dir = 10 }, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "ft" = ( /turf/simulated/floor/plasteel/airless{ tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6 }, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "fu" = ( /turf/simulated/floor/plasteel/airless{ tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2 }, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "fv" = ( /obj/machinery/light/small{ dir = 4 @@ -2292,7 +2252,7 @@ "fF" = ( /obj/machinery/camera{ c_tag = "Labor Camp Central"; - network = list("Labor") + network = list("Labor Camp") }, /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -2419,7 +2379,7 @@ /obj/machinery/camera{ c_tag = "Labor Camp External"; dir = 4; - network = list("Labor") + network = list("Labor Camp") }, /turf/simulated/floor/plasteel{ dir = 1; @@ -2586,7 +2546,7 @@ /obj/machinery/camera{ c_tag = "Labor Camp Security Hallway"; dir = 8; - network = list("Labor"); + network = list("Labor Camp"); pixel_x = 0; pixel_y = 0 }, @@ -2786,7 +2746,7 @@ /obj/machinery/camera{ c_tag = "Communications Relay"; dir = 8; - network = list("MINE") + network = list("Mining Outpost") }, /turf/simulated/floor/bluegrid, /area/mine/maintenance) @@ -3013,7 +2973,7 @@ "hj" = ( /obj/machinery/computer/security{ name = "Labor Camp Monitoring"; - network = list("Labor") + network = list("Labor Camp") }, /obj/structure/cable{ d1 = 1; @@ -3123,7 +3083,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/west_outpost) "hA" = ( /obj/machinery/computer/arcade, @@ -3133,7 +3093,7 @@ /area/mine/living_quarters) "hB" = ( /turf/space, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "hC" = ( /obj/structure/lattice, /turf/space, @@ -3497,7 +3457,7 @@ /obj/machinery/camera{ c_tag = "Crew Area"; dir = 1; - network = list("MINE") + network = list("Mining Outpost") }, /turf/simulated/floor/plasteel{ icon_state = "bar" @@ -3539,7 +3499,7 @@ "iz" = ( /obj/structure/disposalpipe/segment, /turf/simulated/mineral/random, -/area/mine/dangerous/unexplored) +/area/mine/unexplored) "iA" = ( /obj/machinery/light/small{ dir = 4 @@ -3559,7 +3519,7 @@ /obj/machinery/camera{ c_tag = "Storage Room"; dir = 1; - network = list("MINE") + network = list("Mining Outpost") }, /turf/simulated/floor/plasteel, /area/mine/living_quarters) @@ -3861,7 +3821,7 @@ /obj/machinery/camera{ c_tag = "West Outpost"; dir = 1; - network = list("MINE") + network = list("Mining Outpost") }, /turf/simulated/floor/plasteel, /area/mine/west_outpost) @@ -3960,7 +3920,7 @@ "js" = ( /obj/machinery/camera{ c_tag = "Crew Area Hallway"; - network = list("MINE") + network = list("Mining Outpost") }, /obj/structure/extinguisher_cabinet{ pixel_x = -5; @@ -4071,7 +4031,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/camera{ c_tag = "Labor Camp Monitoring"; - network = list("Labor") + network = list("Labor Camp") }, /obj/machinery/light_switch{ pixel_y = 28 @@ -4317,7 +4277,7 @@ /area/mine/eva) "ki" = ( /obj/machinery/light, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "kj" = ( /obj/structure/disposalpipe/segment{ @@ -4415,21 +4375,21 @@ /area/mine/living_quarters) "ku" = ( /obj/structure/disposalpipe/segment, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "kv" = ( /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "kw" = ( /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "kx" = ( /obj/machinery/access_button{ @@ -4767,7 +4727,7 @@ /turf/simulated/floor/plasteel, /area/mine/living_quarters) "ll" = ( -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/space/nearstation) "lm" = ( /obj/effect/spawner/window/reinforced, @@ -5335,7 +5295,7 @@ /obj/machinery/light{ dir = 1 }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/living_quarters) "mv" = ( /obj/effect/decal/warning_stripes/northeast, @@ -5477,7 +5437,7 @@ /obj/effect/decal/remains/human{ desc = "Seems to be all that remains of a poor miner that didn't heed the warning signs." }, -/turf/simulated/floor/plating/airless/asteroid, +/turf/simulated/floor/plating/asteroid/airless, /area/mine/dangerous/explored) "mK" = ( /obj/structure/table/reinforced, diff --git a/_maps/map_files/shuttles/emergency_clown.dmm b/_maps/map_files/shuttles/emergency_clown.dmm index 1ea643d4c8d..1207e8a09ff 100644 --- a/_maps/map_files/shuttles/emergency_clown.dmm +++ b/_maps/map_files/shuttles/emergency_clown.dmm @@ -164,7 +164,7 @@ }, /area/shuttle/escape) "aB" = ( -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/shuttle/escape) "aC" = ( /obj/machinery/status_display{ @@ -175,7 +175,7 @@ icon_state = "tube1"; dir = 1 }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/shuttle/escape) "aD" = ( /obj/structure/bed, @@ -207,7 +207,7 @@ /obj/structure/closet/walllocker/emerglocker{ pixel_x = -28 }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/shuttle/escape) "aH" = ( /obj/item/storage/bible{ @@ -246,7 +246,7 @@ name = "station intercom (General)"; pixel_x = 28 }, -/turf/unsimulated/floor/chasm, +/turf/simulated/floor/chasm, /area/shuttle/escape) "aM" = ( /obj/structure/grille, diff --git a/_maps/map_files/templates/shelter_1.dmm b/_maps/map_files/templates/shelter_1.dmm index 0cebbd66b5f..0123bf7329c 100644 --- a/_maps/map_files/templates/shelter_1.dmm +++ b/_maps/map_files/templates/shelter_1.dmm @@ -15,7 +15,7 @@ /turf/simulated/floor/pod, /area/survivalpod) "d" = ( -/obj/machinery/smartfridge/survival_pod/loaded, +/obj/machinery/smartfridge/survival_pod, /turf/simulated/floor/pod, /area/survivalpod) "e" = ( @@ -30,6 +30,9 @@ /area/survivalpod) "g" = ( /obj/machinery/sleeper/survival_pod, +/obj/machinery/vending/wallmed1/survival_pod{ + pixel_x = -24 + }, /turf/simulated/floor/pod, /area/survivalpod) "h" = ( diff --git a/_maps/map_files/templates/shelter_2.dmm b/_maps/map_files/templates/shelter_2.dmm index 4a6b445ab4c..1c2e99a0c4d 100644 --- a/_maps/map_files/templates/shelter_2.dmm +++ b/_maps/map_files/templates/shelter_2.dmm @@ -9,7 +9,7 @@ /turf/simulated/wall/mineral/titanium/survival, /area/survivalpod) "c" = ( -/obj/machinery/smartfridge/survival_pod/loaded, +/obj/machinery/smartfridge/survival_pod, /turf/simulated/floor/pod, /area/survivalpod) "d" = ( @@ -39,6 +39,9 @@ /area/survivalpod) "i" = ( /obj/machinery/sleeper/survival_pod, +/obj/machinery/vending/wallmed1/survival_pod{ + pixel_x = -24 + }, /turf/simulated/floor/pod, /area/survivalpod) "j" = ( @@ -161,7 +164,7 @@ icon_state = "cutout_lusty"; name = "lusty xenomorph maid" }, - /turf/simulated/floor/carpet/black, +/turf/simulated/floor/carpet/black, /area/survivalpod) "A" = ( /obj/structure/table/wood/fancy/black, diff --git a/_maps/map_files/templates/spacehotel/s_01.dmm b/_maps/map_files/templates/spacehotel/s_01.dmm index f7c6ba629c6..f97f6613f07 100644 --- a/_maps/map_files/templates/spacehotel/s_01.dmm +++ b/_maps/map_files/templates/spacehotel/s_01.dmm @@ -141,6 +141,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"K" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -153,7 +157,7 @@ a "} (2,1,1) = {" a -b +K b l o diff --git a/_maps/map_files/templates/spacehotel/s_02.dmm b/_maps/map_files/templates/spacehotel/s_02.dmm index 5aa78f57470..c3ee3c4a727 100644 --- a/_maps/map_files/templates/spacehotel/s_02.dmm +++ b/_maps/map_files/templates/spacehotel/s_02.dmm @@ -142,6 +142,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"O" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -154,7 +158,7 @@ a "} (2,1,1) = {" a -b +O b l o diff --git a/_maps/map_files/templates/spacehotel/s_04.dmm b/_maps/map_files/templates/spacehotel/s_04.dmm index 564246a2854..81c1306da96 100644 --- a/_maps/map_files/templates/spacehotel/s_04.dmm +++ b/_maps/map_files/templates/spacehotel/s_04.dmm @@ -190,6 +190,10 @@ icon_state = "floor4" }, /area/template_noop) +"X" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -202,7 +206,7 @@ a "} (2,1,1) = {" a -b +X b l o diff --git a/_maps/map_files/templates/spacehotel/s_05.dmm b/_maps/map_files/templates/spacehotel/s_05.dmm index 62c82037700..1ff9546e265 100644 --- a/_maps/map_files/templates/spacehotel/s_05.dmm +++ b/_maps/map_files/templates/spacehotel/s_05.dmm @@ -129,6 +129,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"Z" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -141,7 +145,7 @@ a "} (2,1,1) = {" a -b +Z b k n diff --git a/_maps/map_files/templates/spacehotel/s_06.dmm b/_maps/map_files/templates/spacehotel/s_06.dmm index fa839217019..03a1e7e9e99 100644 --- a/_maps/map_files/templates/spacehotel/s_06.dmm +++ b/_maps/map_files/templates/spacehotel/s_06.dmm @@ -131,6 +131,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"X" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -143,7 +147,7 @@ a "} (2,1,1) = {" a -b +X b m p diff --git a/_maps/metastation.dm b/_maps/metastation.dm index 7fa09edbca9..0ab9595c49a 100644 --- a/_maps/metastation.dm +++ b/_maps/metastation.dm @@ -24,12 +24,13 @@ z7 = empty space #define MAP_FILE "MetaStation.v41A.II.dmm" #define MAP_NAME "MetaStation" + #define MINETYPE "lavaland" #define MAP_TRANSITION_CONFIG list(\ DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\ DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\ DECLARE_LEVEL(TELECOMMS, CROSSLINKED, list(REACHABLE, BOOSTS_SIGNAL, AI_OK)),\ DECLARE_LEVEL(DERELICT, CROSSLINKED, list(REACHABLE)),\ -DECLARE_LEVEL(MINING, CROSSLINKED, list(REACHABLE, STATION_CONTACT, AI_OK, ORE_LEVEL, HAS_WEATHER)),\ +DECLARE_LEVEL(MINING, SELFLOOPING, list(REACHABLE, STATION_CONTACT, AI_OK, ORE_LEVEL, HAS_WEATHER)),\ DECLARE_LEVEL(EMPTY_AREA, CROSSLINKED, list(REACHABLE)),\ DECLARE_LEVEL(EMPTY_AREA_2, CROSSLINKED, list(REACHABLE))) diff --git a/_maps/test_all_maps.dm b/_maps/test_all_maps.dm index 48d9574b966..f733f528a24 100644 --- a/_maps/test_all_maps.dm +++ b/_maps/test_all_maps.dm @@ -17,6 +17,20 @@ #include "map_files\RandomZLevels\wildwest.dmm" + // Lavaland Ruins + #include "map_files\RandomRuins\LavaRuins\lavaland_biodome_beach.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_animal_hospital.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_ash_walker1.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_blooddrunk1.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_blooddrunk2.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_blooddrunk3.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_hermit.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_hierophant.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_seed_vault.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_swarmer_crash.dmm" + #include "map_files\RandomRuins\LavaRuins\lavaland_surface_syndicate_base1.dmm" + + // Space Ruins #include "map_files\RandomRuins\SpaceRuins\abandonedzoo.dmm" #include "map_files\RandomRuins\SpaceRuins\asteroid1.dmm" diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index a6b346ee1c2..d81ea35e1e9 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -248,7 +248,8 @@ GLOBAL_DATUM_INIT(pipe_icon_manager, /datum/pipe_icon_manager, new()) // Ventcrawling #define VENT_SOUND_DELAY 30 /obj/machinery/atmospherics/relaymove(mob/living/user, direction) - if(!(direction & initialize_directions)) //can't go in a way we aren't connecting to + direction &= initialize_directions + if(!direction || !(direction in cardinal)) //cant go this way. return if(buckled_mob == user) diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 62b4f55470e..b9902dbb066 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -56,6 +56,9 @@ /obj/machinery/atmospherics/binary/dp_vent_pump/high_volume name = "large dual port air vent" +/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume/on + on = TRUE + /obj/machinery/atmospherics/binary/dp_vent_pump/high_volume/New() ..() air1.volume = 1000 diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 86f2d3b9973..a6f0b8c8adb 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -41,6 +41,11 @@ connect_types = list(1,3) //connects to regular and scrubber pipes +/obj/machinery/atmospherics/unary/vent_scrubber/on + on = TRUE + scrub_N2O = TRUE + scrub_Toxins = TRUE + /obj/machinery/atmospherics/unary/vent_scrubber/New() ..() icon = null diff --git a/code/LINDA/LINDA_fire.dm b/code/LINDA/LINDA_fire.dm index b788cd07d26..5e44dcf20cc 100644 --- a/code/LINDA/LINDA_fire.dm +++ b/code/LINDA/LINDA_fire.dm @@ -184,7 +184,7 @@ else chance_of_deletion = 100 if(prob(chance_of_deletion)) - T.ChangeTurf(/turf/space) + T.ChangeTurf(T.baseturf) else T.to_be_destroyed = 0 T.max_fire_temperature_sustained = 0 diff --git a/code/LINDA/LINDA_turf_tile.dm b/code/LINDA/LINDA_turf_tile.dm index 21ea57a571b..b7a71e68bff 100644 --- a/code/LINDA/LINDA_turf_tile.dm +++ b/code/LINDA/LINDA_turf_tile.dm @@ -49,6 +49,7 @@ var/icy = 0 var/icyoverlay var/obj/effect/hotspot/active_hotspot + var/planetary_atmos = FALSE //air will revert to its initial mix over time var/temperature_archived //USED ONLY FOR SOLIDS @@ -138,13 +139,16 @@ /turf/simulated/proc/process_cell() - if(archived_cycle < SSair.times_fired) //archive self if not already done archive() current_cycle = SSair.times_fired var/remove = 1 //set by non simulated turfs who are sharing with this turf + var/planet_atmos = planetary_atmos + if (planet_atmos) + atmos_adjacent_turfs_amount++ + for(var/direction in cardinal) if(!(atmos_adjacent_turfs & direction)) continue @@ -205,6 +209,17 @@ if(excited_group) last_share_check() + if(planet_atmos) //share our air with the "atmosphere" "above" the turf + var/datum/gas_mixture/G = new + G.copy_from_turf(src) + G.archive() + if(air.compare(G)) + if(!excited_group) + var/datum/excited_group/EG = new + EG.add_turf(src) + air.share(G, atmos_adjacent_turfs_amount) + last_share_check() + air.react() update_visuals() @@ -420,16 +435,7 @@ turf_list.Cut() SSair.excited_groups -= src - - - - - - - - - -turf/simulated/proc/super_conduct() +/turf/simulated/proc/super_conduct() var/conductivity_directions = 0 if(blocks_air) //Does not participate in air exchange, so will conduct heat across all four borders at this time diff --git a/code/__DEFINES/tick.dm b/code/__DEFINES/_tick.dm similarity index 52% rename from code/__DEFINES/tick.dm rename to code/__DEFINES/_tick.dm index 80550ab5e7a..666971e7209 100644 --- a/code/__DEFINES/tick.dm +++ b/code/__DEFINES/_tick.dm @@ -6,5 +6,8 @@ #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 ( world.tick_usage > TICK_LIMIT_RUNNING ? stoplag() : 0 ) -#define CHECK_TICK if(world.tick_usage > TICK_LIMIT_RUNNING) stoplag() \ No newline at end of file +#define TICK_CHECK ( TICK_USAGE > Master.current_ticklimit ) +#define CHECK_TICK ( TICK_CHECK ? stoplag() : 0 ) + +#define TICK_CHECK_HIGH_PRIORITY ( TICK_USAGE > 95 ) +#define CHECK_TICK_HIGH_PRIORITY ( TICK_CHECK_HIGH_PRIORITY? stoplag() : 0 ) \ No newline at end of file diff --git a/code/__DEFINES/callbacks.dm b/code/__DEFINES/callbacks.dm index c0d8ac15ace..26c81f8b143 100644 --- a/code/__DEFINES/callbacks.dm +++ b/code/__DEFINES/callbacks.dm @@ -1,2 +1,4 @@ +#define GLOBAL_PROC "some_magic_bullshit" + #define CALLBACK new /datum/callback #define INVOKE_ASYNC ImmediateInvokeAsync \ No newline at end of file diff --git a/code/__DEFINES/clothing.dm b/code/__DEFINES/clothing.dm index f7fe5b8b28e..c44c65397dd 100644 --- a/code/__DEFINES/clothing.dm +++ b/code/__DEFINES/clothing.dm @@ -9,7 +9,7 @@ #define HIDEEYES 4 //APPLIES ONLY TO HELMETS/MASKS!! (eyes means glasses) #define HIDEFACE 8 //APPLIES ONLY TO HELMETS/MASKS!! Dictates whether we appear as unknown. -//slots +// slots #define slot_back 1 #define slot_wear_mask 2 #define slot_handcuffed 3 @@ -35,6 +35,11 @@ #define slot_collar 23 #define slots_amt 23 +// accessory slots +#define ACCESSORY_SLOT_DECOR 1 +#define ACCESSORY_SLOT_UTILITY 2 +#define ACCESSORY_SLOT_ARMBAND 3 + //Cant seem to find a mob bitflags area other than the powers one // bitflags for clothing parts diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm new file mode 100644 index 00000000000..e28708a81e6 --- /dev/null +++ b/code/__DEFINES/colors.dm @@ -0,0 +1,54 @@ + +#define COLOR_INPUT_DISABLED "#F0F0F0" +#define COLOR_INPUT_ENABLED "#D3B5B5" +#define COLOR_WHITE "#EEEEEE" +#define COLOR_SILVER "#C0C0C0" +#define COLOR_GRAY "#808080" +#define COLOR_FLOORTILE_GRAY "#8D8B8B" +#define COLOR_ALMOST_BLACK "#333333" +#define COLOR_BLACK "#000000" +#define COLOR_RED "#FF0000" +#define COLOR_RED_LIGHT "#FF3333" +#define COLOR_MAROON "#800000" +#define COLOR_YELLOW "#FFFF00" +#define COLOR_OLIVE "#808000" +#define COLOR_LIME "#32CD32" +#define COLOR_GREEN "#008000" +#define COLOR_CYAN "#00FFFF" +#define COLOR_TEAL "#008080" +#define COLOR_BLUE "#0000FF" +#define COLOR_BLUE_LIGHT "#33CCFF" +#define COLOR_NAVY "#000080" +#define COLOR_PINK "#FFC0CB" +#define COLOR_MAGENTA "#FF00FF" +#define COLOR_PURPLE "#800080" +#define COLOR_ORANGE "#FF9900" +#define COLOR_BEIGE "#CEB689" +#define COLOR_BLUE_GRAY "#75A2BB" +#define COLOR_BROWN "#BA9F6D" +#define COLOR_DARK_BROWN "#997C4F" +#define COLOR_DARK_ORANGE "#C3630C" +#define COLOR_GREEN_GRAY "#99BB76" +#define COLOR_RED_GRAY "#B4696A" +#define COLOR_PALE_BLUE_GRAY "#98C5DF" +#define COLOR_PALE_GREEN_GRAY "#B7D993" +#define COLOR_PALE_RED_GRAY "#D59998" +#define COLOR_PALE_PURPLE_GRAY "#CBB1CA" +#define COLOR_PURPLE_GRAY "#AE8CA8" + +//Color defines used by the assembly detailer. +#define COLOR_ASSEMBLY_BLACK "#545454" +#define COLOR_ASSEMBLY_BGRAY "#9497AB" +#define COLOR_ASSEMBLY_WHITE "#E2E2E2" +#define COLOR_ASSEMBLY_RED "#CC4242" +#define COLOR_ASSEMBLY_ORANGE "#E39751" +#define COLOR_ASSEMBLY_BEIGE "#AF9366" +#define COLOR_ASSEMBLY_BROWN "#97670E" +#define COLOR_ASSEMBLY_GOLD "#AA9100" +#define COLOR_ASSEMBLY_YELLOW "#CECA2B" +#define COLOR_ASSEMBLY_GURKHA "#999875" +#define COLOR_ASSEMBLY_LGREEN "#789876" +#define COLOR_ASSEMBLY_GREEN "#44843C" +#define COLOR_ASSEMBLY_LBLUE "#5D99BE" +#define COLOR_ASSEMBLY_BLUE "#38559E" +#define COLOR_ASSEMBLY_PURPLE "#6F6192" diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index a8c6b4bd5e8..fbc28695ebf 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -70,6 +70,10 @@ #define ATTACK_EFFECT_MECHFIRE "mech_fire" #define ATTACK_EFFECT_MECHTOXIN "mech_toxin" #define ATTACK_EFFECT_BOOP "boop" //Honk +//NOTE: INTENT_HOTKEY_* defines are not actual intents! +//they are here to support hotkeys +#define INTENT_HOTKEY_LEFT "left" +#define INTENT_HOTKEY_RIGHT "right" //Embedded objects #define EMBEDDED_PAIN_CHANCE 15 //Chance for embedded objects to cause pain (damage user) @@ -82,6 +86,22 @@ #define EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER 8 //Coefficient of multiplication for the damage the item does when removed without a surgery (this*item.w_class) #define EMBEDDED_UNSAFE_REMOVAL_TIME 30 //A Time in ticks, total removal time = (this*item.w_class) +// Body Parts +#define BODY_ZONE_HEAD "head" +#define BODY_ZONE_CHEST "chest" +#define BODY_ZONE_L_ARM "l_arm" +#define BODY_ZONE_R_ARM "r_arm" +#define BODY_ZONE_L_LEG "l_leg" +#define BODY_ZONE_R_LEG "r_leg" + +#define BODY_ZONE_PRECISE_EYES "eyes" +#define BODY_ZONE_PRECISE_MOUTH "mouth" +#define BODY_ZONE_PRECISE_GROIN "groin" +#define BODY_ZONE_PRECISE_L_HAND "l_hand" +#define BODY_ZONE_PRECISE_R_HAND "r_hand" +#define BODY_ZONE_PRECISE_L_FOOT "l_foot" +#define BODY_ZONE_PRECISE_R_FOOT "r_foot" + //Gun Stuff #define SAWN_INTACT 0 #define SAWN_OFF 1 diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 444077aacd7..14b712754fb 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -1,6 +1,9 @@ #define ALL ~0 //For convenience. #define NONE 0 +// for /datum/var/datum_flags +#define DF_USE_TAG (1<<0) + //FLAGS BITMASK #define STOPSPRESSUREDMAGE 1 //This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. #define NODROP 2 // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted. @@ -101,6 +104,8 @@ //turf-only flags #define NOJAUNT 1 +#define NO_LAVA_GEN 2 //Blocks lava rivers being generated on the turf +#define NO_RUINS 4 //ITEM INVENTORY SLOT BITMASKS #define SLOT_OCLOTHING 1 diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index d793737eb6b..943878821c3 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -18,6 +18,8 @@ #define ismecha(A) (istype(A, /obj/mecha)) +#define iseffect(A) (istype(A, /obj/effect)) + #define is_cleanable(A) (istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/rune)) //if something is cleanable #define is_pen(W) (istype(W, /obj/item/pen)) @@ -55,6 +57,10 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list( #define ismineralturf(A) istype(A, /turf/simulated/mineral) +#define islava(A) (istype(A, /turf/simulated/floor/plating/lava)) + +#define ischasm(A) (istype(A, /turf/simulated/floor/chasm)) + //Mobs #define isliving(A) (istype(A, /mob/living)) diff --git a/code/__DEFINES/medal.dm b/code/__DEFINES/medal.dm new file mode 100644 index 00000000000..81dea5f373b --- /dev/null +++ b/code/__DEFINES/medal.dm @@ -0,0 +1,24 @@ +// Medal names +#define BOSS_KILL_MEDAL "Killer" +#define ALL_KILL_MEDAL "Exterminator" //Killing all of x type +#define BOSS_KILL_MEDAL_CRUSHER "Crusher" + + //Defines for boss medals +#define BOSS_MEDAL_MINER "Blood-drunk Miner" +#define BOSS_MEDAL_BUBBLEGUM "Bubblegum" +#define BOSS_MEDAL_COLOSSUS "Colossus" +#define BOSS_MEDAL_DRAKE "Drake" +#define BOSS_MEDAL_HIEROPHANT "Hierophant" +#define BOSS_MEDAL_LEGION "Legion" +#define BOSS_MEDAL_SWARMERS "Swarmer Beacon" +#define BOSS_MEDAL_TENDRIL "Tendril" + + // Score names +#define HIEROPHANT_SCORE "Hierophants Killed" +#define BOSS_SCORE "Bosses Killed" +#define BUBBLEGUM_SCORE "Bubblegum Killed" +#define COLOSSUS_SCORE "Colossus Killed" +#define DRAKE_SCORE "Drakes Killed" +#define LEGION_SCORE "Legion Killed" +#define SWARMER_BEACON_SCORE "Swarmer Beacons Killed" +#define TENDRIL_CLEAR_SCORE "Tendrils Killed" \ No newline at end of file diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 5edb17bd92b..b491bc6e354 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -57,17 +57,6 @@ #define MAX_STACK_AMOUNT_GLASS 50 #define MAX_STACK_AMOUNT_RODS 60 -//some colors -#define COLOR_RED "#FF0000" -#define COLOR_GREEN "#00FF00" -#define COLOR_BLUE "#0000FF" -#define COLOR_CYAN "#00FFFF" -#define COLOR_PINK "#FF00FF" -#define COLOR_YELLOW "#FFFF00" -#define COLOR_ORANGE "#FF9900" -#define COLOR_WHITE "#FFFFFF" -#define COLOR_GRAY "#808080" - //FONTS: // Used by Paper and PhotoCopier (and PaperBin once a year). // Used by PDA's Notekeeper. @@ -298,19 +287,6 @@ // The cooldown on OOC messages such as OOC, LOOC, praying and adminhelps #define OOC_COOLDOWN 5 -// Medal names -#define BOSS_KILL_MEDAL "Killer" -#define ALL_KILL_MEDAL "Exterminator" //Killing all of x type - -// Score names -#define LEGION_SCORE "Legion Killed" -#define COLOSSUS_SCORE "Colossus Killed" -#define BUBBLEGUM_SCORE "Bubblegum Killed" -#define DRAKE_SCORE "Drakes Killed" -#define BIRD_SCORE "Hierophants Killed" -#define BOSS_SCORE "Bosses Killed" -#define TENDRIL_CLEAR_SCORE "Tendrils Killed" - // The number of station goals generated each round. #define STATION_GOAL_BUDGET 1 @@ -339,7 +315,7 @@ #define INVESTIGATE_BOMB "bombs" // The SQL version required by this version of the code -#define SQL_VERSION 5 +#define SQL_VERSION 8 // Vending machine stuff #define CAT_NORMAL 1 @@ -368,6 +344,31 @@ #define DEFIB_TIME_LIMIT 120 #define DEFIB_TIME_LOSS 60 +//different types of atom colorations +#define ADMIN_COLOUR_PRIORITY 1 //only used by rare effects like greentext coloring mobs and when admins varedit color +#define TEMPORARY_COLOUR_PRIORITY 2 //e.g. purple effect of the revenant on a mob, black effect when mob electrocuted +#define WASHABLE_COLOUR_PRIORITY 3 //color splashed onto an atom (e.g. paint on turf) +#define FIXED_COLOUR_PRIORITY 4 //color inherent to the atom (e.g. blob color) +#define COLOUR_PRIORITY_AMOUNT 4 //how many priority levels there are. + +//Ruin Generation + +#define SPACERUIN_MAP_EDGE_PAD 15 +#define PLACEMENT_TRIES 100 //How many times we try to fit the ruin somewhere until giving up (really should just swap to some packing algo) + +#define PLACE_DEFAULT "random" +#define PLACE_SAME_Z "same" +#define PLACE_SPACE_RUIN "space" +#define PLACE_LAVA_RUIN "lavaland" + +//Cleaning tool strength +// 1 is also a valid cleaning strength but completely unused so left undefined +#define CLEAN_WEAK 2 +#define CLEAN_MEDIUM 3 // Acceptable tools +#define CLEAN_STRONG 4 // Industrial strength +#define CLEAN_IMPRESSIVE 5 // Cleaning strong enough your granny would be proud +#define CLEAN_GOD 6 // Cleans things spotless down to the atomic structure + //Ghost orbit types: #define GHOST_ORBIT_CIRCLE "circle" #define GHOST_ORBIT_TRIANGLE "triangle" @@ -375,6 +376,9 @@ #define GHOST_ORBIT_SQUARE "square" #define GHOST_ORBIT_PENTAGON "pentagon" +//Explosive wall groups +#define EXPLOSIVE_WALL_GROUP_SYNDICATE_BASE "syndicate_base" + // Filters #define FILTER_AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") @@ -387,3 +391,6 @@ #define SENSOR_LIVING 1 #define SENSOR_VITALS 2 #define SENSOR_COORDS 3 + +// Cult summon possibilities +#define SUMMON_POSSIBILITIES 3 \ No newline at end of file diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 22b4334e3be..9582fddccfe 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -16,6 +16,7 @@ #define CHAT_GHOSTSIGHT 8 #define CHAT_PRAYER 16 #define CHAT_RADIO 32 +#define AZERTY 64 #define CHAT_DEBUGLOGS 128 #define CHAT_LOOC 256 #define CHAT_GHOSTRADIO 512 @@ -31,10 +32,12 @@ #define CHAT_NO_MENTORTICKETLOGS 524288 #define TYPING_ONCE 1048576 #define AMBIENT_OCCLUSION 2097152 +#define CHAT_GHOSTPDA 4194304 +#define NUMPAD_TARGET 8388608 +#define TOGGLES_TOTAL 16777215 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. -#define TOGGLES_TOTAL 4194303 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. -#define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC|AMBIENT_OCCLUSION) +#define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC|AMBIENT_OCCLUSION|CHAT_GHOSTPDA|NUMPAD_TARGET) // Admin attack logs filter system, see /proc/add_attack_logs and /proc/msg_admin_attack #define ATKLOG_ALL 0 diff --git a/code/__DEFINES/process_scheduler.dm b/code/__DEFINES/process_scheduler.dm deleted file mode 100644 index c6c3722d49f..00000000000 --- a/code/__DEFINES/process_scheduler.dm +++ /dev/null @@ -1,34 +0,0 @@ -// Process status defines -#define PROCESS_STATUS_IDLE 1 -#define PROCESS_STATUS_QUEUED 2 -#define PROCESS_STATUS_RUNNING 3 -#define PROCESS_STATUS_MAYBE_HUNG 4 -#define PROCESS_STATUS_PROBABLY_HUNG 5 -#define PROCESS_STATUS_HUNG 6 - -// Process time thresholds -#define PROCESS_DEFAULT_HANG_WARNING_TIME 300 // 30 seconds -#define PROCESS_DEFAULT_HANG_ALERT_TIME 600 // 60 seconds -#define PROCESS_DEFAULT_HANG_RESTART_TIME 900 // 90 seconds -#define PROCESS_DEFAULT_SCHEDULE_INTERVAL 50 // 50 ticks -#define PROCESS_DEFAULT_SLEEP_INTERVAL 20 // 20% of a tick -#define PROCESS_DEFAULT_DEFER_USAGE 90 // 90% of a tick - -// Sleep check macro -#define SCHECK if(world.tick_usage >= next_sleep_usage) defer() - -//Timing Controller -#define GLOBAL_PROC "some_magic_bullshit" - -#define DECLARE_GLOBAL_CONTROLLER(PROCESS,VARNAME) \ -/datum/controller/process/##PROCESS/assertGlobality(){\ - if(##VARNAME){\ - message_admins("Controller '[name]' tried to become global but found another controller there already. Deleting the old controller.");\ - qdel(##VARNAME);}\ - ##VARNAME = src;}\ -\ -/datum/controller/process/##PROCESS/releaseGlobality(){\ - if(##VARNAME == src)\ - ##VARNAME = null;\ - else\ - message_admins("Controller '[name]' asked to release global control in spite of not having it!");} diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 65372fed1c8..34ad4d69e54 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -43,6 +43,7 @@ #define ROLE_DRONE "drone" #define ROLE_DEATHSQUAD "deathsquad" #define ROLE_EVENTMISC "eventmisc" +#define ROLE_GHOST "ghost role" //Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR. //The gamemode specific ones are just so the gamemodes can query whether a player is old enough diff --git a/code/__DEFINES/rolebans.dm b/code/__DEFINES/rolebans.dm index b2eb79e26be..d6e54abf14a 100644 --- a/code/__DEFINES/rolebans.dm +++ b/code/__DEFINES/rolebans.dm @@ -25,6 +25,7 @@ var/global/list/other_roles = list( ROLE_SENTIENT, ROLE_NYMPH, ROLE_ERT, + ROLE_GHOST, "AntagHUD", "Records" ) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index b492e91ece5..e5d5bb723c1 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -14,6 +14,7 @@ #define STATUS_EFFECT_SHADOW_MEND /datum/status_effect/shadow_mend //Quick, powerful heal that deals damage afterwards. Heals 15 brute/burn every second for 3 seconds. #define STATUS_EFFECT_VOID_PRICE /datum/status_effect/void_price //The price of healing yourself with void energy. Deals 3 brute damage every 3 seconds for 30 seconds. +#define STATUS_EFFECT_EXERCISED /datum/status_effect/exercised //Prevents heart disease //#define STATUS_EFFECT_VANGUARD /datum/status_effect/vanguard_shield //Grants temporary stun absorption, but will stun the user based on how many stuns they absorbed. //#define STATUS_EFFECT_INATHNEQS_ENDOWMENT /datum/status_effect/inathneqs_endowment //A 15-second invulnerability and stun absorption, granted by Inath-neq. @@ -53,7 +54,7 @@ //#define STATUS_EFFECT_CRUSHERMARK /datum/status_effect/crusher_mark //if struck with a proto-kinetic crusher, takes a ton of damage -//#define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage +#define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage //#define STATUS_EFFECT_NECROPOLIS_CURSE /datum/status_effect/necropolis_curse //#define CURSE_BLINDING 1 //makes the edges of the target's screen obscured diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 472f7be75f4..11c86940b75 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -121,10 +121,6 @@ A.diagonal_smooth(adjacencies) else cardinal_smooth(A, adjacencies) - if(A.smooth & SMOOTH_DIAGONAL) - A.diagonal_smooth(adjacencies) - else - cardinal_smooth(A, adjacencies) /atom/proc/diagonal_smooth(adjacencies) switch(adjacencies) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 6b5807deaef..9e01753d492 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -353,12 +353,12 @@ var/middle = L.len / 2 + 1 // Copy is first,second-1 return mergeLists(sortList(L.Copy(0,middle)), sortList(L.Copy(middle))) //second parameter null = to end of list -//Mergsorge: uses sortList() but uses the var's name specifically. This should probably be using mergeAtom() instead +//Mergsorge: uses sortAssoc() but uses the var's name specifically. This should probably be using mergeAtom() instead /proc/sortNames(var/list/L) var/list/Q = new() for(var/atom/x in L) Q[x.name] = x - return sortList(Q) + return sortAssoc(Q) /proc/mergeLists(var/list/L, var/list/R) var/Li=1 diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 246377eba32..d5a1ad8cbfd 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -161,12 +161,8 @@ GLOBAL_VAR(syndicate_code_response) //Code response for traitors. if(1)//1 and 2 can only be selected once each to prevent more than two specific names/places/etc. switch(rand(1,2))//Mainly to add more options later. if(1) - if(names.len&&prob(70)) + if(names.len) code_phrase += pick(names) - else - code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female)) - code_phrase += " " - code_phrase += pick(GLOB.last_names) if(2) code_phrase += pick(GLOB.joblist)//Returns a job. safety -= 1 diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm index 607ba3495d3..d419e925759 100644 --- a/code/__HELPERS/pronouns.dm +++ b/code/__HELPERS/pronouns.dm @@ -43,7 +43,7 @@ . = "e[.]" //like clients, which do have gender. -/client/proc/p_they(capitalized, temp_gender) +/client/p_they(capitalized, temp_gender) if(!temp_gender) temp_gender = gender . = "they" @@ -55,7 +55,7 @@ if(capitalized) . = capitalize(.) -/client/proc/p_their(capitalized, temp_gender) +/client/p_their(capitalized, temp_gender) if(!temp_gender) temp_gender = gender . = "their" @@ -67,7 +67,7 @@ if(capitalized) . = capitalize(.) -/client/proc/p_them(capitalized, temp_gender) +/client/p_them(capitalized, temp_gender) if(!temp_gender) temp_gender = gender . = "them" @@ -79,35 +79,35 @@ if(capitalized) . = capitalize(.) -/client/proc/p_have(temp_gender) +/client/p_have(temp_gender) if(!temp_gender) temp_gender = gender . = "has" if(temp_gender == PLURAL || temp_gender == NEUTER) . = "have" -/client/proc/p_are(temp_gender) +/client/p_are(temp_gender) if(!temp_gender) temp_gender = gender . = "is" if(temp_gender == PLURAL || temp_gender == NEUTER) . = "are" -/client/proc/p_were(temp_gender) +/client/p_were(temp_gender) if(!temp_gender) temp_gender = gender . = "was" if(temp_gender == PLURAL || temp_gender == NEUTER) . = "were" -/client/proc/p_do(temp_gender) +/client/p_do(temp_gender) if(!temp_gender) temp_gender = gender . = "does" if(temp_gender == PLURAL || temp_gender == NEUTER) . = "do" -/client/proc/p_s(temp_gender) +/client/p_s(temp_gender) if(!temp_gender) temp_gender = gender if(temp_gender != PLURAL && temp_gender != NEUTER) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index f90a9c4e5ad..ae7704459b5 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -157,6 +157,17 @@ if(degree < 315) return WEST return NORTH|WEST +/proc/angle2dir_cardinal(angle) + switch(round(angle, 0.1)) + if(315.5 to 360, 0 to 45.5) + return NORTH + if(45.6 to 135.5) + return EAST + if(135.6 to 225.5) + return SOUTH + if(225.6 to 315.5) + return WEST + //returns the north-zero clockwise angle in degrees, given a direction /proc/dir2angle(var/D) diff --git a/code/__HELPERS/unique_ids.dm b/code/__HELPERS/unique_ids.dm index 1e9c699dcb9..a66de0b5a88 100644 --- a/code/__HELPERS/unique_ids.dm +++ b/code/__HELPERS/unique_ids.dm @@ -16,7 +16,7 @@ var/global/next_unique_datum_id = 1 -/client/var/tmp/unique_datum_id = null +// /client/var/tmp/unique_datum_id = null /datum/proc/UID() if(!unique_datum_id) @@ -26,12 +26,6 @@ var/global/next_unique_datum_id = 1 tag = tag_backup return unique_datum_id -/client/proc/UID() - if(!unique_datum_id) - unique_datum_id = "\ref[src]_[next_unique_datum_id++]" - return unique_datum_id - - /proc/locateUID(uid) if(!istext(uid)) return null diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 00724c94a03..10759fe336a 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1,2045 +1,2065 @@ -/* - * A large number of misc global procs. - */ - - /* Get the direction of startObj relative to endObj. - * Return values: To the right, 1. Below, 2. To the left, 3. Above, 4. Not found adjacent in cardinal directions, 0. - */ -/proc/getRelativeDirection(var/atom/movable/startObj, var/atom/movable/endObj) - if(endObj.x == startObj.x + 1 && endObj.y == startObj.y) - return EAST - - if(endObj.x == startObj.x - 1 && endObj.y == startObj.y) - return WEST - - if(endObj.y == startObj.y + 1 && endObj.x == startObj.x) - return NORTH - - if(endObj.y == startObj.y - 1 && endObj.x == startObj.x) - return SOUTH - - return 0 - -//Inverts the colour of an HTML string -/proc/invertHTML(HTMLstring) - - if(!( istext(HTMLstring) )) - CRASH("Given non-text argument!") - return - else - if(length(HTMLstring) != 7) - CRASH("Given non-HTML argument!") - return - var/textr = copytext(HTMLstring, 2, 4) - var/textg = copytext(HTMLstring, 4, 6) - var/textb = copytext(HTMLstring, 6, 8) - var/r = hex2num(textr) - var/g = hex2num(textg) - var/b = hex2num(textb) - textr = num2hex(255 - r) - textg = num2hex(255 - g) - textb = num2hex(255 - b) - if(length(textr) < 2) - textr = text("0[]", textr) - if(length(textg) < 2) - textr = text("0[]", textg) - if(length(textb) < 2) - textr = text("0[]", textb) - return text("#[][][]", textr, textg, textb) - return - -//Returns the middle-most value -/proc/dd_range(var/low, var/high, var/num) - return max(low,min(high,num)) - -//Returns whether or not A is the middle most value -/proc/InRange(var/A, var/lower, var/upper) - if(A < lower) return 0 - if(A > upper) return 0 - return 1 - - -/proc/Get_Angle(atom/movable/start,atom/movable/end)//For beams. - if(!start || !end) return 0 - var/dy - var/dx - dy=(32*end.y+end.pixel_y)-(32*start.y+start.pixel_y) - dx=(32*end.x+end.pixel_x)-(32*start.x+start.pixel_x) - if(!dy) - return (dx>=0)?90:270 - .=arctan(dx/dy) - if(dy<0) - .+=180 - else if(dx<0) - .+=360 - -//Returns location. Returns null if no location was found. -/proc/get_teleport_loc(turf/location,mob/target,distance = 1, density = 0, errorx = 0, errory = 0, eoffsetx = 0, eoffsety = 0) -/* -Location where the teleport begins, target that will teleport, distance to go, density checking 0/1(yes/no). -Random error in tile placement x, error in tile placement y, and block offset. -Block offset tells the proc how to place the box. Behind teleport location, relative to starting location, forward, etc. -Negative values for offset are accepted, think of it in relation to North, -x is west, -y is south. Error defaults to positive. -Turf and target are seperate in case you want to teleport some distance from a turf the target is not standing on or something. -*/ - - var/dirx = 0//Generic location finding variable. - var/diry = 0 - - var/xoffset = 0//Generic counter for offset location. - var/yoffset = 0 - - var/b1xerror = 0//Generic placing for point A in box. The lower left. - var/b1yerror = 0 - var/b2xerror = 0//Generic placing for point B in box. The upper right. - var/b2yerror = 0 - - errorx = abs(errorx)//Error should never be negative. - errory = abs(errory) - //var/errorxy = round((errorx+errory)/2)//Used for diagonal boxes. - - switch(target.dir)//This can be done through equations but switch is the simpler method. And works fast to boot. - //Directs on what values need modifying. - if(1)//North - diry+=distance - yoffset+=eoffsety - xoffset+=eoffsetx - b1xerror-=errorx - b1yerror-=errory - b2xerror+=errorx - b2yerror+=errory - if(2)//South - diry-=distance - yoffset-=eoffsety - xoffset+=eoffsetx - b1xerror-=errorx - b1yerror-=errory - b2xerror+=errorx - b2yerror+=errory - if(4)//East - dirx+=distance - yoffset+=eoffsetx//Flipped. - xoffset+=eoffsety - b1xerror-=errory//Flipped. - b1yerror-=errorx - b2xerror+=errory - b2yerror+=errorx - if(8)//West - dirx-=distance - yoffset-=eoffsetx//Flipped. - xoffset+=eoffsety - b1xerror-=errory//Flipped. - b1yerror-=errorx - b2xerror+=errory - b2yerror+=errorx - - var/turf/destination=locate(location.x+dirx,location.y+diry,location.z) - - if(destination)//If there is a destination. - if(errorx||errory)//If errorx or y were specified. - var/destination_list[] = list()//To add turfs to list. - //destination_list = new() - /*This will draw a block around the target turf, given what the error is. - Specifying the values above will basically draw a different sort of block. - If the values are the same, it will be a square. If they are different, it will be a rectengle. - In either case, it will center based on offset. Offset is position from center. - Offset always calculates in relation to direction faced. In other words, depending on the direction of the teleport, - the offset should remain positioned in relation to destination.*/ - - var/turf/center = locate((destination.x+xoffset),(destination.y+yoffset),location.z)//So now, find the new center. - - //Now to find a box from center location and make that our destination. - for(var/turf/T in block(locate(center.x+b1xerror,center.y+b1yerror,location.z), locate(center.x+b2xerror,center.y+b2yerror,location.z) )) - if(density&&T.density) continue//If density was specified. - if(T.x>world.maxx || T.x<1) continue//Don't want them to teleport off the map. - if(T.y>world.maxy || T.y<1) continue - destination_list += T - if(destination_list.len) - destination = pick(destination_list) - else return - - else//Same deal here. - if(density&&destination.density) return - if(destination.x>world.maxx || destination.x<1) return - if(destination.y>world.maxy || destination.y<1) return - else return - - return destination - -// Returns true if direction is blocked from loc -// Checks if doors are open -/proc/DirBlocked(turf/loc,var/dir) - for(var/obj/structure/window/D in loc) - if(!D.density) - continue - if(D.fulltile) - return 1 - if(D.dir == dir) - return 1 - - for(var/obj/machinery/door/D in loc) - if(!D.density)//if the door is open - continue - else return 1 // if closed, it's a real, air blocking door - return 0 - -///////////////////////////////////////////////////////////////////////// - -/proc/getline(atom/M,atom/N)//Ultra-Fast Bresenham Line-Drawing Algorithm - var/px=M.x //starting x - var/py=M.y - var/line[] = list(locate(px,py,M.z)) - var/dx=N.x-px //x distance - var/dy=N.y-py - var/dxabs=abs(dx)//Absolute value of x distance - var/dyabs=abs(dy) - var/sdx=SIGN(dx) //Sign of x distance (+ or -) - var/sdy=SIGN(dy) - var/x=dxabs>>1 //Counters for steps taken, setting to distance/2 - var/y=dyabs>>1 //Bit-shifting makes me l33t. It also makes getline() unnessecarrily fast. - var/j //Generic integer for counting - if(dxabs>=dyabs) //x distance is greater than y - for(j=0;j=dxabs) //Every dyabs steps, step once in y direction - y-=dxabs - py+=sdy - px+=sdx //Step on in x direction - line+=locate(px,py,M.z)//Add the turf to the list - else - for(j=0;j=dyabs) - x-=dyabs - px+=sdx - py+=sdy - line+=locate(px,py,M.z) - return line - -//Same as the thing below just for density and without support for atoms. -/proc/can_line(atom/source, atom/target, length = 5) - var/turf/current = get_turf(source) - var/turf/target_turf = get_turf(target) - var/steps = 0 - - while(current != target_turf) - if(steps > length) - return FALSE - if(!current) - return FALSE - if(current.density) - return FALSE - current = get_step_towards(current, target_turf) - steps++ - return TRUE - -//Returns whether or not a player is a guest using their ckey as an input -/proc/IsGuestKey(key) - if(findtext(key, "Guest-", 1, 7) != 1) //was findtextEx - return 0 - - var/i, ch, len = length(key) - - for(i = 7, i <= len, ++i) - ch = text2ascii(key, i) - if(ch < 48 || ch > 57) - return 0 - return 1 - -//Ensure the frequency is within bounds of what it should be sending/recieving at -/proc/sanitize_frequency(var/f, var/low = PUBLIC_LOW_FREQ, var/high = PUBLIC_HIGH_FREQ) - f = round(f) - f = max(low, f) - f = min(high, f) - if((f % 2) == 0) //Ensure the last digit is an odd number - f += 1 - return f - -//Turns 1479 into 147.9 -/proc/format_frequency(var/f) - return "[round(f / 10)].[f % 10]" - -/obj/proc/atmosanalyzer_scan(var/datum/gas_mixture/air_contents, mob/user, var/obj/target = src) - var/obj/icon = target - user.visible_message("[user] has used the analyzer on [target].", "You use the analyzer on [target].") - var/pressure = air_contents.return_pressure() - var/total_moles = air_contents.total_moles() - - user.show_message("Results of analysis of [bicon(icon)] [target].", 1) - if(total_moles>0) - var/o2_concentration = air_contents.oxygen/total_moles - var/n2_concentration = air_contents.nitrogen/total_moles - var/co2_concentration = air_contents.carbon_dioxide/total_moles - var/plasma_concentration = air_contents.toxins/total_moles - - var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+plasma_concentration) - - user.show_message("Pressure: [round(pressure,0.1)] kPa", 1) - user.show_message("Nitrogen: [round(n2_concentration*100)] % ([round(air_contents.nitrogen,0.01)] moles)", 1) - user.show_message("Oxygen: [round(o2_concentration*100)] % ([round(air_contents.oxygen,0.01)] moles)", 1) - user.show_message("CO2: [round(co2_concentration*100)] % ([round(air_contents.carbon_dioxide,0.01)] moles)", 1) - user.show_message("Plasma: [round(plasma_concentration*100)] % ([round(air_contents.toxins,0.01)] moles)", 1) - if(unknown_concentration>0.01) - user.show_message("Unknown: [round(unknown_concentration*100)] % ([round(unknown_concentration*total_moles,0.01)] moles)", 1) - user.show_message("Total: [round(total_moles,0.01)] moles", 1) - user.show_message("Temperature: [round(air_contents.temperature-T0C)] °C", 1) - else - user.show_message("[target] is empty!", 1) - return - -//Picks a string of symbols to display as the law number for hacked or ion laws -/proc/ionnum() - return "[pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" - -//When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave. -/proc/freeborg() - var/select = null - var/list/borgs = list() - for(var/mob/living/silicon/robot/A in GLOB.player_list) - if(A.stat == 2 || A.connected_ai || A.scrambledcodes || istype(A,/mob/living/silicon/robot/drone)) - continue - var/name = "[A.real_name] ([A.modtype] [A.braintype])" - borgs[name] = A - - if(borgs.len) - select = input("Unshackled borg signals detected:", "Borg selection", null, null) as null|anything in borgs - return borgs[select] - -//When a borg is activated, it can choose which AI it wants to be slaved to -/proc/active_ais() - . = list() - for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) - if(A.stat == DEAD) - continue - if(A.control_disabled == 1) - continue - . += A - return . - -//Find an active ai with the least borgs. VERBOSE PROCNAME HUH! -/proc/select_active_ai_with_fewest_borgs() - var/mob/living/silicon/ai/selected - var/list/active = active_ais() - for(var/mob/living/silicon/ai/A in active) - if(!selected || (selected.connected_robots > A.connected_robots)) - selected = A - - return selected - -/proc/select_active_ai(var/mob/user) - var/list/ais = active_ais() - if(ais.len) - if(user) . = input(usr,"AI signals detected:", "AI selection") in ais - else . = pick(ais) - return . - -/proc/get_sorted_mobs() - var/list/old_list = getmobs() - var/list/AI_list = list() - var/list/Dead_list = list() - var/list/keyclient_list = list() - var/list/key_list = list() - var/list/logged_list = list() - for(var/named in old_list) - var/mob/M = old_list[named] - if(issilicon(M)) - AI_list |= M - else if(isobserver(M) || M.stat == DEAD) - Dead_list |= M - else if(M.key && M.client) - keyclient_list |= M - else if(M.key) - key_list |= M - else - logged_list |= M - old_list.Remove(named) - var/list/new_list = list() - new_list += AI_list - new_list += keyclient_list - new_list += key_list - new_list += logged_list - new_list += Dead_list - return new_list - -//Returns a list of all mobs with their name -/proc/getmobs() - - var/list/mobs = sortmobs() - var/list/names = list() - var/list/creatures = list() - var/list/namecounts = list() - for(var/mob/M in mobs) - var/name = M.name - if(name in names) - namecounts[name]++ - name = "[name] ([namecounts[name]])" - else - names.Add(name) - namecounts[name] = 1 - if(M.real_name && M.real_name != M.name) - name += " \[[M.real_name]\]" - if(M.stat == DEAD) - if(istype(M, /mob/dead/observer/)) - name += " \[ghost\]" - else - name += " \[dead\]" - creatures[name] = M - - return creatures - -//Orders mobs by type then by name -/proc/sortmobs() - var/list/moblist = list() - var/list/sortmob = sortAtom(GLOB.mob_list) - for(var/mob/living/silicon/ai/M in sortmob) - moblist.Add(M) - if(M.eyeobj) - moblist.Add(M.eyeobj) - for(var/mob/living/silicon/pai/M in sortmob) - moblist.Add(M) - for(var/mob/living/silicon/robot/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/human/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/brain/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/alien/M in sortmob) - moblist.Add(M) - for(var/mob/dead/observer/M in sortmob) - moblist.Add(M) - for(var/mob/new_player/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/slime/M in sortmob) - moblist.Add(M) - for(var/mob/living/simple_animal/M in sortmob) - moblist.Add(M) - return moblist - -// Format a power value in W, kW, MW, or GW. -/proc/DisplayPower(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" - -//E = MC^2 -/proc/convert2energy(var/M) - var/E = M*(SPEED_OF_LIGHT_SQ) - return E - -//M = E/C^2 -/proc/convert2mass(var/E) - var/M = E/(SPEED_OF_LIGHT_SQ) - return M - -//Forces a variable to be posative -/proc/modulus(var/M) - if(M >= 0) - return M - if(M < 0) - return -M - -/proc/get_mob_by_ckey(key) - if(!key) - return - for(var/mob/M in GLOB.mob_list) - if(M.ckey == key) - return M - -// Returns the atom sitting on the turf. -// For example, using this on a disk, which is in a bag, on a mob, will return the mob because it's on the turf. -/proc/get_atom_on_turf(var/atom/movable/M) - var/atom/loc = M - while(loc && loc.loc && !istype(loc.loc, /turf/)) - loc = loc.loc - return loc - -/* -Returns 1 if the chain up to the area contains the given typepath -0 otherwise -*/ -/atom/proc/is_found_within(var/typepath) - var/atom/A = src - while(A.loc) - if(istype(A.loc, typepath)) - return 1 - A = A.loc - return 0 - -// the on-close client verb -// called when a browser popup window is closed after registering with proc/onclose() -// if a valid atom reference is supplied, call the atom's Topic() with "close=1" -// otherwise, just reset the client mob's machine var. - - -// returns the turf located at the map edge in the specified direction relative to A -// used for mass driver -/proc/get_edge_target_turf(var/atom/A, var/direction) - - var/turf/target = locate(A.x, A.y, A.z) - if(!A || !target) - return 0 - //since NORTHEAST == NORTH & EAST, etc, doing it this way allows for diagonal mass drivers in the future - //and isn't really any more complicated - - // Note diagonal directions won't usually be accurate - if(direction & NORTH) - target = locate(target.x, world.maxy, target.z) - if(direction & SOUTH) - target = locate(target.x, 1, target.z) - if(direction & EAST) - target = locate(world.maxx, target.y, target.z) - if(direction & WEST) - target = locate(1, target.y, target.z) - - return target - -// returns turf relative to A in given direction at set range -// result is bounded to map size -// note range is non-pythagorean -// used for disposal system -/proc/get_ranged_target_turf(var/atom/A, var/direction, var/range) - - var/x = A.x - var/y = A.y - if(direction & NORTH) - y = min(world.maxy, y + range) - if(direction & SOUTH) - y = max(1, y - range) - if(direction & EAST) - x = min(world.maxx, x + range) - if(direction & WEST) - x = max(1, x - range) - - return locate(x,y,A.z) - - -// returns turf relative to A offset in dx and dy tiles -// bound to map limits -/proc/get_offset_target_turf(var/atom/A, var/dx, var/dy) - var/x = min(world.maxx, max(1, A.x + dx)) - var/y = min(world.maxy, max(1, A.y + dy)) - return locate(x,y,A.z) - -//Makes sure MIDDLE is between LOW and HIGH. If not, it adjusts it. Returns the adjusted value. -/proc/between(var/low, var/middle, var/high) - return max(min(middle, high), low) - -proc/arctan(x) - var/y=arcsin(x/sqrt(1+x*x)) - return y - -//returns random gauss number -proc/GaussRand(var/sigma) - var/x,y,rsq - do - x=2*rand()-1 - y=2*rand()-1 - rsq=x*x+y*y - while(rsq>1 || !rsq) - return sigma*y*sqrt(-2*log(rsq)/rsq) - -//returns random gauss number, rounded to 'roundto' -proc/GaussRandRound(var/sigma,var/roundto) - return round(GaussRand(sigma),roundto) - -//Will return the contents of an atom recursivly to a depth of 'searchDepth' -/atom/proc/GetAllContents(searchDepth = 5) - var/list/toReturn = list() - - for(var/atom/part in contents) - toReturn += part - if(part.contents.len && searchDepth) - toReturn += part.GetAllContents(searchDepth - 1) - - return toReturn - -//Searches contents of the atom and returns the sum of all w_class of obj/item within -/atom/proc/GetTotalContentsWeight(searchDepth = 5) - var/weight = 0 - var/list/content = GetAllContents(searchDepth) - for(var/obj/item/I in content) - weight += I.w_class - return weight - -//Step-towards method of determining whether one atom can see another. Similar to viewers() -/proc/can_see(var/atom/source, var/atom/target, var/length=5) // I couldnt be arsed to do actual raycasting :I This is horribly inaccurate. - var/turf/current = get_turf(source) - var/turf/target_turf = get_turf(target) - var/steps = 1 - - if(current != target_turf) - current = get_step_towards(current, target_turf) - while(current != target_turf) - if(steps > length) - return 0 - if(current.opacity) - return 0 - for(var/thing in current) - var/atom/A = thing - if(A.opacity) - return 0 - current = get_step_towards(current, target_turf) - steps++ - - return 1 - -/proc/is_blocked_turf(var/turf/T) - var/cant_pass = 0 - if(T.density) cant_pass = 1 - for(var/atom/A in T) - if(A.density)//&&A.anchored - cant_pass = 1 - return cant_pass - -/proc/get_step_towards2(var/atom/ref , var/atom/trg) - var/base_dir = get_dir(ref, get_step_towards(ref,trg)) - var/turf/temp = get_step_towards(ref,trg) - - if(is_blocked_turf(temp)) - var/dir_alt1 = turn(base_dir, 90) - var/dir_alt2 = turn(base_dir, -90) - var/turf/turf_last1 = temp - var/turf/turf_last2 = temp - var/free_tile = null - var/breakpoint = 0 - - while(!free_tile && breakpoint < 10) - if(!is_blocked_turf(turf_last1)) - free_tile = turf_last1 - break - if(!is_blocked_turf(turf_last2)) - free_tile = turf_last2 - break - turf_last1 = get_step(turf_last1,dir_alt1) - turf_last2 = get_step(turf_last2,dir_alt2) - breakpoint++ - - if(!free_tile) return get_step(ref, base_dir) - else return get_step_towards(ref,free_tile) - - else return get_step(ref, base_dir) - -//Takes: Anything that could possibly have variables and a varname to check. -//Returns: 1 if found, 0 if not. -/proc/hasvar(var/datum/A, var/varname) - if(A.vars.Find(lowertext(varname))) return 1 - else return 0 - -//Returns: all the areas in the world -/proc/return_areas() - var/list/area/areas = list() - for(var/area/A in world) - areas += A - return areas - -//Returns: all the areas in the world, sorted. -/proc/return_sorted_areas() - return sortAtom(return_areas()) - -//Takes: Area type as text string or as typepath OR an instance of the area. -//Returns: A list of all areas of that type in the world. -/proc/get_areas(var/areatype) - if(!areatype) return null - if(istext(areatype)) areatype = text2path(areatype) - if(isarea(areatype)) - var/area/areatemp = areatype - areatype = areatemp.type - - var/list/areas = new/list() - for(var/area/N in world) - if(istype(N, areatype)) areas += N - return areas - -//Takes: Area type as text string or as typepath OR an instance of the area. -//Returns: A list of all turfs in areas of that type of that type in the world. -/proc/get_area_turfs(var/areatype) - if(!areatype) return null - if(istext(areatype)) areatype = text2path(areatype) - if(isarea(areatype)) - var/area/areatemp = areatype - areatype = areatemp.type - - var/list/turfs = new/list() - for(var/area/N in world) - if(istype(N, areatype)) - for(var/turf/T in N) turfs += T - return turfs - -//Takes: Area type as text string or as typepath OR an instance of the area. -//Returns: A list of all atoms (objs, turfs, mobs) in areas of that type of that type in the world. -/proc/get_area_all_atoms(var/areatype) - if(!areatype) return null - if(istext(areatype)) areatype = text2path(areatype) - if(isarea(areatype)) - var/area/areatemp = areatype - areatype = areatemp.type - - var/list/atoms = new/list() - for(var/area/N in world) - if(istype(N, areatype)) - for(var/atom/A in N) - atoms += A - return atoms - -/datum/coords //Simple datum for storing coordinates. - var/x_pos = null - var/y_pos = null - var/z_pos = null - -/area/proc/move_contents_to(var/area/A, var/turftoleave=null, var/direction = null) - //Takes: Area. Optional: turf type to leave behind. - //Returns: Nothing. - //Notes: Attempts to move the contents of one area to another area. - // Movement based on lower left corner. Tiles that do not fit - // into the new area will not be moved. - - if(!A || !src) return 0 - - var/list/turfs_src = get_area_turfs(src.type) - var/list/turfs_trg = get_area_turfs(A.type) - - var/src_min_x = 0 - var/src_min_y = 0 - for(var/turf/T in turfs_src) - if(T.x < src_min_x || !src_min_x) src_min_x = T.x - if(T.y < src_min_y || !src_min_y) src_min_y = T.y - - var/trg_min_x = 0 - var/trg_min_y = 0 - for(var/turf/T in turfs_trg) - if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x - if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y - - var/list/refined_src = new/list() - for(var/turf/T in turfs_src) - refined_src += T - refined_src[T] = new/datum/coords - var/datum/coords/C = refined_src[T] - C.x_pos = (T.x - src_min_x) - C.y_pos = (T.y - src_min_y) - - var/list/refined_trg = new/list() - for(var/turf/T in turfs_trg) - refined_trg += T - refined_trg[T] = new/datum/coords - var/datum/coords/C = refined_trg[T] - C.x_pos = (T.x - trg_min_x) - C.y_pos = (T.y - trg_min_y) - - var/list/fromupdate = new/list() - var/list/toupdate = new/list() - - moving: - for(var/turf/T in refined_src) - var/datum/coords/C_src = refined_src[T] - for(var/turf/B in refined_trg) - var/datum/coords/C_trg = refined_trg[B] - if(C_src.x_pos == C_trg.x_pos && C_src.y_pos == C_trg.y_pos) - - var/old_dir1 = T.dir - var/old_icon_state1 = T.icon_state - var/old_icon1 = T.icon - - var/turf/X = B.ChangeTurf(T.type) - X.dir = old_dir1 - X.icon_state = old_icon_state1 - X.icon = old_icon1 //Shuttle floors are in shuttle.dmi while the defaults are floors.dmi - - // Give the new turf our air, if simulated - if(istype(X, /turf/simulated) && istype(T, /turf/simulated)) - var/turf/simulated/sim = X - sim.copy_air_with_tile(T) - - - /* Quick visual fix for some weird shuttle corner artefacts when on transit space tiles */ - if(direction && findtext(X.icon_state, "swall_s")) - - // Spawn a new shuttle corner object - var/obj/corner = new() - corner.loc = X - corner.density = 1 - corner.anchored = 1 - corner.icon = X.icon - corner.icon_state = replacetext(X.icon_state, "_s", "_f") - corner.tag = "delete me" - corner.name = "wall" - - // Find a new turf to take on the property of - var/turf/nextturf = get_step(corner, direction) - if(!nextturf || !istype(nextturf, /turf/space)) - nextturf = get_step(corner, turn(direction, 180)) - - - // Take on the icon of a neighboring scrolling space icon - X.icon = nextturf.icon - X.icon_state = nextturf.icon_state - - - for(var/obj/O in T) - - // Reset the shuttle corners - if(O.tag == "delete me") - X.icon = 'icons/turf/shuttle.dmi' - X.icon_state = replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state - X.name = "wall" - qdel(O) // prevents multiple shuttle corners from stacking - continue - if(!istype(O,/obj)) continue - O.loc.Exited(O) - O.setLoc(X,teleported=1) - O.loc.Entered(O) - for(var/mob/M in T) - if(!M.move_on_shuttle) - continue - M.loc = X - -// var/area/AR = X.loc - -// if(AR.lighting_use_dynamic) //TODO: rewrite this code so it's not messed by lighting ~Carn -// X.opacity = !X.opacity -// X.set_opacity(!X.opacity) - - toupdate += X - - if(turftoleave) - fromupdate += T.ChangeTurf(turftoleave) - else - T.ChangeTurf(/turf/space) - - refined_src -= T - refined_trg -= B - continue moving - - if(toupdate.len) - for(var/turf/simulated/T1 in toupdate) - SSair.remove_from_active(T1) - T1.CalculateAdjacentTurfs() - SSair.add_to_active(T1,1) - - if(fromupdate.len) - for(var/turf/simulated/T2 in fromupdate) - SSair.remove_from_active(T2) - T2.CalculateAdjacentTurfs() - SSair.add_to_active(T2,1) - - - - -/proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0, var/atom/newloc = null) - if(!original) - return null - - var/obj/O = null - - if(sameloc) - O=new original.type(original.loc) - else - O=new original.type(newloc) - - if(perfectcopy) - if((O) && (original)) - var/static/list/forbidden_vars = list("type","loc","locs","vars", "parent","parent_type", "verbs","ckey","key","power_supply","contents","reagents","stat","x","y","z","group") - - for(var/V in original.vars - forbidden_vars) - if(istype(original.vars[V],/list)) - var/list/L = original.vars[V] - O.vars[V] = L.Copy() - else if(istype(original.vars[V],/datum)) - continue // this would reference the original's object, that will break when it is used or deleted. - else - O.vars[V] = original.vars[V] - if(istype(O)) - O.update_icon() - return O - -/area/proc/copy_contents_to(var/area/A , var/platingRequired = 0 ) - //Takes: Area. Optional: If it should copy to areas that don't have plating - //Returns: Nothing. - //Notes: Attempts to move the contents of one area to another area. - // Movement based on lower left corner. Tiles that do not fit - // into the new area will not be moved. - - if(!A || !src) return 0 - - var/list/turfs_src = get_area_turfs(src.type) - var/list/turfs_trg = get_area_turfs(A.type) - - var/src_min_x = 0 - var/src_min_y = 0 - for(var/turf/T in turfs_src) - if(T.x < src_min_x || !src_min_x) src_min_x = T.x - if(T.y < src_min_y || !src_min_y) src_min_y = T.y - - var/trg_min_x = 0 - var/trg_min_y = 0 - for(var/turf/T in turfs_trg) - if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x - if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y - - var/list/refined_src = new/list() - for(var/turf/T in turfs_src) - refined_src += T - refined_src[T] = new/datum/coords - var/datum/coords/C = refined_src[T] - C.x_pos = (T.x - src_min_x) - C.y_pos = (T.y - src_min_y) - - var/list/refined_trg = new/list() - for(var/turf/T in turfs_trg) - refined_trg += T - refined_trg[T] = new/datum/coords - var/datum/coords/C = refined_trg[T] - C.x_pos = (T.x - trg_min_x) - C.y_pos = (T.y - trg_min_y) - - var/list/toupdate = new/list() - - var/copiedobjs = list() - - - moving: - for(var/turf/T in refined_src) - var/datum/coords/C_src = refined_src[T] - for(var/turf/B in refined_trg) - var/datum/coords/C_trg = refined_trg[B] - if(C_src.x_pos == C_trg.x_pos && C_src.y_pos == C_trg.y_pos) - - var/old_dir1 = T.dir - var/old_icon_state1 = T.icon_state - var/old_icon1 = T.icon - - if(platingRequired) - if(istype(B, /turf/space)) - continue moving - - var/turf/X = new T.type(B) - X.dir = old_dir1 - X.icon_state = old_icon_state1 - X.icon = old_icon1 //Shuttle floors are in shuttle.dmi while the defaults are floors.dmi - - - var/list/objs = new/list() - var/list/newobjs = new/list() - var/list/mobs = new/list() - var/list/newmobs = new/list() - - for(var/obj/O in T) - - if(!istype(O,/obj)) - continue - - objs += O - - - for(var/obj/O in objs) - newobjs += DuplicateObject(O , 1) - - - for(var/obj/O in newobjs) - O.loc = X - - for(var/mob/M in T) - - if(!M.move_on_shuttle) - continue - mobs += M - - for(var/mob/M in mobs) - newmobs += DuplicateObject(M , 1) - - for(var/mob/M in newmobs) - M.loc = X - - copiedobjs += newobjs - copiedobjs += newmobs - - - - for(var/V in T.vars) - if(!(V in list("type","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","contents", "luminosity", "group"))) - X.vars[V] = T.vars[V] - -// var/area/AR = X.loc - -// if(AR.lighting_use_dynamic) -// X.opacity = !X.opacity -// X.sd_set_opacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn - - toupdate += X - - refined_src -= T - refined_trg -= B - continue moving - - - - if(toupdate.len) - for(var/turf/simulated/T1 in toupdate) - T1.CalculateAdjacentTurfs() - SSair.add_to_active(T1,1) - - - return copiedobjs - - - -proc/get_cardinal_dir(atom/A, atom/B) - var/dx = abs(B.x - A.x) - var/dy = abs(B.y - A.y) - return get_dir(A, B) & (rand() * (dx+dy) < dy ? 3 : 12) - -//chances are 1:value. anyprob(1) will always return true -proc/anyprob(value) - return (rand(1,value)==value) - -proc/view_or_range(distance = world.view , center = usr , type) - switch(type) - if("view") - . = view(distance,center) - if("range") - . = range(distance,center) - return - -proc/oview_or_orange(distance = world.view , center = usr , type) - switch(type) - if("view") - . = oview(distance,center) - if("range") - . = orange(distance,center) - return - -proc/get_mob_with_client_list() - var/list/mobs = list() - for(var/mob/M in GLOB.mob_list) - if(M.client) - mobs += M - return mobs - - -/proc/parse_zone(zone) - if(zone == "r_hand") return "right hand" - else if(zone == "l_hand") return "left hand" - else if(zone == "l_arm") return "left arm" - else if(zone == "r_arm") return "right arm" - else if(zone == "l_leg") return "left leg" - else if(zone == "r_leg") return "right leg" - else if(zone == "l_foot") return "left foot" - else if(zone == "r_foot") return "right foot" - else if(zone == "l_hand") return "left hand" - else if(zone == "r_hand") return "right hand" - else if(zone == "l_foot") return "left foot" - else if(zone == "r_foot") return "right foot" - else return zone - -/* - - Gets the turf this atom's *ICON* appears to inhabit - It takes into account: - * Pixel_x/y - * Matrix x/y - - NOTE: if your atom has non-standard bounds then this proc - will handle it, but: - * if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked - (this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) - * if the bounds are odd, the true middle turf of the atom is returned - -*/ - -/proc/get_turf_pixel(atom/movable/AM) - if(!istype(AM)) - return - - //Find AM's matrix so we can use it's X/Y pixel shifts - var/matrix/M = matrix(AM.transform) - - var/pixel_x_offset = AM.pixel_x + M.get_x_shift() - var/pixel_y_offset = AM.pixel_y + M.get_y_shift() - - //Irregular objects - if(AM.bound_height != world.icon_size || AM.bound_width != world.icon_size) - var/icon/AMicon = icon(AM.icon, AM.icon_state) - pixel_x_offset += ((AMicon.Width()/world.icon_size)-1)*(world.icon_size*0.5) - pixel_y_offset += ((AMicon.Height()/world.icon_size)-1)*(world.icon_size*0.5) - qdel(AMicon) - - //DY and DX - var/rough_x = round(round(pixel_x_offset,world.icon_size)/world.icon_size) - var/rough_y = round(round(pixel_y_offset,world.icon_size)/world.icon_size) - - //Find coordinates - var/turf/T = get_turf(AM) //use AM's turfs, as it's coords are the same as AM's AND AM's coords are lost if it is inside another atom - if(!T) - return null - var/final_x = T.x + rough_x - var/final_y = T.y + rough_y - - if(final_x || final_y) - return locate(final_x, final_y, T.z) - -//Finds the distance between two atoms, in pixels -//centered = 0 counts from turf edge to edge -//centered = 1 counts from turf center to turf center -//of course mathematically this is just adding world.icon_size on again -/proc/getPixelDistance(var/atom/A, var/atom/B, var/centered = 1) - if(!istype(A)||!istype(B)) - return 0 - . = bounds_dist(A, B) + sqrt((((A.pixel_x+B.pixel_x)**2) + ((A.pixel_y+B.pixel_y)**2))) - if(centered) - . += world.icon_size - -/proc/get(atom/loc, type) - while(loc) - if(istype(loc, type)) - return loc - loc = loc.loc - return null - -/proc/get_turf_or_move(turf/location) - return get_turf(location) - - -//For objects that should embed, but make no sense being is_sharp or is_pointed() -//e.g: rods -var/list/can_embed_types = typecacheof(list( - /obj/item/stack/rods, - /obj/item/pipe)) - -/proc/can_embed(obj/item/W) - if(is_sharp(W)) - return 1 - if(is_pointed(W)) - return 1 - - if(is_type_in_typecache(W, can_embed_types)) - return 1 - -//Quick type checks for some tools -var/global/list/common_tools = list( -/obj/item/stack/cable_coil, -/obj/item/wrench, -/obj/item/weldingtool, -/obj/item/screwdriver, -/obj/item/wirecutters, -/obj/item/multitool, -/obj/item/crowbar) - -/proc/istool(O) - if(O && is_type_in_list(O, common_tools)) - return 1 - return 0 - -/proc/iswrench(O) - if(istype(O, /obj/item/wrench)) - return 1 - return 0 - -/proc/iswelder(O) - if(istype(O, /obj/item/weldingtool)) - return 1 - return 0 - -/proc/iscoil(O) - if(istype(O, /obj/item/stack/cable_coil)) - return 1 - return 0 - -/proc/iswirecutter(O) - if(istype(O, /obj/item/wirecutters)) - return 1 - return 0 - -/proc/isscrewdriver(O) - if(istype(O, /obj/item/screwdriver)) - return 1 - return 0 - -/proc/ismultitool(O) - if(istype(O, /obj/item/multitool)) - return 1 - return 0 - -/proc/iscrowbar(O) - if(istype(O, /obj/item/crowbar)) - return 1 - return 0 - -/proc/ispowertool(O)//used to check if a tool can force powered doors - if(istype(O, /obj/item/crowbar/power) || istype(O, /obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw)) - return TRUE - return FALSE - -/proc/iswire(O) - if(istype(O, /obj/item/stack/cable_coil)) - return 1 - return 0 - -/proc/is_hot(obj/item/W as obj) - if(istype(W, /obj/item/weldingtool)) - var/obj/item/weldingtool/O = W - if(O.isOn()) - return 2500 - else - return 0 - if(istype(W, /obj/item/lighter)) - var/obj/item/lighter/O = W - if(O.lit) - return 1500 - else - return 0 - if(istype(W, /obj/item/match)) - var/obj/item/match/O = W - if(O.lit == 1) - return 1000 - else - return 0 - if(istype(W, /obj/item/clothing/mask/cigarette)) - var/obj/item/clothing/mask/cigarette/O = W - if(O.lit) - return 1000 - else - return 0 - if(istype(W, /obj/item/candle)) - var/obj/item/candle/O = W - if(O.lit) - return 1000 - else - return 0 - if(istype(W, /obj/item/flashlight/flare)) - var/obj/item/flashlight/flare/O = W - if(O.on) - return 1000 - else - return 0 - if(istype(W, /obj/item/gun/energy/plasmacutter)) - return 3800 - if(istype(W, /obj/item/melee/energy)) - var/obj/item/melee/energy/O = W - if(O.active) - return 3500 - else - return 0 - if(istype(W, /obj/item/assembly/igniter)) - return 20000 - else - return 0 - -//Whether or not the given item counts as sharp in terms of dealing damage -/proc/is_sharp(obj/O) - if(!O) - return 0 - if(O.sharp) - return 1 - return 0 - -/proc/is_surgery_tool(obj/item/W as obj) - return ( \ - istype(W, /obj/item/scalpel) || \ - istype(W, /obj/item/hemostat) || \ - istype(W, /obj/item/retractor) || \ - istype(W, /obj/item/cautery) || \ - istype(W, /obj/item/bonegel) || \ - istype(W, /obj/item/bonesetter) - ) - -/proc/reverse_direction(var/dir) - switch(dir) - if(NORTH) - return SOUTH - if(NORTHEAST) - return SOUTHWEST - if(EAST) - return WEST - if(SOUTHEAST) - return NORTHWEST - if(SOUTH) - return NORTH - if(SOUTHWEST) - return NORTHEAST - if(WEST) - return EAST - if(NORTHWEST) - return SOUTHEAST - -/* -Checks if that loc and dir has a item on the wall -*/ -var/list/static/global/wall_items = typecacheof(list(/obj/machinery/power/apc, /obj/machinery/alarm, - /obj/item/radio/intercom, /obj/structure/extinguisher_cabinet, /obj/structure/reagent_dispensers/peppertank, - /obj/machinery/status_display, /obj/machinery/requests_console, /obj/machinery/light_switch, /obj/structure/sign, - /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/door_control, - /obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio/airlock, - /obj/item/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth, - /obj/structure/mirror, /obj/structure/closet/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment, - /obj/structure/sign)) - -/proc/gotwallitem(loc, dir) - for(var/obj/O in loc) - if(is_type_in_typecache(O, wall_items)) - //Direction works sometimes - if(O.dir == dir) - return 1 - - //Some stuff doesn't use dir properly, so we need to check pixel instead - switch(dir) - if(SOUTH) - if(O.pixel_y > 10) - return 1 - if(NORTH) - if(O.pixel_y < -10) - return 1 - if(WEST) - if(O.pixel_x > 10) - return 1 - if(EAST) - if(O.pixel_x < -10) - return 1 - - //Some stuff is placed directly on the wallturf (signs) - for(var/obj/O in get_step(loc, dir)) - if(is_type_in_typecache(O, wall_items)) - if(abs(O.pixel_x) <= 10 && abs(O.pixel_y) <= 10) - return 1 - return 0 - - -proc/get_angle(atom/a, atom/b) - return atan2(b.y - a.y, b.x - a.x) - -proc/atan2(x, y) - if(!x && !y) return 0 - return y >= 0 ? arccos(x / sqrt(x * x + y * y)) : -arccos(x / sqrt(x * x + y * y)) - -/proc/format_text(text) - return replacetext(replacetext(text,"\proper ",""),"\improper ","") - -/* -Standard way to write links -Sayu -*/ - -/proc/topic_link(var/datum/D, var/arglist, var/content) - if(istype(arglist,/list)) - arglist = list2params(arglist) - return "[content]" - - - -/proc/get_location_accessible(mob/M, location) - var/covered_locations = 0 //based on body_parts_covered - var/face_covered = 0 //based on flags_inv - var/eyesmouth_covered = 0 //based on flags_cover - if(iscarbon(M)) - var/mob/living/carbon/C = M - for(var/obj/item/clothing/I in list(C.back, C.wear_mask)) - covered_locations |= I.body_parts_covered - face_covered |= I.flags_inv - eyesmouth_covered |= I.flags_cover - if(ishuman(C)) - var/mob/living/carbon/human/H = C - for(var/obj/item/I in list(H.wear_suit, H.w_uniform, H.shoes, H.belt, H.gloves, H.glasses, H.head, H.r_ear, H.l_ear)) - covered_locations |= I.body_parts_covered - face_covered |= I.flags_inv - eyesmouth_covered |= I.flags_cover - - switch(location) - if("head") - if(covered_locations & HEAD) - return 0 - if("eyes") - if(face_covered & HIDEEYES || eyesmouth_covered & GLASSESCOVERSEYES || eyesmouth_covered & HEADCOVERSEYES) - return 0 - if("mouth") - if(covered_locations & HEAD || face_covered & HIDEFACE || eyesmouth_covered & MASKCOVERSMOUTH) - return 0 - if("chest") - if(covered_locations & UPPER_TORSO) - return 0 - if("groin") - if(covered_locations & LOWER_TORSO) - return 0 - if("l_arm") - if(covered_locations & ARM_LEFT) - return 0 - if("r_arm") - if(covered_locations & ARM_RIGHT) - return 0 - if("l_leg") - if(covered_locations & LEG_LEFT) - return 0 - if("r_leg") - if(covered_locations & LEG_RIGHT) - return 0 - if("l_hand") - if(covered_locations & HAND_LEFT) - return 0 - if("r_hand") - if(covered_locations & HAND_RIGHT) - return 0 - if("l_foot") - if(covered_locations & FOOT_LEFT) - return 0 - if("r_foot") - if(covered_locations & FOOT_RIGHT) - return 0 - - return 1 - -/proc/check_target_facings(mob/living/initator, mob/living/target) - /*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head. - Given how click code currently works (Nov '13), the initiating mob will be facing the target mob most of the time - That said, this proc should not be used if the change facing proc of the click code is overriden at the same time*/ - if(!ismob(target) || target.lying) - //Make sure we are not doing this for things that can't have a logical direction to the players given that the target would be on their side - return FACING_FAILED - if(initator.dir == target.dir) //mobs are facing the same direction - return FACING_SAME_DIR - if(is_A_facing_B(initator, target) && is_A_facing_B(target, initator)) //mobs are facing each other - return FACING_EACHOTHER - if(initator.dir + 2 == target.dir || initator.dir - 2 == target.dir || initator.dir + 6 == target.dir || initator.dir - 6 == target.dir) //Initating mob is looking at the target, while the target mob is looking in a direction perpendicular to the 1st - return FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR - - -atom/proc/GetTypeInAllContents(typepath) - var/list/processing_list = list(src) - var/list/processed = list() - - var/atom/found = null - - while(processing_list.len && found==null) - var/atom/A = processing_list[1] - if(istype(A, typepath)) - found = A - - processing_list -= A - - for(var/atom/a in A) - if(!(a in processed)) - processing_list |= a - - processed |= A - - return found - -/proc/random_step(atom/movable/AM, steps, chance) - var/initial_chance = chance - while(steps > 0) - if(prob(chance)) - step(AM, pick(alldirs)) - chance = max(chance - (initial_chance / steps), 0) - steps-- - -/proc/get_random_colour(var/simple, var/lower, var/upper) - var/colour - if(simple) - colour = pick(list("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF")) - else - for(var/i=1;i<=3;i++) - var/temp_col = "[num2hex(rand(lower,upper))]" - if(length(temp_col )<2) - temp_col = "0[temp_col]" - colour += temp_col - return colour - -/proc/get_distant_turf(var/turf/T,var/direction,var/distance) - if(!T || !direction || !distance) return - - var/dest_x = T.x - var/dest_y = T.y - var/dest_z = T.z - - if(direction & NORTH) - dest_y = min(world.maxy, dest_y+distance) - if(direction & SOUTH) - dest_y = max(0, dest_y-distance) - if(direction & EAST) - dest_x = min(world.maxy, dest_x+distance) - if(direction & WEST) - dest_x = max(0, dest_x-distance) - - return locate(dest_x,dest_y,dest_z) - -var/mob/dview/dview_mob = new - -//Version of view() which ignores darkness, because BYOND doesn't have it. -/proc/dview(var/range = world.view, var/center, var/invis_flags = 0) - if(!center) - return - - dview_mob.loc = center - - dview_mob.see_invisible = invis_flags - - . = view(range, dview_mob) - dview_mob.loc = null - -/mob/dview - invisibility = 101 - density = 0 - move_force = 0 - pull_force = 0 - move_resist = INFINITY - simulated = 0 - canmove = FALSE - see_in_dark = 1e6 - -/mob/dview/New() //For whatever reason, if this isn't called, then BYOND will throw a type mismatch runtime when attempting to add this to the mobs list. -Fox - -/mob/dview/Destroy() - // should never be deleted - return QDEL_HINT_LETMELIVE - -/proc/IsValidSrc(A) - if(istype(A, /datum)) - var/datum/D = A - return !QDELETED(D) - if(istype(A, /client)) - return TRUE - return FALSE - -//can a window be here, or is there a window blocking it? -/proc/valid_window_location(turf/T, dir_to_check) - if(!T) - return FALSE - for(var/obj/O in T) - if(istype(O, /obj/machinery/door/window) && (O.dir == dir_to_check || dir_to_check == FULLTILE_WINDOW_DIR)) - return FALSE - if(istype(O, /obj/structure/windoor_assembly)) - var/obj/structure/windoor_assembly/W = O - if(W.ini_dir == dir_to_check || dir_to_check == FULLTILE_WINDOW_DIR) - return FALSE - if(istype(O, /obj/structure/window)) - var/obj/structure/window/W = O - if(W.ini_dir == dir_to_check || W.ini_dir == FULLTILE_WINDOW_DIR || dir_to_check == FULLTILE_WINDOW_DIR) - return FALSE - return TRUE - -//Get the dir to the RIGHT of dir if they were on a clock -//NORTH --> NORTHEAST -/proc/get_clockwise_dir(dir) - . = angle2dir(dir2angle(dir)+45) - -//Get the dir to the LEFT of dir if they were on a clock -//NORTH --> NORTHWEST -/proc/get_anticlockwise_dir(dir) - . = angle2dir(dir2angle(dir)-45) - - -//Compare A's dir, the clockwise dir of A and the anticlockwise dir of A -//To the opposite dir of the dir returned by get_dir(B,A) -//If one of them is a match, then A is facing B -/proc/is_A_facing_B(atom/A, atom/B) - if(!istype(A) || !istype(B)) - return 0 - if(isliving(A)) - var/mob/living/LA = A - if(LA.lying) - return 0 - var/goal_dir = angle2dir(dir2angle(get_dir(B, A)+180)) - var/clockwise_A_dir = get_clockwise_dir(A.dir) - var/anticlockwise_A_dir = get_anticlockwise_dir(B.dir) - - if(A.dir == goal_dir || clockwise_A_dir == goal_dir || anticlockwise_A_dir == goal_dir) - return 1 - return 0 - -//This is just so you can stop an orbit. -//orbit() can run without it (swap orbiting for A) -//but then you can never stop it and that's just silly. -/atom/movable/var/atom/orbiting = null - -//A: atom to orbit -//radius: range to orbit at, radius of the circle formed by orbiting -//clockwise: whether you orbit clockwise or anti clockwise -//rotation_speed: how fast to rotate -//rotation_segments: the resolution of the orbit circle, less = a more block circle, this can be used to produce hexagons (6 segments) triangles (3 segments), and so on, 36 is the best default. -//pre_rotation: Chooses to rotate src 90 degress towards the orbit dir (clockwise/anticlockwise), useful for things to go "head first" like ghosts -//lockinorbit: Forces src to always be on A's turf, otherwise the orbit cancels when src gets too far away (eg: ghosts) - -/atom/movable/proc/orbit(atom/A, radius = 10, clockwise = FALSE, rotation_speed = 20, rotation_segments = 36, pre_rotation = TRUE, lockinorbit = FALSE, forceMove = FALSE) - if(!istype(A)) - return - - if(orbiting) - stop_orbit() - - orbiting = A - var/matrix/initial_transform = matrix(transform) - var/lastloc = loc - - //Head first! - if(pre_rotation) - var/matrix/M = matrix(transform) - var/pre_rot = 90 - if(!clockwise) - pre_rot = -90 - M.Turn(pre_rot) - transform = M - - var/matrix/shift = matrix(transform) - shift.Translate(0,radius) - transform = shift - - SpinAnimation(rotation_speed, -1, clockwise, rotation_segments) - - //we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit - transform = initial_transform - while(orbiting && orbiting == A && A.loc) - var/targetloc = get_turf(A) - if(!lockinorbit && loc != lastloc && loc != targetloc) - break - if(forceMove) - forceMove(targetloc) - else - loc = targetloc - lastloc = loc - sleep(0.6) - - if(orbiting == A) //make sure we haven't started orbiting something else. - orbiting = null - SpinAnimation(0,0) - - - -/atom/movable/proc/stop_orbit() - orbiting = null - -//Centers an image. -//Requires: -//The Image -//The x dimension of the icon file used in the image -//The y dimension of the icon file used in the image -// eg: center_image(I, 32,32) -// eg2: center_image(I, 96,96) -/proc/center_image(var/image/I, x_dimension = 0, y_dimension = 0) - if(!I) - return - - if(!x_dimension || !y_dimension) - return - - //Get out of here, punk ass kids calling procs needlessly - if((x_dimension == world.icon_size) && (y_dimension == world.icon_size)) - return I - - //Offset the image so that it's bottom left corner is shifted this many pixels - //This makes it infinitely easier to draw larger inhands/images larger than world.iconsize - //but still use them in game - var/x_offset = -((x_dimension/world.icon_size)-1)*(world.icon_size*0.5) - var/y_offset = -((y_dimension/world.icon_size)-1)*(world.icon_size*0.5) - - //Correct values under world.icon_size - if(x_dimension < world.icon_size) - x_offset *= -1 - if(y_dimension < world.icon_size) - y_offset *= -1 - - I.pixel_x = x_offset - I.pixel_y = y_offset - - return I - -//similar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs) -/proc/spiral_range_turfs(dist=0, center=usr, orange=0) - if(!dist) - if(!orange) - return list(center) - else - return list() - - var/turf/t_center = get_turf(center) - if(!t_center) - return list() - - var/list/L = list() - var/turf/T - var/y - var/x - var/c_dist = 1 - - if(!orange) - L += t_center - - while( c_dist <= dist ) - y = t_center.y + c_dist - x = t_center.x - c_dist + 1 - for(x in x to t_center.x+c_dist) - T = locate(x,y,t_center.z) - if(T) - L += T - - y = t_center.y + c_dist - 1 - x = t_center.x + c_dist - for(y in t_center.y-c_dist to y) - T = locate(x,y,t_center.z) - if(T) - L += T - - y = t_center.y - c_dist - x = t_center.x + c_dist - 1 - for(x in t_center.x-c_dist to x) - T = locate(x,y,t_center.z) - if(T) - L += T - - y = t_center.y - c_dist + 1 - x = t_center.x - c_dist - for(y in y to t_center.y+c_dist) - T = locate(x,y,t_center.z) - if(T) - L += T - c_dist++ - - return L - -//ultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance -/proc/urange(dist=0, atom/center=usr, orange=0, areas=0) - if(!dist) - if(!orange) - return list(center) - else - return list() - - var/list/turfs = RANGE_TURFS(dist, center) - if(orange) - turfs -= get_turf(center) - . = list() - for(var/V in turfs) - var/turf/T = V - . += T - . += T.contents - if(areas) - . |= T.loc - -/proc/turf_clear(turf/T) - for(var/atom/A in T) - if(A.simulated) - return 0 - return 1 - -/proc/screen_loc2turf(scr_loc, turf/origin) - var/tX = splittext(scr_loc, ",") - var/tY = splittext(tX[2], ":") - var/tZ = origin.z - tY = tY[1] - tX = splittext(tX[1], ":") - tX = tX[1] - tX = max(1, min(world.maxx, origin.x + (text2num(tX) - (world.view + 1)))) - tY = max(1, min(world.maxy, origin.y + (text2num(tY) - (world.view + 1)))) - return locate(tX, tY, tZ) - -/proc/get_closest_atom(type, list, source) - var/closest_atom - var/closest_distance - for(var/A in list) - if(!istype(A, type)) - continue - var/distance = get_dist(source, A) - if(!closest_distance) - closest_distance = distance - closest_atom = A - else - if(closest_distance > distance) - closest_distance = distance - closest_atom = A - return closest_atom - -/proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) - if(value == FALSE) //nothing should be calling us with a number, so this is safe - value = input("Enter type to find (blank for all, cancel to cancel)", "Search for type") as null|text - if(isnull(value)) - return - value = trim(value) - if(!isnull(value) && value != "") - matches = filter_fancy_list(matches, value) - - if(matches.len == 0) - return - - var/chosen - if(matches.len == 1) - chosen = matches[1] - else - chosen = input("Select a type", "Pick Type", matches[1]) as null|anything in matches - if(!chosen) - return - chosen = matches[chosen] - return chosen - -/proc/make_types_fancy(var/list/types) - if(ispath(types)) - types = list(types) - . = list() - for(var/type in types) - var/typename = "[type]" - var/static/list/TYPES_SHORTCUTS = list( - //longest paths comes first - otherwise they get shadowed by the more generic ones - /obj/effect/decal/cleanable = "CLEANABLE", - /obj/effect = "EFFECT", - /obj/item/ammo_casing = "AMMO", - /obj/item/book/manual = "MANUAL", - /obj/item/borg/upgrade = "BORG_UPGRADE", - /obj/item/cartridge = "PDA_CART", - /obj/item/clothing/head/helmet/space = "SPESSHELMET", - /obj/item/clothing/head = "HEAD", - /obj/item/clothing/under = "UNIFORM", - /obj/item/clothing/shoes = "SHOES", - /obj/item/clothing/suit = "SUIT", - /obj/item/clothing/gloves = "GLOVES", - /obj/item/clothing/mask/cigarette = "CIGARRETE", // oof - /obj/item/clothing/mask = "MASK", - /obj/item/clothing/glasses = "GLASSES", - /obj/item/clothing = "CLOTHING", - /obj/item/grenade/clusterbuster = "CLUSTERBUSTER", - /obj/item/grenade = "GRENADE", - /obj/item/gun = "GUN", - /obj/item/implant = "IMPLANT", - /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack = "MECHA_MISSILE_RACK", - /obj/item/mecha_parts/mecha_equipment/weapon = "MECHA_WEAPON", - /obj/item/mecha_parts/mecha_equipment = "MECHA_EQUIP", - /obj/item/melee = "MELEE", - /obj/item/mmi = "MMI", - /obj/item/nullrod = "NULLROD", - /obj/item/organ/external = "EXT_ORG", - /obj/item/organ/internal/cyberimp = "CYBERIMP", - /obj/item/organ/internal = "INT_ORG", - /obj/item/organ = "ORGAN", - /obj/item/pda = "PDA", - /obj/item/projectile = "PROJ", - /obj/item/radio/headset = "HEADSET", - /obj/item/reagent_containers/glass/beaker = "BEAKER", - /obj/item/reagent_containers/glass/bottle = "BOTTLE", - /obj/item/reagent_containers/food/pill/patch = "PATCH", - /obj/item/reagent_containers/food/pill = "PILL", - /obj/item/reagent_containers/food/drinks = "DRINK", - /obj/item/reagent_containers/food = "FOOD", - /obj/item/reagent_containers/syringe = "SYRINGE", - /obj/item/reagent_containers = "REAGENT_CONTAINERS", - /obj/item/robot_parts = "ROBOT_PARTS", - /obj/item/seeds = "SEED", - /obj/item/slime_extract = "SLIME_CORE", - /obj/item/spacepod_equipment/weaponry = "POD_WEAPON", - /obj/item/spacepod_equipment = "POD_EQUIP", - /obj/item/stack/sheet/mineral = "MINERAL", - /obj/item/stack/sheet = "SHEET", - /obj/item/stack/tile = "TILE", - /obj/item/stack = "STACK", - /obj/item/stock_parts/cell = "POWERCELL", - /obj/item/stock_parts = "STOCK_PARTS", - /obj/item/storage/firstaid = "FIRSTAID", - /obj/item/storage = "STORAGE", - /obj/item/tank = "GAS_TANK", - /obj/item/toy/crayon = "CRAYON", - /obj/item/toy = "TOY", - /obj/item = "ITEM", - /obj/machinery/atmospherics = "ATMOS_MACH", - /obj/machinery/computer = "CONSOLE", - /obj/machinery/door/airlock = "AIRLOCK", - /obj/machinery/door = "DOOR", - /obj/machinery/kitchen_machine = "KITCHEN", - /obj/machinery/portable_atmospherics/canister = "CANISTER", - /obj/machinery/portable_atmospherics = "PORT_ATMOS", - /obj/machinery/power = "POWER", - /obj/machinery/telecomms = "TCOMMS", - /obj/machinery = "MACHINERY", - /obj/mecha = "MECHA", - /obj/structure/closet/crate = "CRATE", - /obj/structure/closet = "CLOSET", - /obj/structure/statue = "STATUE", - /obj/structure/chair = "CHAIR", // oh no - /obj/structure/bed = "BED", - /obj/structure/chair/stool = "STOOL", - /obj/structure/table = "TABLE", - /obj/structure = "STRUCTURE", - /obj/vehicle = "VEHICLE", - /obj = "O", - /datum = "D", - /turf/simulated/floor = "SIM_FLOOR", - /turf/simulated/wall = "SIM_WALL", - /turf/unsimulated/floor = "UNSIM_FLOOR", - /turf/unsimulated/wall = "UNSIM_WALL", - /turf = "T", - /mob/living/carbon/alien = "XENO", - /mob/living/carbon/human = "HUMAN", - /mob/living/carbon = "CARBON", - /mob/living/silicon/robot = "CYBORG", - /mob/living/silicon/ai = "AI", - /mob/living/silicon = "SILICON", - /mob/living/simple_animal/bot = "BOT", - /mob/living/simple_animal = "SIMPLE", - /mob/living = "LIVING", - /mob = "M" - ) - for(var/tn in TYPES_SHORTCUTS) - if(copytext(typename, 1, length("[tn]/") + 1) == "[tn]/") - typename = TYPES_SHORTCUTS[tn]+copytext(typename,length("[tn]/")) - break - .[typename] = type - - -/proc/get_fancy_list_of_atom_types() - var/static/list/pre_generated_list - if(!pre_generated_list) //init - pre_generated_list = make_types_fancy(typesof(/atom)) - return pre_generated_list - - -/proc/get_fancy_list_of_datum_types() - var/static/list/pre_generated_list - if(!pre_generated_list) //init - pre_generated_list = make_types_fancy(sortList(typesof(/datum) - typesof(/atom))) - return pre_generated_list - - -/proc/filter_fancy_list(list/L, filter as text) - var/list/matches = new - for(var/key in L) - var/value = L[key] - if(findtext("[key]", filter) || findtext("[value]", filter)) - matches[key] = value - return matches - -//Key thing that stops lag. Cornerstone of performance in ss13, Just sitting here, in unsorted.dm. -/proc/stoplag() - . = 1 - sleep(world.tick_lag) - if(world.tick_usage > TICK_LIMIT_TO_RUN) //woke up, still not enough tick, sleep for more. - . += 2 - sleep(world.tick_lag*2) - if(world.tick_usage > TICK_LIMIT_TO_RUN) //woke up, STILL not enough tick, sleep for more. - . += 4 - sleep(world.tick_lag*4) - //you might be thinking of adding more steps to this, or making it use a loop and a counter var - // not worth it. - -// This proc gets a list of all "points of interest" (poi's) that can be used by admins to track valuable mobs or atoms (such as the nuke disk). -/proc/getpois(mobs_only=0,skip_mindless=0) - var/list/mobs = sortmobs() - var/list/names = list() - var/list/pois = list() - var/list/namecounts = list() - - for(var/mob/M in mobs) - if(skip_mindless && (!M.mind && !M.ckey)) - if(!isbot(M) && !istype(M, /mob/camera/)) - continue - if(M.client && M.client.holder && M.client.holder.fakekey) //stealthmins - continue - var/name = M.name - if(name in names) - namecounts[name]++ - name = "[name] ([namecounts[name]])" - else - names.Add(name) - namecounts[name] = 1 - if(M.real_name && M.real_name != M.name) - name += " \[[M.real_name]\]" - if(M.stat == DEAD) - if(istype(M, /mob/dead/observer/)) - name += " \[ghost\]" - else - name += " \[dead\]" - pois[name] = M - - if(!mobs_only) - for(var/atom/A in GLOB.poi_list) - if(!A || !A.loc) - continue - var/name = A.name - if(names.Find(name)) - namecounts[name]++ - name = "[name] ([namecounts[name]])" - else - names.Add(name) - namecounts[name] = 1 - pois[name] = A - - return pois - -/proc/flash_color(mob_or_client, flash_color="#960000", flash_time=20) - var/client/C - if(istype(mob_or_client, /mob)) - var/mob/M = mob_or_client - if(M.client) - C = M.client - else - return - else if(istype(mob_or_client, /client)) - C = mob_or_client - - if(!istype(C)) - return - - C.color = flash_color - spawn(0) - animate(C, color = initial(C.color), time = flash_time) - -#define RANDOM_COLOUR (rgb(rand(0,255),rand(0,255),rand(0,255))) - -/proc/make_bit_triplet() - var/list/num_sample = list(1, 2, 3, 4, 5, 6, 7, 8, 9) - var/result = 0 - for(var/i = 0, i < 3, i++) - var/num = pick(num_sample) - num_sample -= num - result += (1 << num) - return result - -/proc/pixel_shift_dir(var/dir, var/amount_x = 32, var/amount_y = 32) //Returns a list with pixel_shift values that will shift an object's icon one tile in the direction passed. - amount_x = min(max(0, amount_x), 32) //No less than 0, no greater than 32. - amount_y = min(max(0, amount_x), 32) - var/list/shift = list("x" = 0, "y" = 0) - switch(dir) - if(NORTH) - shift["y"] = amount_y - if(SOUTH) - shift["y"] = -amount_y - if(EAST) - shift["x"] = amount_x - if(WEST) - shift["x"] = -amount_x - if(NORTHEAST) - shift = list("x" = amount_x, "y" = amount_y) - if(NORTHWEST) - shift = list("x" = -amount_x, "y" = amount_y) - if(SOUTHEAST) - shift = list("x" = amount_x, "y" = -amount_y) - if(SOUTHWEST) - shift = list("x" = -amount_x, "y" = -amount_y) - - return shift - -//Return a list of atoms in a location of a given type. Can be refined to look for pixel-shift. -/proc/get_atoms_of_type(var/atom/here, var/type, var/check_shift, var/shift_x = 0, var/shift_y = 0) - . = list() - if(here) - for(var/atom/thing in here) - if(istype(thing, type) && (check_shift && thing.pixel_x == shift_x && thing.pixel_y == shift_y)) - . += thing - -//gives us the stack trace from CRASH() without ending the current proc. -/proc/stack_trace(msg) - CRASH(msg) - -/datum/proc/stack_trace(msg) - CRASH(msg) - -/proc/pass() - return - -/proc/params2turf(scr_loc, turf/origin, client/C) - if(!scr_loc) - return null - var/tX = splittext(scr_loc, ",") - var/tY = splittext(tX[2], ":") - var/tZ = origin.z - tY = tY[1] - tX = splittext(tX[1], ":") - tX = tX[1] - var/list/actual_view = getviewsize(C ? C.view : world.view) - tX = Clamp(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx) - tY = Clamp(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy) - return locate(tX, tY, tZ) \ No newline at end of file +/* + * A large number of misc global procs. + */ + + /* Get the direction of startObj relative to endObj. + * Return values: To the right, 1. Below, 2. To the left, 3. Above, 4. Not found adjacent in cardinal directions, 0. + */ +/proc/getRelativeDirection(var/atom/movable/startObj, var/atom/movable/endObj) + if(endObj.x == startObj.x + 1 && endObj.y == startObj.y) + return EAST + + if(endObj.x == startObj.x - 1 && endObj.y == startObj.y) + return WEST + + if(endObj.y == startObj.y + 1 && endObj.x == startObj.x) + return NORTH + + if(endObj.y == startObj.y - 1 && endObj.x == startObj.x) + return SOUTH + + return 0 + +//Inverts the colour of an HTML string +/proc/invertHTML(HTMLstring) + + if(!( istext(HTMLstring) )) + CRASH("Given non-text argument!") + return + else + if(length(HTMLstring) != 7) + CRASH("Given non-HTML argument!") + return + var/textr = copytext(HTMLstring, 2, 4) + var/textg = copytext(HTMLstring, 4, 6) + var/textb = copytext(HTMLstring, 6, 8) + var/r = hex2num(textr) + var/g = hex2num(textg) + var/b = hex2num(textb) + textr = num2hex(255 - r) + textg = num2hex(255 - g) + textb = num2hex(255 - b) + if(length(textr) < 2) + textr = text("0[]", textr) + if(length(textg) < 2) + textr = text("0[]", textg) + if(length(textb) < 2) + textr = text("0[]", textb) + return text("#[][][]", textr, textg, textb) + return + +//Returns the middle-most value +/proc/dd_range(var/low, var/high, var/num) + return max(low,min(high,num)) + +//Returns whether or not A is the middle most value +/proc/InRange(var/A, var/lower, var/upper) + if(A < lower) return 0 + if(A > upper) return 0 + return 1 + + +/proc/Get_Angle(atom/movable/start,atom/movable/end)//For beams. + if(!start || !end) return 0 + var/dy + var/dx + dy=(32*end.y+end.pixel_y)-(32*start.y+start.pixel_y) + dx=(32*end.x+end.pixel_x)-(32*start.x+start.pixel_x) + if(!dy) + return (dx>=0)?90:270 + .=arctan(dx/dy) + if(dy<0) + .+=180 + else if(dx<0) + .+=360 + +//Returns location. Returns null if no location was found. +/proc/get_teleport_loc(turf/location,mob/target,distance = 1, density = 0, errorx = 0, errory = 0, eoffsetx = 0, eoffsety = 0) +/* +Location where the teleport begins, target that will teleport, distance to go, density checking 0/1(yes/no). +Random error in tile placement x, error in tile placement y, and block offset. +Block offset tells the proc how to place the box. Behind teleport location, relative to starting location, forward, etc. +Negative values for offset are accepted, think of it in relation to North, -x is west, -y is south. Error defaults to positive. +Turf and target are seperate in case you want to teleport some distance from a turf the target is not standing on or something. +*/ + + var/dirx = 0//Generic location finding variable. + var/diry = 0 + + var/xoffset = 0//Generic counter for offset location. + var/yoffset = 0 + + var/b1xerror = 0//Generic placing for point A in box. The lower left. + var/b1yerror = 0 + var/b2xerror = 0//Generic placing for point B in box. The upper right. + var/b2yerror = 0 + + errorx = abs(errorx)//Error should never be negative. + errory = abs(errory) + //var/errorxy = round((errorx+errory)/2)//Used for diagonal boxes. + + switch(target.dir)//This can be done through equations but switch is the simpler method. And works fast to boot. + //Directs on what values need modifying. + if(1)//North + diry+=distance + yoffset+=eoffsety + xoffset+=eoffsetx + b1xerror-=errorx + b1yerror-=errory + b2xerror+=errorx + b2yerror+=errory + if(2)//South + diry-=distance + yoffset-=eoffsety + xoffset+=eoffsetx + b1xerror-=errorx + b1yerror-=errory + b2xerror+=errorx + b2yerror+=errory + if(4)//East + dirx+=distance + yoffset+=eoffsetx//Flipped. + xoffset+=eoffsety + b1xerror-=errory//Flipped. + b1yerror-=errorx + b2xerror+=errory + b2yerror+=errorx + if(8)//West + dirx-=distance + yoffset-=eoffsetx//Flipped. + xoffset+=eoffsety + b1xerror-=errory//Flipped. + b1yerror-=errorx + b2xerror+=errory + b2yerror+=errorx + + var/turf/destination=locate(location.x+dirx,location.y+diry,location.z) + + if(destination)//If there is a destination. + if(errorx||errory)//If errorx or y were specified. + var/destination_list[] = list()//To add turfs to list. + //destination_list = new() + /*This will draw a block around the target turf, given what the error is. + Specifying the values above will basically draw a different sort of block. + If the values are the same, it will be a square. If they are different, it will be a rectengle. + In either case, it will center based on offset. Offset is position from center. + Offset always calculates in relation to direction faced. In other words, depending on the direction of the teleport, + the offset should remain positioned in relation to destination.*/ + + var/turf/center = locate((destination.x+xoffset),(destination.y+yoffset),location.z)//So now, find the new center. + + //Now to find a box from center location and make that our destination. + for(var/turf/T in block(locate(center.x+b1xerror,center.y+b1yerror,location.z), locate(center.x+b2xerror,center.y+b2yerror,location.z) )) + if(density&&T.density) continue//If density was specified. + if(T.x>world.maxx || T.x<1) continue//Don't want them to teleport off the map. + if(T.y>world.maxy || T.y<1) continue + destination_list += T + if(destination_list.len) + destination = pick(destination_list) + else return + + else//Same deal here. + if(density&&destination.density) return + if(destination.x>world.maxx || destination.x<1) return + if(destination.y>world.maxy || destination.y<1) return + else return + + return destination + +// Returns true if direction is blocked from loc +// Checks if doors are open +/proc/DirBlocked(turf/loc,var/dir) + for(var/obj/structure/window/D in loc) + if(!D.density) + continue + if(D.fulltile) + return 1 + if(D.dir == dir) + return 1 + + for(var/obj/machinery/door/D in loc) + if(!D.density)//if the door is open + continue + else return 1 // if closed, it's a real, air blocking door + return 0 + +///////////////////////////////////////////////////////////////////////// + +/proc/getline(atom/M,atom/N)//Ultra-Fast Bresenham Line-Drawing Algorithm + var/px=M.x //starting x + var/py=M.y + var/line[] = list(locate(px,py,M.z)) + var/dx=N.x-px //x distance + var/dy=N.y-py + var/dxabs=abs(dx)//Absolute value of x distance + var/dyabs=abs(dy) + var/sdx=SIGN(dx) //Sign of x distance (+ or -) + var/sdy=SIGN(dy) + var/x=dxabs>>1 //Counters for steps taken, setting to distance/2 + var/y=dyabs>>1 //Bit-shifting makes me l33t. It also makes getline() unnessecarrily fast. + var/j //Generic integer for counting + if(dxabs>=dyabs) //x distance is greater than y + for(j=0;j=dxabs) //Every dyabs steps, step once in y direction + y-=dxabs + py+=sdy + px+=sdx //Step on in x direction + line+=locate(px,py,M.z)//Add the turf to the list + else + for(j=0;j=dyabs) + x-=dyabs + px+=sdx + py+=sdy + line+=locate(px,py,M.z) + return line + +//Same as the thing below just for density and without support for atoms. +/proc/can_line(atom/source, atom/target, length = 5) + var/turf/current = get_turf(source) + var/turf/target_turf = get_turf(target) + var/steps = 0 + + while(current != target_turf) + if(steps > length) + return FALSE + if(!current) + return FALSE + if(current.density) + return FALSE + current = get_step_towards(current, target_turf) + steps++ + return TRUE + +//Returns whether or not a player is a guest using their ckey as an input +/proc/IsGuestKey(key) + if(findtext(key, "Guest-", 1, 7) != 1) //was findtextEx + return 0 + + var/i, ch, len = length(key) + + for(i = 7, i <= len, ++i) + ch = text2ascii(key, i) + if(ch < 48 || ch > 57) + return 0 + return 1 + +//Ensure the frequency is within bounds of what it should be sending/recieving at +/proc/sanitize_frequency(var/f, var/low = PUBLIC_LOW_FREQ, var/high = PUBLIC_HIGH_FREQ) + f = round(f) + f = max(low, f) + f = min(high, f) + if((f % 2) == 0) //Ensure the last digit is an odd number + f += 1 + return f + +//Turns 1479 into 147.9 +/proc/format_frequency(var/f) + return "[round(f / 10)].[f % 10]" + +/obj/proc/atmosanalyzer_scan(var/datum/gas_mixture/air_contents, mob/user, var/obj/target = src) + var/obj/icon = target + user.visible_message("[user] has used the analyzer on [target].", "You use the analyzer on [target].") + var/pressure = air_contents.return_pressure() + var/total_moles = air_contents.total_moles() + + user.show_message("Results of analysis of [bicon(icon)] [target].", 1) + if(total_moles>0) + var/o2_concentration = air_contents.oxygen/total_moles + var/n2_concentration = air_contents.nitrogen/total_moles + var/co2_concentration = air_contents.carbon_dioxide/total_moles + var/plasma_concentration = air_contents.toxins/total_moles + + var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+plasma_concentration) + + user.show_message("Pressure: [round(pressure,0.1)] kPa", 1) + user.show_message("Nitrogen: [round(n2_concentration*100)] % ([round(air_contents.nitrogen,0.01)] moles)", 1) + user.show_message("Oxygen: [round(o2_concentration*100)] % ([round(air_contents.oxygen,0.01)] moles)", 1) + user.show_message("CO2: [round(co2_concentration*100)] % ([round(air_contents.carbon_dioxide,0.01)] moles)", 1) + user.show_message("Plasma: [round(plasma_concentration*100)] % ([round(air_contents.toxins,0.01)] moles)", 1) + if(unknown_concentration>0.01) + user.show_message("Unknown: [round(unknown_concentration*100)] % ([round(unknown_concentration*total_moles,0.01)] moles)", 1) + user.show_message("Total: [round(total_moles,0.01)] moles", 1) + user.show_message("Temperature: [round(air_contents.temperature-T0C)] °C", 1) + else + user.show_message("[target] is empty!", 1) + return + +//Picks a string of symbols to display as the law number for hacked or ion laws +/proc/ionnum() + return "[pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" + +//When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave. +/proc/freeborg() + var/select = null + var/list/borgs = list() + for(var/mob/living/silicon/robot/A in GLOB.player_list) + if(A.stat == 2 || A.connected_ai || A.scrambledcodes || istype(A,/mob/living/silicon/robot/drone)) + continue + var/name = "[A.real_name] ([A.modtype] [A.braintype])" + borgs[name] = A + + if(borgs.len) + select = input("Unshackled borg signals detected:", "Borg selection", null, null) as null|anything in borgs + return borgs[select] + +//When a borg is activated, it can choose which AI it wants to be slaved to +/proc/active_ais() + . = list() + for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) + if(A.stat == DEAD) + continue + if(A.control_disabled == 1) + continue + . += A + return . + +//Find an active ai with the least borgs. VERBOSE PROCNAME HUH! +/proc/select_active_ai_with_fewest_borgs() + var/mob/living/silicon/ai/selected + var/list/active = active_ais() + for(var/mob/living/silicon/ai/A in active) + if(!selected || (selected.connected_robots > A.connected_robots)) + selected = A + + return selected + +/proc/select_active_ai(var/mob/user) + var/list/ais = active_ais() + if(ais.len) + if(user) . = input(usr,"AI signals detected:", "AI selection") in ais + else . = pick(ais) + return . + +/proc/get_sorted_mobs() + var/list/old_list = getmobs() + var/list/AI_list = list() + var/list/Dead_list = list() + var/list/keyclient_list = list() + var/list/key_list = list() + var/list/logged_list = list() + for(var/named in old_list) + var/mob/M = old_list[named] + if(issilicon(M)) + AI_list |= M + else if(isobserver(M) || M.stat == DEAD) + Dead_list |= M + else if(M.key && M.client) + keyclient_list |= M + else if(M.key) + key_list |= M + else + logged_list |= M + old_list.Remove(named) + var/list/new_list = list() + new_list += AI_list + new_list += keyclient_list + new_list += key_list + new_list += logged_list + new_list += Dead_list + return new_list + +//Returns a list of all mobs with their name +/proc/getmobs() + + var/list/mobs = sortmobs() + var/list/names = list() + var/list/creatures = list() + var/list/namecounts = list() + for(var/mob/M in mobs) + var/name = M.name + if(name in names) + namecounts[name]++ + name = "[name] ([namecounts[name]])" + else + names.Add(name) + namecounts[name] = 1 + if(M.real_name && M.real_name != M.name) + name += " \[[M.real_name]\]" + if(M.stat == DEAD) + if(istype(M, /mob/dead/observer/)) + name += " \[ghost\]" + else + name += " \[dead\]" + creatures[name] = M + + return creatures + +//Orders mobs by type then by name +/proc/sortmobs() + var/list/moblist = list() + var/list/sortmob = sortAtom(GLOB.mob_list) + for(var/mob/living/silicon/ai/M in sortmob) + moblist.Add(M) + if(M.eyeobj) + moblist.Add(M.eyeobj) + for(var/mob/living/silicon/pai/M in sortmob) + moblist.Add(M) + for(var/mob/living/silicon/robot/M in sortmob) + moblist.Add(M) + for(var/mob/living/carbon/human/M in sortmob) + moblist.Add(M) + for(var/mob/living/carbon/brain/M in sortmob) + moblist.Add(M) + for(var/mob/living/carbon/alien/M in sortmob) + moblist.Add(M) + for(var/mob/dead/observer/M in sortmob) + moblist.Add(M) + for(var/mob/new_player/M in sortmob) + moblist.Add(M) + for(var/mob/living/carbon/slime/M in sortmob) + moblist.Add(M) + for(var/mob/living/simple_animal/M in sortmob) + moblist.Add(M) + return moblist + +// Format a power value in W, kW, MW, or GW. +/proc/DisplayPower(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" + +//E = MC^2 +/proc/convert2energy(var/M) + var/E = M*(SPEED_OF_LIGHT_SQ) + return E + +//M = E/C^2 +/proc/convert2mass(var/E) + var/M = E/(SPEED_OF_LIGHT_SQ) + return M + +//Forces a variable to be posative +/proc/modulus(var/M) + if(M >= 0) + return M + if(M < 0) + return -M + +/proc/get_mob_by_ckey(key) + if(!key) + return + for(var/mob/M in GLOB.mob_list) + if(M.ckey == key) + return M + +// Returns the atom sitting on the turf. +// For example, using this on a disk, which is in a bag, on a mob, will return the mob because it's on the turf. +/proc/get_atom_on_turf(var/atom/movable/M) + var/atom/loc = M + while(loc && loc.loc && !istype(loc.loc, /turf/)) + loc = loc.loc + return loc + +/* +Returns 1 if the chain up to the area contains the given typepath +0 otherwise +*/ +/atom/proc/is_found_within(var/typepath) + var/atom/A = src + while(A.loc) + if(istype(A.loc, typepath)) + return 1 + A = A.loc + return 0 + +// the on-close client verb +// called when a browser popup window is closed after registering with proc/onclose() +// if a valid atom reference is supplied, call the atom's Topic() with "close=1" +// otherwise, just reset the client mob's machine var. + + +// returns the turf located at the map edge in the specified direction relative to A +// used for mass driver +/proc/get_edge_target_turf(var/atom/A, var/direction) + + var/turf/target = locate(A.x, A.y, A.z) + if(!A || !target) + return 0 + //since NORTHEAST == NORTH & EAST, etc, doing it this way allows for diagonal mass drivers in the future + //and isn't really any more complicated + + // Note diagonal directions won't usually be accurate + if(direction & NORTH) + target = locate(target.x, world.maxy, target.z) + if(direction & SOUTH) + target = locate(target.x, 1, target.z) + if(direction & EAST) + target = locate(world.maxx, target.y, target.z) + if(direction & WEST) + target = locate(1, target.y, target.z) + + return target + +// returns turf relative to A in given direction at set range +// result is bounded to map size +// note range is non-pythagorean +// used for disposal system +/proc/get_ranged_target_turf(var/atom/A, var/direction, var/range) + + var/x = A.x + var/y = A.y + if(direction & NORTH) + y = min(world.maxy, y + range) + if(direction & SOUTH) + y = max(1, y - range) + if(direction & EAST) + x = min(world.maxx, x + range) + if(direction & WEST) + x = max(1, x - range) + + return locate(x,y,A.z) + + +// returns turf relative to A offset in dx and dy tiles +// bound to map limits +/proc/get_offset_target_turf(var/atom/A, var/dx, var/dy) + var/x = min(world.maxx, max(1, A.x + dx)) + var/y = min(world.maxy, max(1, A.y + dy)) + return locate(x,y,A.z) + +//Makes sure MIDDLE is between LOW and HIGH. If not, it adjusts it. Returns the adjusted value. +/proc/between(var/low, var/middle, var/high) + return max(min(middle, high), low) + +proc/arctan(x) + var/y=arcsin(x/sqrt(1+x*x)) + return y + +//returns random gauss number +proc/GaussRand(var/sigma) + var/x,y,rsq + do + x=2*rand()-1 + y=2*rand()-1 + rsq=x*x+y*y + while(rsq>1 || !rsq) + return sigma*y*sqrt(-2*log(rsq)/rsq) + +//returns random gauss number, rounded to 'roundto' +proc/GaussRandRound(var/sigma,var/roundto) + return round(GaussRand(sigma),roundto) + +//Will return the contents of an atom recursivly to a depth of 'searchDepth' +/atom/proc/GetAllContents(searchDepth = 5) + var/list/toReturn = list() + + for(var/atom/part in contents) + toReturn += part + if(part.contents.len && searchDepth) + toReturn += part.GetAllContents(searchDepth - 1) + + return toReturn + +//Searches contents of the atom and returns the sum of all w_class of obj/item within +/atom/proc/GetTotalContentsWeight(searchDepth = 5) + var/weight = 0 + var/list/content = GetAllContents(searchDepth) + for(var/obj/item/I in content) + weight += I.w_class + return weight + +//Step-towards method of determining whether one atom can see another. Similar to viewers() +/proc/can_see(var/atom/source, var/atom/target, var/length=5) // I couldnt be arsed to do actual raycasting :I This is horribly inaccurate. + var/turf/current = get_turf(source) + var/turf/target_turf = get_turf(target) + var/steps = 1 + + if(current != target_turf) + current = get_step_towards(current, target_turf) + while(current != target_turf) + if(steps > length) + return 0 + if(current.opacity) + return 0 + for(var/thing in current) + var/atom/A = thing + if(A.opacity) + return 0 + current = get_step_towards(current, target_turf) + steps++ + + return 1 + +proc/is_blocked_turf(turf/T, exclude_mobs) + if(T.density) + return 1 + for(var/i in T) + var/atom/A = i + if(A.density && (!exclude_mobs || !ismob(A))) + return 1 + return 0 + +/proc/get_step_towards2(var/atom/ref , var/atom/trg) + var/base_dir = get_dir(ref, get_step_towards(ref,trg)) + var/turf/temp = get_step_towards(ref,trg) + + if(is_blocked_turf(temp)) + var/dir_alt1 = turn(base_dir, 90) + var/dir_alt2 = turn(base_dir, -90) + var/turf/turf_last1 = temp + var/turf/turf_last2 = temp + var/free_tile = null + var/breakpoint = 0 + + while(!free_tile && breakpoint < 10) + if(!is_blocked_turf(turf_last1)) + free_tile = turf_last1 + break + if(!is_blocked_turf(turf_last2)) + free_tile = turf_last2 + break + turf_last1 = get_step(turf_last1,dir_alt1) + turf_last2 = get_step(turf_last2,dir_alt2) + breakpoint++ + + if(!free_tile) return get_step(ref, base_dir) + else return get_step_towards(ref,free_tile) + + else return get_step(ref, base_dir) + +//Takes: Anything that could possibly have variables and a varname to check. +//Returns: 1 if found, 0 if not. +/proc/hasvar(var/datum/A, var/varname) + if(A.vars.Find(lowertext(varname))) return 1 + else return 0 + +//Returns: all the areas in the world +/proc/return_areas() + var/list/area/areas = list() + for(var/area/A in world) + areas += A + return areas + +//Returns: all the areas in the world, sorted. +/proc/return_sorted_areas() + return sortAtom(return_areas()) + +//Takes: Area type as text string or as typepath OR an instance of the area. +//Returns: A list of all areas of that type in the world. +/proc/get_areas(var/areatype) + if(!areatype) return null + if(istext(areatype)) areatype = text2path(areatype) + if(isarea(areatype)) + var/area/areatemp = areatype + areatype = areatemp.type + + var/list/areas = new/list() + for(var/area/N in world) + if(istype(N, areatype)) areas += N + return areas + +//Takes: Area type as text string or as typepath OR an instance of the area. +//Returns: A list of all turfs in areas of that type of that type in the world. +/proc/get_area_turfs(var/areatype) + if(!areatype) return null + if(istext(areatype)) areatype = text2path(areatype) + if(isarea(areatype)) + var/area/areatemp = areatype + areatype = areatemp.type + + var/list/turfs = new/list() + for(var/area/N in world) + if(istype(N, areatype)) + for(var/turf/T in N) turfs += T + return turfs + +//Takes: Area type as text string or as typepath OR an instance of the area. +//Returns: A list of all atoms (objs, turfs, mobs) in areas of that type of that type in the world. +/proc/get_area_all_atoms(var/areatype) + if(!areatype) return null + if(istext(areatype)) areatype = text2path(areatype) + if(isarea(areatype)) + var/area/areatemp = areatype + areatype = areatemp.type + + var/list/atoms = new/list() + for(var/area/N in world) + if(istype(N, areatype)) + for(var/atom/A in N) + atoms += A + return atoms + +/datum/coords //Simple datum for storing coordinates. + var/x_pos = null + var/y_pos = null + var/z_pos = null + +/area/proc/move_contents_to(var/area/A, var/turftoleave=null, var/direction = null) + //Takes: Area. Optional: turf type to leave behind. + //Returns: Nothing. + //Notes: Attempts to move the contents of one area to another area. + // Movement based on lower left corner. Tiles that do not fit + // into the new area will not be moved. + + if(!A || !src) return 0 + + var/list/turfs_src = get_area_turfs(src.type) + var/list/turfs_trg = get_area_turfs(A.type) + + var/src_min_x = 0 + var/src_min_y = 0 + for(var/turf/T in turfs_src) + if(T.x < src_min_x || !src_min_x) src_min_x = T.x + if(T.y < src_min_y || !src_min_y) src_min_y = T.y + + var/trg_min_x = 0 + var/trg_min_y = 0 + for(var/turf/T in turfs_trg) + if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x + if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y + + var/list/refined_src = new/list() + for(var/turf/T in turfs_src) + refined_src += T + refined_src[T] = new/datum/coords + var/datum/coords/C = refined_src[T] + C.x_pos = (T.x - src_min_x) + C.y_pos = (T.y - src_min_y) + + var/list/refined_trg = new/list() + for(var/turf/T in turfs_trg) + refined_trg += T + refined_trg[T] = new/datum/coords + var/datum/coords/C = refined_trg[T] + C.x_pos = (T.x - trg_min_x) + C.y_pos = (T.y - trg_min_y) + + var/list/fromupdate = new/list() + var/list/toupdate = new/list() + + moving: + for(var/turf/T in refined_src) + var/datum/coords/C_src = refined_src[T] + for(var/turf/B in refined_trg) + var/datum/coords/C_trg = refined_trg[B] + if(C_src.x_pos == C_trg.x_pos && C_src.y_pos == C_trg.y_pos) + + var/old_dir1 = T.dir + var/old_icon_state1 = T.icon_state + var/old_icon1 = T.icon + + var/turf/X = B.ChangeTurf(T.type) + X.dir = old_dir1 + X.icon_state = old_icon_state1 + X.icon = old_icon1 //Shuttle floors are in shuttle.dmi while the defaults are floors.dmi + + // Give the new turf our air, if simulated + if(istype(X, /turf/simulated) && istype(T, /turf/simulated)) + var/turf/simulated/sim = X + sim.copy_air_with_tile(T) + + + /* Quick visual fix for some weird shuttle corner artefacts when on transit space tiles */ + if(direction && findtext(X.icon_state, "swall_s")) + + // Spawn a new shuttle corner object + var/obj/corner = new() + corner.loc = X + corner.density = 1 + corner.anchored = 1 + corner.icon = X.icon + corner.icon_state = replacetext(X.icon_state, "_s", "_f") + corner.tag = "delete me" + corner.name = "wall" + + // Find a new turf to take on the property of + var/turf/nextturf = get_step(corner, direction) + if(!nextturf || !istype(nextturf, /turf/space)) + nextturf = get_step(corner, turn(direction, 180)) + + + // Take on the icon of a neighboring scrolling space icon + X.icon = nextturf.icon + X.icon_state = nextturf.icon_state + + + for(var/obj/O in T) + + // Reset the shuttle corners + if(O.tag == "delete me") + X.icon = 'icons/turf/shuttle.dmi' + X.icon_state = replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state + X.name = "wall" + qdel(O) // prevents multiple shuttle corners from stacking + continue + if(!istype(O,/obj)) continue + O.loc.Exited(O) + O.setLoc(X,teleported=1) + O.loc.Entered(O) + for(var/mob/M in T) + if(!M.move_on_shuttle) + continue + M.loc = X + +// var/area/AR = X.loc + +// if(AR.lighting_use_dynamic) //TODO: rewrite this code so it's not messed by lighting ~Carn +// X.opacity = !X.opacity +// X.set_opacity(!X.opacity) + + toupdate += X + + if(turftoleave) + fromupdate += T.ChangeTurf(turftoleave) + else + T.ChangeTurf(T.baseturf) + + refined_src -= T + refined_trg -= B + continue moving + + if(toupdate.len) + for(var/turf/simulated/T1 in toupdate) + SSair.remove_from_active(T1) + T1.CalculateAdjacentTurfs() + SSair.add_to_active(T1,1) + + if(fromupdate.len) + for(var/turf/simulated/T2 in fromupdate) + SSair.remove_from_active(T2) + T2.CalculateAdjacentTurfs() + SSair.add_to_active(T2,1) + + + + +/proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0, var/atom/newloc = null) + if(!original) + return null + + var/obj/O = null + + if(sameloc) + O=new original.type(original.loc) + else + O=new original.type(newloc) + + if(perfectcopy) + if((O) && (original)) + var/static/list/forbidden_vars = list("type","loc","locs","vars", "parent","parent_type", "verbs","ckey","key","power_supply","contents","reagents","stat","x","y","z","group") + + for(var/V in original.vars - forbidden_vars) + if(istype(original.vars[V],/list)) + var/list/L = original.vars[V] + O.vars[V] = L.Copy() + else if(istype(original.vars[V],/datum)) + continue // this would reference the original's object, that will break when it is used or deleted. + else + O.vars[V] = original.vars[V] + if(istype(O)) + O.update_icon() + return O + +/area/proc/copy_contents_to(var/area/A , var/platingRequired = 0 ) + //Takes: Area. Optional: If it should copy to areas that don't have plating + //Returns: Nothing. + //Notes: Attempts to move the contents of one area to another area. + // Movement based on lower left corner. Tiles that do not fit + // into the new area will not be moved. + + if(!A || !src) return 0 + + var/list/turfs_src = get_area_turfs(src.type) + var/list/turfs_trg = get_area_turfs(A.type) + + var/src_min_x = 0 + var/src_min_y = 0 + for(var/turf/T in turfs_src) + if(T.x < src_min_x || !src_min_x) src_min_x = T.x + if(T.y < src_min_y || !src_min_y) src_min_y = T.y + + var/trg_min_x = 0 + var/trg_min_y = 0 + for(var/turf/T in turfs_trg) + if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x + if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y + + var/list/refined_src = new/list() + for(var/turf/T in turfs_src) + refined_src += T + refined_src[T] = new/datum/coords + var/datum/coords/C = refined_src[T] + C.x_pos = (T.x - src_min_x) + C.y_pos = (T.y - src_min_y) + + var/list/refined_trg = new/list() + for(var/turf/T in turfs_trg) + refined_trg += T + refined_trg[T] = new/datum/coords + var/datum/coords/C = refined_trg[T] + C.x_pos = (T.x - trg_min_x) + C.y_pos = (T.y - trg_min_y) + + var/list/toupdate = new/list() + + var/copiedobjs = list() + + + moving: + for(var/turf/T in refined_src) + var/datum/coords/C_src = refined_src[T] + for(var/turf/B in refined_trg) + var/datum/coords/C_trg = refined_trg[B] + if(C_src.x_pos == C_trg.x_pos && C_src.y_pos == C_trg.y_pos) + + var/old_dir1 = T.dir + var/old_icon_state1 = T.icon_state + var/old_icon1 = T.icon + + if(platingRequired) + if(istype(B, /turf/space)) + continue moving + + var/turf/X = new T.type(B) + X.dir = old_dir1 + X.icon_state = old_icon_state1 + X.icon = old_icon1 //Shuttle floors are in shuttle.dmi while the defaults are floors.dmi + + + var/list/objs = new/list() + var/list/newobjs = new/list() + var/list/mobs = new/list() + var/list/newmobs = new/list() + + for(var/obj/O in T) + + if(!istype(O,/obj)) + continue + + objs += O + + + for(var/obj/O in objs) + newobjs += DuplicateObject(O , 1) + + + for(var/obj/O in newobjs) + O.loc = X + + for(var/mob/M in T) + + if(!M.move_on_shuttle) + continue + mobs += M + + for(var/mob/M in mobs) + newmobs += DuplicateObject(M , 1) + + for(var/mob/M in newmobs) + M.loc = X + + copiedobjs += newobjs + copiedobjs += newmobs + + + + for(var/V in T.vars) + if(!(V in list("type","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","contents", "luminosity", "group"))) + X.vars[V] = T.vars[V] + +// var/area/AR = X.loc + +// if(AR.lighting_use_dynamic) +// X.opacity = !X.opacity +// X.sd_set_opacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn + + toupdate += X + + refined_src -= T + refined_trg -= B + continue moving + + + + if(toupdate.len) + for(var/turf/simulated/T1 in toupdate) + T1.CalculateAdjacentTurfs() + SSair.add_to_active(T1,1) + + + return copiedobjs + + + +proc/get_cardinal_dir(atom/A, atom/B) + var/dx = abs(B.x - A.x) + var/dy = abs(B.y - A.y) + return get_dir(A, B) & (rand() * (dx+dy) < dy ? 3 : 12) + +//chances are 1:value. anyprob(1) will always return true +proc/anyprob(value) + return (rand(1,value)==value) + +proc/view_or_range(distance = world.view , center = usr , type) + switch(type) + if("view") + . = view(distance,center) + if("range") + . = range(distance,center) + return + +proc/oview_or_orange(distance = world.view , center = usr , type) + switch(type) + if("view") + . = oview(distance,center) + if("range") + . = orange(distance,center) + return + +proc/get_mob_with_client_list() + var/list/mobs = list() + for(var/mob/M in GLOB.mob_list) + if(M.client) + mobs += M + return mobs + + +/proc/parse_zone(zone) + if(zone == "r_hand") return "right hand" + else if(zone == "l_hand") return "left hand" + else if(zone == "l_arm") return "left arm" + else if(zone == "r_arm") return "right arm" + else if(zone == "l_leg") return "left leg" + else if(zone == "r_leg") return "right leg" + else if(zone == "l_foot") return "left foot" + else if(zone == "r_foot") return "right foot" + else if(zone == "l_hand") return "left hand" + else if(zone == "r_hand") return "right hand" + else if(zone == "l_foot") return "left foot" + else if(zone == "r_foot") return "right foot" + else return zone + +/* + + Gets the turf this atom's *ICON* appears to inhabit + It takes into account: + * Pixel_x/y + * Matrix x/y + + NOTE: if your atom has non-standard bounds then this proc + will handle it, but: + * if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked + (this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) + * if the bounds are odd, the true middle turf of the atom is returned + +*/ + +/proc/get_turf_pixel(atom/movable/AM) + if(!istype(AM)) + return + + //Find AM's matrix so we can use it's X/Y pixel shifts + var/matrix/M = matrix(AM.transform) + + var/pixel_x_offset = AM.pixel_x + M.get_x_shift() + var/pixel_y_offset = AM.pixel_y + M.get_y_shift() + + //Irregular objects + if(AM.bound_height != world.icon_size || AM.bound_width != world.icon_size) + var/icon/AMicon = icon(AM.icon, AM.icon_state) + pixel_x_offset += ((AMicon.Width()/world.icon_size)-1)*(world.icon_size*0.5) + pixel_y_offset += ((AMicon.Height()/world.icon_size)-1)*(world.icon_size*0.5) + qdel(AMicon) + + //DY and DX + var/rough_x = round(round(pixel_x_offset,world.icon_size)/world.icon_size) + var/rough_y = round(round(pixel_y_offset,world.icon_size)/world.icon_size) + + //Find coordinates + var/turf/T = get_turf(AM) //use AM's turfs, as it's coords are the same as AM's AND AM's coords are lost if it is inside another atom + if(!T) + return null + var/final_x = T.x + rough_x + var/final_y = T.y + rough_y + + if(final_x || final_y) + return locate(final_x, final_y, T.z) + +//Finds the distance between two atoms, in pixels +//centered = 0 counts from turf edge to edge +//centered = 1 counts from turf center to turf center +//of course mathematically this is just adding world.icon_size on again +/proc/getPixelDistance(var/atom/A, var/atom/B, var/centered = 1) + if(!istype(A)||!istype(B)) + return 0 + . = bounds_dist(A, B) + sqrt((((A.pixel_x+B.pixel_x)**2) + ((A.pixel_y+B.pixel_y)**2))) + if(centered) + . += world.icon_size + +/proc/get(atom/loc, type) + while(loc) + if(istype(loc, type)) + return loc + loc = loc.loc + return null + +/proc/get_turf_or_move(turf/location) + return get_turf(location) + + +//For objects that should embed, but make no sense being is_sharp or is_pointed() +//e.g: rods +var/list/can_embed_types = typecacheof(list( + /obj/item/stack/rods, + /obj/item/pipe)) + +/proc/can_embed(obj/item/W) + if(is_sharp(W)) + return 1 + if(is_pointed(W)) + return 1 + + if(is_type_in_typecache(W, can_embed_types)) + return 1 + +//Quick type checks for some tools +var/global/list/common_tools = list( +/obj/item/stack/cable_coil, +/obj/item/wrench, +/obj/item/weldingtool, +/obj/item/screwdriver, +/obj/item/wirecutters, +/obj/item/multitool, +/obj/item/crowbar) + +/proc/istool(O) + if(O && is_type_in_list(O, common_tools)) + return 1 + return 0 + +/proc/iswrench(O) + if(istype(O, /obj/item/wrench)) + return 1 + return 0 + +/proc/iswelder(O) + if(istype(O, /obj/item/weldingtool)) + return 1 + return 0 + +/proc/iscoil(O) + if(istype(O, /obj/item/stack/cable_coil)) + return 1 + return 0 + +/proc/iswirecutter(O) + if(istype(O, /obj/item/wirecutters)) + return 1 + return 0 + +/proc/isscrewdriver(O) + if(istype(O, /obj/item/screwdriver)) + return 1 + return 0 + +/proc/ismultitool(O) + if(istype(O, /obj/item/multitool)) + return 1 + return 0 + +/proc/iscrowbar(O) + if(istype(O, /obj/item/crowbar)) + return 1 + return 0 + +/proc/ispowertool(O)//used to check if a tool can force powered doors + if(istype(O, /obj/item/crowbar/power) || istype(O, /obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw)) + return TRUE + return FALSE + +/proc/iswire(O) + if(istype(O, /obj/item/stack/cable_coil)) + return 1 + return 0 + +/proc/is_hot(obj/item/W as obj) + if(istype(W, /obj/item/weldingtool)) + var/obj/item/weldingtool/O = W + if(O.isOn()) + return 2500 + else + return 0 + if(istype(W, /obj/item/lighter)) + var/obj/item/lighter/O = W + if(O.lit) + return 1500 + else + return 0 + if(istype(W, /obj/item/match)) + var/obj/item/match/O = W + if(O.lit == 1) + return 1000 + else + return 0 + if(istype(W, /obj/item/clothing/mask/cigarette)) + var/obj/item/clothing/mask/cigarette/O = W + if(O.lit) + return 1000 + else + return 0 + if(istype(W, /obj/item/candle)) + var/obj/item/candle/O = W + if(O.lit) + return 1000 + else + return 0 + if(istype(W, /obj/item/flashlight/flare)) + var/obj/item/flashlight/flare/O = W + if(O.on) + return 1000 + else + return 0 + if(istype(W, /obj/item/gun/energy/plasmacutter)) + return 3800 + if(istype(W, /obj/item/melee/energy)) + var/obj/item/melee/energy/O = W + if(O.active) + return 3500 + else + return 0 + if(istype(W, /obj/item/assembly/igniter)) + return 20000 + else + return 0 + +//Whether or not the given item counts as sharp in terms of dealing damage +/proc/is_sharp(obj/O) + if(!O) + return 0 + if(O.sharp) + return 1 + return 0 + +/proc/is_surgery_tool(obj/item/W as obj) + return ( \ + istype(W, /obj/item/scalpel) || \ + istype(W, /obj/item/hemostat) || \ + istype(W, /obj/item/retractor) || \ + istype(W, /obj/item/cautery) || \ + istype(W, /obj/item/bonegel) || \ + istype(W, /obj/item/bonesetter) + ) + +/proc/reverse_direction(var/dir) + switch(dir) + if(NORTH) + return SOUTH + if(NORTHEAST) + return SOUTHWEST + if(EAST) + return WEST + if(SOUTHEAST) + return NORTHWEST + if(SOUTH) + return NORTH + if(SOUTHWEST) + return NORTHEAST + if(WEST) + return EAST + if(NORTHWEST) + return SOUTHEAST + +/* +Checks if that loc and dir has a item on the wall +*/ +var/list/static/global/wall_items = typecacheof(list(/obj/machinery/power/apc, /obj/machinery/alarm, + /obj/item/radio/intercom, /obj/structure/extinguisher_cabinet, /obj/structure/reagent_dispensers/peppertank, + /obj/machinery/status_display, /obj/machinery/requests_console, /obj/machinery/light_switch, /obj/structure/sign, + /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/door_control, + /obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio/airlock, + /obj/item/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth, + /obj/structure/mirror, /obj/structure/closet/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment, + /obj/structure/sign)) + +/proc/gotwallitem(loc, dir) + for(var/obj/O in loc) + if(is_type_in_typecache(O, wall_items)) + //Direction works sometimes + if(O.dir == dir) + return 1 + + //Some stuff doesn't use dir properly, so we need to check pixel instead + switch(dir) + if(SOUTH) + if(O.pixel_y > 10) + return 1 + if(NORTH) + if(O.pixel_y < -10) + return 1 + if(WEST) + if(O.pixel_x > 10) + return 1 + if(EAST) + if(O.pixel_x < -10) + return 1 + + //Some stuff is placed directly on the wallturf (signs) + for(var/obj/O in get_step(loc, dir)) + if(is_type_in_typecache(O, wall_items)) + if(abs(O.pixel_x) <= 10 && abs(O.pixel_y) <= 10) + return 1 + return 0 + + +proc/get_angle(atom/a, atom/b) + return atan2(b.y - a.y, b.x - a.x) + +proc/atan2(x, y) + if(!x && !y) return 0 + return y >= 0 ? arccos(x / sqrt(x * x + y * y)) : -arccos(x / sqrt(x * x + y * y)) + +/proc/format_text(text) + return replacetext(replacetext(text,"\proper ",""),"\improper ","") + +/* +Standard way to write links -Sayu +*/ + +/proc/topic_link(var/datum/D, var/arglist, var/content) + if(istype(arglist,/list)) + arglist = list2params(arglist) + return "[content]" + + + +/proc/get_location_accessible(mob/M, location) + var/covered_locations = 0 //based on body_parts_covered + var/face_covered = 0 //based on flags_inv + var/eyesmouth_covered = 0 //based on flags_cover + if(iscarbon(M)) + var/mob/living/carbon/C = M + for(var/obj/item/clothing/I in list(C.back, C.wear_mask)) + covered_locations |= I.body_parts_covered + face_covered |= I.flags_inv + eyesmouth_covered |= I.flags_cover + if(ishuman(C)) + var/mob/living/carbon/human/H = C + for(var/obj/item/I in list(H.wear_suit, H.w_uniform, H.shoes, H.belt, H.gloves, H.glasses, H.head, H.r_ear, H.l_ear)) + covered_locations |= I.body_parts_covered + face_covered |= I.flags_inv + eyesmouth_covered |= I.flags_cover + + switch(location) + if("head") + if(covered_locations & HEAD) + return 0 + if("eyes") + if(face_covered & HIDEEYES || eyesmouth_covered & GLASSESCOVERSEYES || eyesmouth_covered & HEADCOVERSEYES) + return 0 + if("mouth") + if(covered_locations & HEAD || face_covered & HIDEFACE || eyesmouth_covered & MASKCOVERSMOUTH) + return 0 + if("chest") + if(covered_locations & UPPER_TORSO) + return 0 + if("groin") + if(covered_locations & LOWER_TORSO) + return 0 + if("l_arm") + if(covered_locations & ARM_LEFT) + return 0 + if("r_arm") + if(covered_locations & ARM_RIGHT) + return 0 + if("l_leg") + if(covered_locations & LEG_LEFT) + return 0 + if("r_leg") + if(covered_locations & LEG_RIGHT) + return 0 + if("l_hand") + if(covered_locations & HAND_LEFT) + return 0 + if("r_hand") + if(covered_locations & HAND_RIGHT) + return 0 + if("l_foot") + if(covered_locations & FOOT_LEFT) + return 0 + if("r_foot") + if(covered_locations & FOOT_RIGHT) + return 0 + + return 1 + +/proc/check_target_facings(mob/living/initator, mob/living/target) + /*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head. + Given how click code currently works (Nov '13), the initiating mob will be facing the target mob most of the time + That said, this proc should not be used if the change facing proc of the click code is overriden at the same time*/ + if(!ismob(target) || target.lying) + //Make sure we are not doing this for things that can't have a logical direction to the players given that the target would be on their side + return FACING_FAILED + if(initator.dir == target.dir) //mobs are facing the same direction + return FACING_SAME_DIR + if(is_A_facing_B(initator, target) && is_A_facing_B(target, initator)) //mobs are facing each other + return FACING_EACHOTHER + if(initator.dir + 2 == target.dir || initator.dir - 2 == target.dir || initator.dir + 6 == target.dir || initator.dir - 6 == target.dir) //Initating mob is looking at the target, while the target mob is looking in a direction perpendicular to the 1st + return FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR + + +atom/proc/GetTypeInAllContents(typepath) + var/list/processing_list = list(src) + var/list/processed = list() + + var/atom/found = null + + while(processing_list.len && found==null) + var/atom/A = processing_list[1] + if(istype(A, typepath)) + found = A + + processing_list -= A + + for(var/atom/a in A) + if(!(a in processed)) + processing_list |= a + + processed |= A + + return found + +/proc/random_step(atom/movable/AM, steps, chance) + var/initial_chance = chance + while(steps > 0) + if(prob(chance)) + step(AM, pick(alldirs)) + chance = max(chance - (initial_chance / steps), 0) + steps-- + +/proc/get_random_colour(var/simple, var/lower, var/upper) + var/colour + if(simple) + colour = pick(list("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF")) + else + for(var/i=1;i<=3;i++) + var/temp_col = "[num2hex(rand(lower,upper))]" + if(length(temp_col )<2) + temp_col = "0[temp_col]" + colour += temp_col + return colour + +/proc/get_distant_turf(var/turf/T,var/direction,var/distance) + if(!T || !direction || !distance) return + + var/dest_x = T.x + var/dest_y = T.y + var/dest_z = T.z + + if(direction & NORTH) + dest_y = min(world.maxy, dest_y+distance) + if(direction & SOUTH) + dest_y = max(0, dest_y-distance) + if(direction & EAST) + dest_x = min(world.maxy, dest_x+distance) + if(direction & WEST) + dest_x = max(0, dest_x-distance) + + return locate(dest_x,dest_y,dest_z) + +var/mob/dview/dview_mob = new + +//Version of view() which ignores darkness, because BYOND doesn't have it. +/proc/dview(var/range = world.view, var/center, var/invis_flags = 0) + if(!center) + return + + dview_mob.loc = center + + dview_mob.see_invisible = invis_flags + + . = view(range, dview_mob) + dview_mob.loc = null + +/mob/dview + invisibility = 101 + density = 0 + move_force = 0 + pull_force = 0 + move_resist = INFINITY + simulated = 0 + canmove = FALSE + see_in_dark = 1e6 + +/mob/dview/New() //For whatever reason, if this isn't called, then BYOND will throw a type mismatch runtime when attempting to add this to the mobs list. -Fox + +/mob/dview/Destroy() + // should never be deleted + return QDEL_HINT_LETMELIVE + +/proc/IsValidSrc(A) + if(istype(A, /datum)) + var/datum/D = A + return !QDELETED(D) + if(istype(A, /client)) + return TRUE + return FALSE + +//can a window be here, or is there a window blocking it? +/proc/valid_window_location(turf/T, dir_to_check) + if(!T) + return FALSE + for(var/obj/O in T) + if(istype(O, /obj/machinery/door/window) && (O.dir == dir_to_check || dir_to_check == FULLTILE_WINDOW_DIR)) + return FALSE + if(istype(O, /obj/structure/windoor_assembly)) + var/obj/structure/windoor_assembly/W = O + if(W.ini_dir == dir_to_check || dir_to_check == FULLTILE_WINDOW_DIR) + return FALSE + if(istype(O, /obj/structure/window)) + var/obj/structure/window/W = O + if(W.ini_dir == dir_to_check || W.ini_dir == FULLTILE_WINDOW_DIR || dir_to_check == FULLTILE_WINDOW_DIR) + return FALSE + return TRUE + +//Get the dir to the RIGHT of dir if they were on a clock +//NORTH --> NORTHEAST +/proc/get_clockwise_dir(dir) + . = angle2dir(dir2angle(dir)+45) + +//Get the dir to the LEFT of dir if they were on a clock +//NORTH --> NORTHWEST +/proc/get_anticlockwise_dir(dir) + . = angle2dir(dir2angle(dir)-45) + + +//Compare A's dir, the clockwise dir of A and the anticlockwise dir of A +//To the opposite dir of the dir returned by get_dir(B,A) +//If one of them is a match, then A is facing B +/proc/is_A_facing_B(atom/A, atom/B) + if(!istype(A) || !istype(B)) + return 0 + if(isliving(A)) + var/mob/living/LA = A + if(LA.lying) + return 0 + var/goal_dir = angle2dir(dir2angle(get_dir(B, A)+180)) + var/clockwise_A_dir = get_clockwise_dir(A.dir) + var/anticlockwise_A_dir = get_anticlockwise_dir(B.dir) + + if(A.dir == goal_dir || clockwise_A_dir == goal_dir || anticlockwise_A_dir == goal_dir) + return 1 + return 0 + +//This is just so you can stop an orbit. +//orbit() can run without it (swap orbiting for A) +//but then you can never stop it and that's just silly. +/atom/movable/var/atom/orbiting = null + +//A: atom to orbit +//radius: range to orbit at, radius of the circle formed by orbiting +//clockwise: whether you orbit clockwise or anti clockwise +//rotation_speed: how fast to rotate +//rotation_segments: the resolution of the orbit circle, less = a more block circle, this can be used to produce hexagons (6 segments) triangles (3 segments), and so on, 36 is the best default. +//pre_rotation: Chooses to rotate src 90 degress towards the orbit dir (clockwise/anticlockwise), useful for things to go "head first" like ghosts +//lockinorbit: Forces src to always be on A's turf, otherwise the orbit cancels when src gets too far away (eg: ghosts) + +/atom/movable/proc/orbit(atom/A, radius = 10, clockwise = FALSE, rotation_speed = 20, rotation_segments = 36, pre_rotation = TRUE, lockinorbit = FALSE, forceMove = FALSE) + if(!istype(A)) + return + + if(orbiting) + stop_orbit() + + orbiting = A + var/matrix/initial_transform = matrix(transform) + var/lastloc = loc + + //Head first! + if(pre_rotation) + var/matrix/M = matrix(transform) + var/pre_rot = 90 + if(!clockwise) + pre_rot = -90 + M.Turn(pre_rot) + transform = M + + var/matrix/shift = matrix(transform) + shift.Translate(0,radius) + transform = shift + + SpinAnimation(rotation_speed, -1, clockwise, rotation_segments) + + //we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit + transform = initial_transform + while(orbiting && orbiting == A && A.loc) + var/targetloc = get_turf(A) + if(!lockinorbit && loc != lastloc && loc != targetloc) + break + if(forceMove) + forceMove(targetloc) + else + loc = targetloc + lastloc = loc + sleep(0.6) + + if(orbiting == A) //make sure we haven't started orbiting something else. + orbiting = null + SpinAnimation(0,0) + + + +/atom/movable/proc/stop_orbit() + orbiting = null + +//Centers an image. +//Requires: +//The Image +//The x dimension of the icon file used in the image +//The y dimension of the icon file used in the image +// eg: center_image(I, 32,32) +// eg2: center_image(I, 96,96) +/proc/center_image(var/image/I, x_dimension = 0, y_dimension = 0) + if(!I) + return + + if(!x_dimension || !y_dimension) + return + + //Get out of here, punk ass kids calling procs needlessly + if((x_dimension == world.icon_size) && (y_dimension == world.icon_size)) + return I + + //Offset the image so that it's bottom left corner is shifted this many pixels + //This makes it infinitely easier to draw larger inhands/images larger than world.iconsize + //but still use them in game + var/x_offset = -((x_dimension/world.icon_size)-1)*(world.icon_size*0.5) + var/y_offset = -((y_dimension/world.icon_size)-1)*(world.icon_size*0.5) + + //Correct values under world.icon_size + if(x_dimension < world.icon_size) + x_offset *= -1 + if(y_dimension < world.icon_size) + y_offset *= -1 + + I.pixel_x = x_offset + I.pixel_y = y_offset + + return I + +//similar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs) +/proc/spiral_range_turfs(dist=0, center=usr, orange=0) + if(!dist) + if(!orange) + return list(center) + else + return list() + + var/turf/t_center = get_turf(center) + if(!t_center) + return list() + + var/list/L = list() + var/turf/T + var/y + var/x + var/c_dist = 1 + + if(!orange) + L += t_center + + while( c_dist <= dist ) + y = t_center.y + c_dist + x = t_center.x - c_dist + 1 + for(x in x to t_center.x+c_dist) + T = locate(x,y,t_center.z) + if(T) + L += T + + y = t_center.y + c_dist - 1 + x = t_center.x + c_dist + for(y in t_center.y-c_dist to y) + T = locate(x,y,t_center.z) + if(T) + L += T + + y = t_center.y - c_dist + x = t_center.x + c_dist - 1 + for(x in t_center.x-c_dist to x) + T = locate(x,y,t_center.z) + if(T) + L += T + + y = t_center.y - c_dist + 1 + x = t_center.x - c_dist + for(y in y to t_center.y+c_dist) + T = locate(x,y,t_center.z) + if(T) + L += T + c_dist++ + + return L + +//ultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance +/proc/urange(dist=0, atom/center=usr, orange=0, areas=0) + if(!dist) + if(!orange) + return list(center) + else + return list() + + var/list/turfs = RANGE_TURFS(dist, center) + if(orange) + turfs -= get_turf(center) + . = list() + for(var/V in turfs) + var/turf/T = V + . += T + . += T.contents + if(areas) + . |= T.loc + +/proc/turf_clear(turf/T) + for(var/atom/A in T) + if(A.simulated) + return FALSE + return TRUE + +/proc/screen_loc2turf(scr_loc, turf/origin) + var/tX = splittext(scr_loc, ",") + var/tY = splittext(tX[2], ":") + var/tZ = origin.z + tY = tY[1] + tX = splittext(tX[1], ":") + tX = tX[1] + tX = max(1, min(world.maxx, origin.x + (text2num(tX) - (world.view + 1)))) + tY = max(1, min(world.maxy, origin.y + (text2num(tY) - (world.view + 1)))) + return locate(tX, tY, tZ) + +/proc/get_closest_atom(type, list, source) + var/closest_atom + var/closest_distance + for(var/A in list) + if(!istype(A, type)) + continue + var/distance = get_dist(source, A) + if(!closest_distance) + closest_distance = distance + closest_atom = A + else + if(closest_distance > distance) + closest_distance = distance + closest_atom = A + return closest_atom + +/proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) + if(value == FALSE) //nothing should be calling us with a number, so this is safe + value = input("Enter type to find (blank for all, cancel to cancel)", "Search for type") as null|text + if(isnull(value)) + return + value = trim(value) + if(!isnull(value) && value != "") + matches = filter_fancy_list(matches, value) + + if(matches.len == 0) + return + + var/chosen + if(matches.len == 1) + chosen = matches[1] + else + chosen = input("Select a type", "Pick Type", matches[1]) as null|anything in matches + if(!chosen) + return + chosen = matches[chosen] + return chosen + +/proc/make_types_fancy(var/list/types) + if(ispath(types)) + types = list(types) + . = list() + for(var/type in types) + var/typename = "[type]" + var/static/list/TYPES_SHORTCUTS = list( + //longest paths comes first - otherwise they get shadowed by the more generic ones + /obj/effect/decal/cleanable = "CLEANABLE", + /obj/effect = "EFFECT", + /obj/item/ammo_casing = "AMMO", + /obj/item/book/manual = "MANUAL", + /obj/item/borg/upgrade = "BORG_UPGRADE", + /obj/item/cartridge = "PDA_CART", + /obj/item/clothing/head/helmet/space = "SPESSHELMET", + /obj/item/clothing/head = "HEAD", + /obj/item/clothing/under = "UNIFORM", + /obj/item/clothing/shoes = "SHOES", + /obj/item/clothing/suit = "SUIT", + /obj/item/clothing/gloves = "GLOVES", + /obj/item/clothing/mask/cigarette = "CIGARRETE", // oof + /obj/item/clothing/mask = "MASK", + /obj/item/clothing/glasses = "GLASSES", + /obj/item/clothing = "CLOTHING", + /obj/item/grenade/clusterbuster = "CLUSTERBUSTER", + /obj/item/grenade = "GRENADE", + /obj/item/gun = "GUN", + /obj/item/implant = "IMPLANT", + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack = "MECHA_MISSILE_RACK", + /obj/item/mecha_parts/mecha_equipment/weapon = "MECHA_WEAPON", + /obj/item/mecha_parts/mecha_equipment = "MECHA_EQUIP", + /obj/item/melee = "MELEE", + /obj/item/mmi = "MMI", + /obj/item/nullrod = "NULLROD", + /obj/item/organ/external = "EXT_ORG", + /obj/item/organ/internal/cyberimp = "CYBERIMP", + /obj/item/organ/internal = "INT_ORG", + /obj/item/organ = "ORGAN", + /obj/item/pda = "PDA", + /obj/item/projectile = "PROJ", + /obj/item/radio/headset = "HEADSET", + /obj/item/reagent_containers/glass/beaker = "BEAKER", + /obj/item/reagent_containers/glass/bottle = "BOTTLE", + /obj/item/reagent_containers/food/pill/patch = "PATCH", + /obj/item/reagent_containers/food/pill = "PILL", + /obj/item/reagent_containers/food/drinks = "DRINK", + /obj/item/reagent_containers/food = "FOOD", + /obj/item/reagent_containers/syringe = "SYRINGE", + /obj/item/reagent_containers = "REAGENT_CONTAINERS", + /obj/item/robot_parts = "ROBOT_PARTS", + /obj/item/seeds = "SEED", + /obj/item/slime_extract = "SLIME_CORE", + /obj/item/spacepod_equipment/weaponry = "POD_WEAPON", + /obj/item/spacepod_equipment = "POD_EQUIP", + /obj/item/stack/sheet/mineral = "MINERAL", + /obj/item/stack/sheet = "SHEET", + /obj/item/stack/tile = "TILE", + /obj/item/stack = "STACK", + /obj/item/stock_parts/cell = "POWERCELL", + /obj/item/stock_parts = "STOCK_PARTS", + /obj/item/storage/firstaid = "FIRSTAID", + /obj/item/storage = "STORAGE", + /obj/item/tank = "GAS_TANK", + /obj/item/toy/crayon = "CRAYON", + /obj/item/toy = "TOY", + /obj/item = "ITEM", + /obj/machinery/atmospherics = "ATMOS_MACH", + /obj/machinery/computer = "CONSOLE", + /obj/machinery/door/airlock = "AIRLOCK", + /obj/machinery/door = "DOOR", + /obj/machinery/kitchen_machine = "KITCHEN", + /obj/machinery/portable_atmospherics/canister = "CANISTER", + /obj/machinery/portable_atmospherics = "PORT_ATMOS", + /obj/machinery/power = "POWER", + /obj/machinery/telecomms = "TCOMMS", + /obj/machinery = "MACHINERY", + /obj/mecha = "MECHA", + /obj/structure/closet/crate = "CRATE", + /obj/structure/closet = "CLOSET", + /obj/structure/statue = "STATUE", + /obj/structure/chair = "CHAIR", // oh no + /obj/structure/bed = "BED", + /obj/structure/chair/stool = "STOOL", + /obj/structure/table = "TABLE", + /obj/structure = "STRUCTURE", + /obj/vehicle = "VEHICLE", + /obj = "O", + /datum = "D", + /turf/simulated/floor = "SIM_FLOOR", + /turf/simulated/wall = "SIM_WALL", + /turf/unsimulated/floor = "UNSIM_FLOOR", + /turf/unsimulated/wall = "UNSIM_WALL", + /turf = "T", + /mob/living/carbon/alien = "XENO", + /mob/living/carbon/human = "HUMAN", + /mob/living/carbon = "CARBON", + /mob/living/silicon/robot = "CYBORG", + /mob/living/silicon/ai = "AI", + /mob/living/silicon = "SILICON", + /mob/living/simple_animal/bot = "BOT", + /mob/living/simple_animal = "SIMPLE", + /mob/living = "LIVING", + /mob = "M" + ) + for(var/tn in TYPES_SHORTCUTS) + if(copytext(typename, 1, length("[tn]/") + 1) == "[tn]/") + typename = TYPES_SHORTCUTS[tn]+copytext(typename,length("[tn]/")) + break + .[typename] = type + + +/proc/get_fancy_list_of_atom_types() + var/static/list/pre_generated_list + if(!pre_generated_list) //init + pre_generated_list = make_types_fancy(typesof(/atom)) + return pre_generated_list + + +/proc/get_fancy_list_of_datum_types() + var/static/list/pre_generated_list + if(!pre_generated_list) //init + pre_generated_list = make_types_fancy(sortList(typesof(/datum) - typesof(/atom))) + return pre_generated_list + + +/proc/filter_fancy_list(list/L, filter as text) + var/list/matches = new + for(var/key in L) + var/value = L[key] + if(findtext("[key]", filter) || findtext("[value]", filter)) + matches[key] = value + return matches + +//Key thing that stops lag. Cornerstone of performance in ss13, Just sitting here, in unsorted.dm. + +//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(TICK_USAGE, world.cpu) / 100) * max(Master.sleep_delta-1,1)), 1) + +//returns the number of ticks slept +/proc/stoplag(initial_delay) + if(!Master || !(Master.current_runlevel & RUNLEVELS_DEFAULT)) + sleep(world.tick_lag) + return 1 + if(!initial_delay) + initial_delay = world.tick_lag + . = 0 + var/i = DS2TICKS(initial_delay) + do + . += CEILING(i*DELTA_CALC, 1) + sleep(i*world.tick_lag*DELTA_CALC) + i *= 2 + while(TICK_USAGE > min(TICK_LIMIT_TO_RUN, Master.current_ticklimit)) + +#undef DELTA_CALC + +// This proc gets a list of all "points of interest" (poi's) that can be used by admins to track valuable mobs or atoms (such as the nuke disk). +/proc/getpois(mobs_only=0,skip_mindless=0) + var/list/mobs = sortmobs() + var/list/names = list() + var/list/pois = list() + var/list/namecounts = list() + + for(var/mob/M in mobs) + if(skip_mindless && (!M.mind && !M.ckey)) + if(!isbot(M) && !istype(M, /mob/camera/)) + continue + if(M.client && M.client.holder && M.client.holder.fakekey) //stealthmins + continue + var/name = M.name + if(name in names) + namecounts[name]++ + name = "[name] ([namecounts[name]])" + else + names.Add(name) + namecounts[name] = 1 + if(M.real_name && M.real_name != M.name) + name += " \[[M.real_name]\]" + if(M.stat == DEAD) + if(istype(M, /mob/dead/observer/)) + name += " \[ghost\]" + else + name += " \[dead\]" + pois[name] = M + + if(!mobs_only) + for(var/atom/A in GLOB.poi_list) + if(!A || !A.loc) + continue + var/name = A.name + if(names.Find(name)) + namecounts[name]++ + name = "[name] ([namecounts[name]])" + else + names.Add(name) + namecounts[name] = 1 + pois[name] = A + + return pois + +/proc/flash_color(mob_or_client, flash_color="#960000", flash_time=20) + var/client/C + if(istype(mob_or_client, /mob)) + var/mob/M = mob_or_client + if(M.client) + C = M.client + else + return + else if(istype(mob_or_client, /client)) + C = mob_or_client + + if(!istype(C)) + return + + C.color = flash_color + spawn(0) + animate(C, color = initial(C.color), time = flash_time) + +#define RANDOM_COLOUR (rgb(rand(0,255),rand(0,255),rand(0,255))) + +/proc/make_bit_triplet() + var/list/num_sample = list(1, 2, 3, 4, 5, 6, 7, 8, 9) + var/result = 0 + for(var/i = 0, i < 3, i++) + var/num = pick(num_sample) + num_sample -= num + result += (1 << num) + return result + +/proc/pixel_shift_dir(var/dir, var/amount_x = 32, var/amount_y = 32) //Returns a list with pixel_shift values that will shift an object's icon one tile in the direction passed. + amount_x = min(max(0, amount_x), 32) //No less than 0, no greater than 32. + amount_y = min(max(0, amount_x), 32) + var/list/shift = list("x" = 0, "y" = 0) + switch(dir) + if(NORTH) + shift["y"] = amount_y + if(SOUTH) + shift["y"] = -amount_y + if(EAST) + shift["x"] = amount_x + if(WEST) + shift["x"] = -amount_x + if(NORTHEAST) + shift = list("x" = amount_x, "y" = amount_y) + if(NORTHWEST) + shift = list("x" = -amount_x, "y" = amount_y) + if(SOUTHEAST) + shift = list("x" = amount_x, "y" = -amount_y) + if(SOUTHWEST) + shift = list("x" = -amount_x, "y" = -amount_y) + + return shift + +//Return a list of atoms in a location of a given type. Can be refined to look for pixel-shift. +/proc/get_atoms_of_type(var/atom/here, var/type, var/check_shift, var/shift_x = 0, var/shift_y = 0) + . = list() + if(here) + for(var/atom/thing in here) + if(istype(thing, type) && (check_shift && thing.pixel_x == shift_x && thing.pixel_y == shift_y)) + . += thing + +//gives us the stack trace from CRASH() without ending the current proc. +/proc/stack_trace(msg) + CRASH(msg) + +/datum/proc/stack_trace(msg) + CRASH(msg) + +/proc/pass() + return + +/atom/proc/Shake(pixelshiftx = 15, pixelshifty = 15, duration = 250) + var/initialpixelx = pixel_x + var/initialpixely = pixel_y + var/shiftx = rand(-pixelshiftx,pixelshiftx) + var/shifty = rand(-pixelshifty,pixelshifty) + animate(src, pixel_x = pixel_x + shiftx, pixel_y = pixel_y + shifty, time = 0.2, loop = duration) + pixel_x = initialpixelx + pixel_y = initialpixely + +/proc/params2turf(scr_loc, turf/origin, client/C) + if(!scr_loc) + return null + var/tX = splittext(scr_loc, ",") + var/tY = splittext(tX[2], ":") + var/tZ = origin.z + tY = tY[1] + tX = splittext(tX[1], ":") + tX = tX[1] + var/list/actual_view = getviewsize(C ? C.view : world.view) + tX = Clamp(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx) + tY = Clamp(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy) + return locate(tX, tY, tZ) diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm index 6dc18d4fdff..3d7259eef55 100644 --- a/code/_globalvars/configuration.dm +++ b/code/_globalvars/configuration.dm @@ -43,8 +43,3 @@ var/eventchance = 10 //% per 5 mins var/event = 0 var/hadevent = 0 var/blobevent = 0 - -//Medals hub related variables -var/global/medal_hub = null -var/global/medal_pass = " " -var/global/medals_enabled = TRUE //will be auto set to false if the game fails contacting the medal hub to prevent unneeded calls. diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index be5f4867c56..384cfb5f29a 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -12,6 +12,7 @@ GLOBAL_LIST_INIT(mime_names, file2list("config/names/mime.txt")) GLOBAL_LIST_INIT(golem_names, file2list("config/names/golem.txt")) GLOBAL_LIST_INIT(verbs, file2list("config/names/verbs.txt")) +GLOBAL_LIST_INIT(nouns, file2list("config/names/nouns.txt")) GLOBAL_LIST_INIT(adjectives, file2list("config/names/adjectives.txt")) GLOBAL_LIST_INIT(dream_strings, file2list("config/names/dreams.txt")) GLOBAL_LIST_INIT(nightmare_strings, file2list("config/names/nightmares.txt")) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 00417c5b47a..2838fe9b48e 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -47,3 +47,5 @@ GLOBAL_LIST_INIT(active_jammers, list()) // List of active radio jam GLOBAL_LIST_INIT(active_diseases, list()) //List of Active disease in all mobs; purely for quick referencing. GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects + +GLOBAL_LIST_EMPTY(explosive_walls) \ No newline at end of file diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index e5674a9b47b..f933105e13b 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -86,4 +86,6 @@ var/copier_max_items = 300 var/copier_items_printed_logged = FALSE -GLOBAL_VAR(map_name) // Self explanatory \ No newline at end of file +GLOBAL_VAR(map_name) // Self explanatory + +var/global/datum/datacore/data_core = null // Station datacore, manifest, etc \ No newline at end of file diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm deleted file mode 100644 index ba8b70991c2..00000000000 --- a/code/_globalvars/station.dm +++ /dev/null @@ -1,2 +0,0 @@ -// TODO: Move this to be not in its own fucking file all alone on its own -var/global/datum/datacore/data_core = null \ No newline at end of file diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 5780e86a298..15ed4429965 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -1,4 +1,3 @@ - /obj/screen/movable/action_button var/datum/action/linked_action screen_loc = null @@ -6,18 +5,26 @@ /obj/screen/movable/action_button/Click(location,control,params) var/list/modifiers = params2list(params) if(modifiers["shift"]) - moved = 0 + if(locked) + to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") + return TRUE + moved = FALSE usr.update_action_buttons() //redraw buttons that are no longer considered "moved" - return 1 - if(usr.next_move >= world.time) // Is this needed ? + return TRUE + if(modifiers["ctrl"]) + locked = !locked + to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.") + return TRUE + if(usr.next_click > world.time) return + usr.next_click = world.time + 1 linked_action.Trigger() - return 1 + return TRUE //Hide/Show Action Buttons ... Button /obj/screen/movable/action_button/hide_toggle name = "Hide Buttons" - desc = "Shift-click any button to reset its position. Alt-click to reset all buttons to their default positions." + desc = "Shift-click any button to reset its position, and Control-click it to lock/unlock its position. Alt-click this button to reset all buttons to their default positions." icon = 'icons/mob/actions/actions.dmi' icon_state = "bg_default" var/hidden = 0 @@ -25,9 +32,16 @@ /obj/screen/movable/action_button/hide_toggle/Click(location,control,params) var/list/modifiers = params2list(params) if(modifiers["shift"]) + if(locked) + to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") + return TRUE moved = FALSE usr.update_action_buttons(TRUE) return TRUE + if(modifiers["ctrl"]) + locked = !locked + to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.") + return TRUE if(modifiers["alt"]) for(var/V in usr.actions) var/datum/action/A = V @@ -69,7 +83,6 @@ var/image/img = image(icon, src, hidden ? "show" : "hide") overlays += img - /obj/screen/movable/action_button/MouseEntered(location,control,params) openToolTip(usr,src,params,title = name,content = desc) @@ -77,7 +90,6 @@ /obj/screen/movable/action_button/MouseExited() closeToolTip(usr) - /mob/proc/update_action_buttons_icon() for(var/X in actions) var/datum/action/A = X @@ -122,7 +134,6 @@ client.screen += hud_used.hide_actions_toggle - #define AB_MAX_COLUMNS 10 /datum/hud/proc/ButtonNumberToScreenCoords(number) // TODO : Make this zero-indexed for readabilty diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 3081880394f..8ce4d64911b 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -177,6 +177,41 @@ desc = "You're severely malnourished. The hunger pains make moving around a chore." icon_state = "starving" +///Vampire "hunger" + +/obj/screen/alert/fat/vampire + name = "Fat" + desc = "You somehow drank too much blood, lardass. Run around the station and lose some weight." + icon_state = "v_fat" + +/obj/screen/alert/full/vampire + name = "Full" + desc = "You feel full and satisfied, but you know you will thirst for more blood soon..." + icon_state = "v_full" + +/obj/screen/alert/well_fed/vampire + name = "Well Fed" + desc = "You feel quite satisfied, but you could do with a bit more blood." + icon_state = "v_well_fed" + +/obj/screen/alert/fed/vampire + name = "Fed" + desc = "You feel moderately satisfied, but a bit more blood wouldn't hurt." + icon_state = "v_fed" + +/obj/screen/alert/hungry/vampire + name = "Hungry" + desc = "You currently thirst for blood." + icon_state = "v_hungry" + +/obj/screen/alert/starving/vampire + name = "Starving" + desc = "You're severely thirsty. The thirst pains make moving around a chore." + icon_state = "v_starving" + +//End of Vampire "hunger" + + /obj/screen/alert/hot name = "Too Hot" desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit." diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm index 6fe3a781642..1e8f99814df 100644 --- a/code/_onclick/hud/blob_overmind.dm +++ b/code/_onclick/hud/blob_overmind.dm @@ -126,7 +126,7 @@ /obj/screen/blob/Split icon_state = "ui_split" name = "Split consciousness (100)" - desc = "Creates another Blob Overmind at the nearest node. One use only.
Offsprings are be unable to use this ability." + desc = "Creates another Blob Overmind at the targeted node. One use only.
Offspring are unable to use this ability." /obj/screen/blob/Split/Click() if(isovermind(usr)) diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index 668e0e67fc7..366931cea33 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -11,6 +11,7 @@ /obj/screen/movable var/snap2grid = FALSE var/moved = FALSE + var/locked = TRUE var/x_off = -16 var/y_off = -16 @@ -20,8 +21,10 @@ /obj/screen/movable/snap snap2grid = TRUE - /obj/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) + if(locked) //no! I am locked! begone! + return + var/list/PM = params2list(params) //No screen-loc information? abort. @@ -47,7 +50,6 @@ moved = screen_loc - //Debug procs /client/proc/test_movable_UI() set category = "Debug" @@ -67,7 +69,6 @@ screen += M - /client/proc/test_snap_UI() set category = "Debug" set name = "Spawn Snap UI Object" @@ -84,4 +85,4 @@ S.screen_loc = screen_l - screen += S \ No newline at end of file + screen += S diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index c583617ac23..91c8d6250b4 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -453,7 +453,6 @@ /obj/screen/healths/corgi icon = 'icons/mob/screen_corgi.dmi' - /obj/screen/healths/guardian name = "summoner health" icon = 'icons/mob/guardian.dmi' @@ -467,14 +466,18 @@ screen_loc = ui_healthdoll var/list/cached_healthdoll_overlays = list() // List of icon states (strings) for overlays +/obj/screen/healthdoll/Click() + if(ishuman(usr)) + var/mob/living/carbon/H = usr + H.check_self_for_injuries() + /obj/screen/component_button var/obj/screen/parent - /obj/screen/component_button/Initialize(mapload, obj/screen/new_parent) . = ..() parent = new_parent /obj/screen/component_button/Click(params) if(parent) - parent.component_click(src, params) \ No newline at end of file + parent.component_click(src, params) diff --git a/code/controllers/ProcessScheduler/.gitignore b/code/controllers/ProcessScheduler/.gitignore deleted file mode 100644 index 5fe19e425bf..00000000000 --- a/code/controllers/ProcessScheduler/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/bower_components -/node_modules -/ProcessScheduler.dmb -/ProcessScheduler.int -/ProcessScheduler.rsc -/*.lk diff --git a/code/controllers/ProcessScheduler/LICENSE-AGPL b/code/controllers/ProcessScheduler/LICENSE-AGPL deleted file mode 100644 index abaa41e8296..00000000000 --- a/code/controllers/ProcessScheduler/LICENSE-AGPL +++ /dev/null @@ -1,212 +0,0 @@ -GNU AFFERO GENERAL PUBLIC LICENSE - -Version 3, 19 November 2007 - -Copyright © 2007 Free Software Foundation, Inc. -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - -Preamble - -The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. - -The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - -Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software. - -A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public. - -The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version. - -An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license. - -The precise terms and conditions for copying, distribution and modification follow. - -TERMS AND CONDITIONS - -0. Definitions. -"This License" refers to version 3 of the GNU Affero General Public License. - -"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. - -"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. - -To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. - -A "covered work" means either the unmodified Program or a work based on the Program. - -To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. - -To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. - -An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. - -1. Source Code. -The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. - -A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. - -The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. - -The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same work. - -2. Basic Permissions. -All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. - -Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - -3. Protecting Users' Legal Rights From Anti-Circumvention Law. -No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. - -When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. - -4. Conveying Verbatim Copies. -You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. - -You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. - -5. Conveying Modified Source Versions. -You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: - -a) The work must carry prominent notices stating that you modified it, and giving a relevant date. -b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". -c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. -d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. -A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. - -6. Conveying Non-Source Forms. -You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: - -a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. -b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. -c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. -d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. -e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. -A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. - -A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. - -"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. - -If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). - -The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. - -7. Additional Terms. -"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: - -a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or -b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or -c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or -d) Limiting the use for publicity purposes of names of licensors or authors of the material; or -e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or -f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. -All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. - -If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. - -8. Termination. -You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). - -However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. - -Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. - -9. Acceptance Not Required for Having Copies. -You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. - -10. Automatic Licensing of Downstream Recipients. -Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. - -An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. - -11. Patents. -A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". - -A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. - -In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. - -If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. - -A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. - -12. No Surrender of Others' Freedom. -If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - -13. Remote Network Interaction; Use with the GNU General Public License. -Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph. - -Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License. - -14. Revised Versions of this License. -The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. - -If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. - -Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. - -15. Disclaimer of Warranty. -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -16. Limitation of Liability. -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -17. Interpretation of Sections 15 and 16. -If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -Also add information on how to contact you by electronic and paper mail. - -If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements. - -You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see . \ No newline at end of file diff --git a/code/controllers/ProcessScheduler/LICENSE-CC-BY-NC b/code/controllers/ProcessScheduler/LICENSE-CC-BY-NC deleted file mode 100644 index d0955f424af..00000000000 --- a/code/controllers/ProcessScheduler/LICENSE-CC-BY-NC +++ /dev/null @@ -1 +0,0 @@ -This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. \ No newline at end of file diff --git a/code/controllers/ProcessScheduler/README.md b/code/controllers/ProcessScheduler/README.md deleted file mode 100644 index 610800ba374..00000000000 --- a/code/controllers/ProcessScheduler/README.md +++ /dev/null @@ -1,86 +0,0 @@ -ProcessScheduler -================ -A Goonstation release, maintained by Volundr - -##SUMMARY - -This is a mostly self-contained, fairly well-documented implementation of the main loop process architecture in use in Goonstation. - -##LICENSE - -This work is released under the following licenses. - -[![Creative Commons License](https://licensebuttons.net/l/by-nc/4.0/80x15.png)](http://creativecommons.org/licenses/by-nc/4.0/) - -This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. The complete text of this license is included in the file LICENSE-CC-BY-NC. - - -[![Affero GPL Version 3](http://www.gnu.org/graphics/agplv3-88x31.png)](http://www.gnu.org/licenses/agpl-3.0.html) - -This work is licensed under the Affero General Public License 3.0. The complete text of the license is included in the file LICENSE-AGPL. - -##INSTALLATION - -To integrate the process scheduler to your codebase, you will not need anything except the contents of the core/ folder. The rest of the project is simply for testing and to provide an example for the process scheduler code. - -### Test project setup -To compile and run the test project, you will require: - -- node.js -- BYOND - -Clone the repository to a path of your choosing, then change directory to it and execute: - -``` -npm install -g -bower install -g -``` - -Then you can either compile with DM or open the DM environment in DreamMaker and compile/run from there. - -##USAGE - -###BASICS -To use the process scheduler in your SS13 codebase, you'll need: - -- core/_defines.dm -- core/_stubs.dm -- core/process.dm -- core/processScheduler.dm -- core/processScheduler.js -- core/updateQueue.dm -- core/updateQueueWorker.dm - -To integrate, you can copy the contents of _defines.dm into your global defines file. Most ss13 codebases already have the code from _stubs.dm. - -The processScheduler is intended as a replacement for the old master_controller from r4407 and other fork codebases. To implement it, you need only to add the source files to your DM environment, and add the following code into world.New, above where the old master_controller is initialized. - -``` -processScheduler = new -processScheduler.setup() -processScheduler.start() -``` - -The processScheduler will automatically find all subtypes of process, and begin processing them. - -The interface code in test/processSchedulerView.dm is simply an example frontend, and can easily be rebuilt to use other styles, and/or render simple html without using javascript for refreshing the panel and killing processes. - -###DETAILS - -To implement a process, you have two options: - -1. Implement a raw loop-style processor -2. Implement an updateQueue processor - -There are clear examples of both of these paradigms in the code provided. Both styles are valid, but for processes that are just a loop calling an update proc on a bunch of objects, you should use the updateQueue. - -The updateQueue works by spawn(0)'ing your specified update proc, but it only puts one instance in the scheduler at a time. Examine the code for more details. The overall effect of this is that it doesn't block, and it lets update loops work concurrently. It enables a much smoother user experience. - -##Contributing - -I welcome pull requests and issue reports, and will try to merge/fix them as I have time. - -### Licensing for code submitted via PR: - -By submitting a pull request, you agree to release all original code submitted in the pull request under the [MIT License](http://opensource.org/licenses/MIT). You also agree that any code submitted is either your own work, or is public domain or under a equally or less restrictive license than the MIT license, or that you have the express written permission of the authors of the submitted code to submit the pull request. - diff --git a/code/controllers/ProcessScheduler/bower.json b/code/controllers/ProcessScheduler/bower.json deleted file mode 100644 index 9a6be56140d..00000000000 --- a/code/controllers/ProcessScheduler/bower.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "ProcessScheduler", - "main": "ProcessScheduler.js", - "version": "1.0.0", - "homepage": "https://github.com/goonstation/ProcessScheduler", - "authors": [ - "Volundr " - ], - "description": "BYOND SS13 Process Scheduler", - "keywords": [ - "byond", - "ss13", - "process", - "scheduler" - ], - "license": "CC-BY-NC", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ], - "private": true, - "dependencies": { - "bootstrap2.3.2": "~2.3.2", - "jquery": "1.11.1", - "json2": "*" - } -} diff --git a/code/controllers/ProcessScheduler/core/process.dm b/code/controllers/ProcessScheduler/core/process.dm deleted file mode 100644 index f997109f90b..00000000000 --- a/code/controllers/ProcessScheduler/core/process.dm +++ /dev/null @@ -1,406 +0,0 @@ -// Process - -/datum/controller/process - /** - * State vars - */ - // Main controller ref - var/tmp/datum/controller/processScheduler/main - - // 1 if process is not running or queued - var/tmp/idle = 1 - - // 1 if process is queued - var/tmp/queued = 0 - - // 1 if process is running - var/tmp/running = 0 - - // 1 if process is blocked up - var/tmp/hung = 0 - - // 1 if process was killed - var/tmp/killed = 0 - - // Status text var - var/tmp/status - - // Previous status text var - var/tmp/previousStatus - - // 1 if process is disabled - var/tmp/disabled = 0 - - /** - * Config vars - */ - - // Process schedule interval - // This controls how often the process would run under ideal conditions. - // If the process scheduler sees that the process has finished, it will wait until - // this amount of time has elapsed from the start of the previous run to start the - // process running again. - var/tmp/schedule_interval = PROCESS_DEFAULT_SCHEDULE_INTERVAL // run every 50 ticks - - // Process sleep interval - // This controls how often the process will yield (call sleep(0)) while it is running. - // Every concurrent process should sleep periodically while running in order to allow other - // processes to execute concurrently. - var/tmp/sleep_interval = PROCESS_DEFAULT_SLEEP_INTERVAL - - // Defer usage; the tick usage at which this process will defer until the next tick - var/tmp/defer_usage = PROCESS_DEFAULT_DEFER_USAGE - - // hang_warning_time - this is the time (in 1/10 seconds) after which the server will begin to show "maybe hung" in the context window - var/tmp/hang_warning_time = PROCESS_DEFAULT_HANG_WARNING_TIME - - // hang_alert_time - After this much time(in 1/10 seconds), the server will send an admin debug message saying the process may be hung - var/tmp/hang_alert_time = PROCESS_DEFAULT_HANG_ALERT_TIME - - // hang_restart_time - After this much time(in 1/10 seconds), the server will automatically kill and restart the process. - var/tmp/hang_restart_time = PROCESS_DEFAULT_HANG_RESTART_TIME - - // Number of deciseconds to delay before starting the process - var/start_delay = 0 - - /** - * recordkeeping vars - */ - - // Records the time (1/10s timeofgame) at which the process last began running - var/tmp/run_start = 0 - - // Records the number of times this process has been killed and restarted - var/tmp/times_killed - - // Tick count - var/tmp/ticks = 0 - - var/tmp/last_task = "" - - var/tmp/last_object - - // How many times in the current run has the process deferred work till the next tick? - var/tmp/cpu_defer_count = 0 - - // Counts the number of times an exception has occurred; gets reset after 10 - var/tmp/list/exceptions = list() - - // The next tick_usage the process will sleep at - var/tmp/next_sleep_usage - - // Last run duration, in seconds - var/tmp/last_run_time = 0 - - // Last 20 run durations - var/tmp/list/last_twenty_run_times = list() - - // Highest run duration, in seconds - var/tmp/highest_run_time = 0 - - // Tick usage at start of current run (updates upon deferring) - var/tmp/tick_usage_start - - // Accumulated tick usage from before each deferral - var/tmp/tick_usage_accumulated = 0 - -/datum/controller/process/New(var/datum/controller/processScheduler/scheduler) - ..() - main = scheduler - previousStatus = "idle" - idle() - name = "process" - run_start = 0 - ticks = 0 - last_task = 0 - last_object = null - -/datum/controller/process/Destroy() - ..() - return QDEL_HINT_HARDDEL_NOW - -/datum/controller/process/proc/started() - // Initialize run_start so we can detect hung processes. - run_start = TimeOfGame - - // Initialize defer count - cpu_defer_count = 0 - - // Prepare usage tracking (defer() updates these) - tick_usage_start = world.tick_usage - tick_usage_accumulated = 0 - - running() - main.processStarted(src) - - onStart() - -/datum/controller/process/proc/finished() - ticks++ - recordRunTime() - idle() - main.processFinished(src) - - onFinish() - -/datum/controller/process/proc/recordRunTime() - // Convert from tick usage (100/tick) to seconds of CPU time used - var/total_usage = (tick_usage_accumulated + (world.tick_usage - tick_usage_start)) / 1000 * world.tick_lag - - last_run_time = total_usage - if(total_usage > highest_run_time) - highest_run_time = total_usage - if(last_twenty_run_times.len == 20) - last_twenty_run_times.Cut(1, 2) - last_twenty_run_times += total_usage - -/datum/controller/process/proc/doWork() - -/datum/controller/process/proc/setup() - -/datum/controller/process/proc/process_decrepit() - started() - doWork() - finished() - -/datum/controller/process/proc/running() - idle = 0 - queued = 0 - running = 1 - hung = 0 - setStatus(PROCESS_STATUS_RUNNING) - -/datum/controller/process/proc/idle() - queued = 0 - running = 0 - idle = 1 - hung = 0 - setStatus(PROCESS_STATUS_IDLE) - -/datum/controller/process/proc/queued() - idle = 0 - running = 0 - queued = 1 - hung = 0 - setStatus(PROCESS_STATUS_QUEUED) - -/datum/controller/process/proc/hung() - hung = 1 - setStatus(PROCESS_STATUS_HUNG) - -/datum/controller/process/proc/handleHung() - var/datum/lastObj = last_object - var/lastObjType = "null" - if(istype(lastObj)) - lastObjType = lastObj.type - - var/msg = "[name] process hung at tick #[ticks]. Process was unresponsive for [(TimeOfGame - run_start) / 10] seconds and was restarted. Last task: [last_task]. Last Object Type: [lastObjType]" - log_debug(msg) - message_admins(msg) - log_runtime(EXCEPTION(msg), src) - - main.restartProcess(src.name) - -/datum/controller/process/proc/kill() - if(!killed) - var/msg = "[name] process was killed at tick #[ticks]." - log_debug(msg) - message_admins(msg) - log_runtime(EXCEPTION(msg), src) - //finished() - - // Allow inheritors to clean up if needed - onKill() - - qdel(src) - -// Do not call this directly - use SHECK -/datum/controller/process/proc/defer() - if(killed) - // The kill proc is the only place where killed is set. - // The kill proc should have deleted this datum, and all sleeping procs that are - // owned by it. - CRASH("A killed process is still running somehow...") - if(hung) - // This will only really help if the doWork proc ends up in an infinite loop. - handleHung() - CRASH("Process [name] hung and was restarted.") - - tick_usage_accumulated += (world.tick_usage - tick_usage_start) - if(world.tick_usage < defer_usage) - sleep(0) - else - sleep(world.tick_lag) - cpu_defer_count++ - tick_usage_start = world.tick_usage - next_sleep_usage = min(world.tick_usage + sleep_interval, defer_usage) - -/datum/controller/process/proc/update() - // Clear delta - if(previousStatus != status) - setStatus(status) - - var/elapsedTime = getElapsedTime() - - if(hung) - handleHung() - return - else if(elapsedTime > hang_restart_time) - hung() - else if(elapsedTime > hang_alert_time) - setStatus(PROCESS_STATUS_PROBABLY_HUNG) - else if(elapsedTime > hang_warning_time) - setStatus(PROCESS_STATUS_MAYBE_HUNG) - - -/datum/controller/process/proc/getElapsedTime() - return TimeOfGame - run_start - -/datum/controller/process/proc/tickDetail() - return - -/datum/controller/process/proc/getContext() - return "[name][getAverageRunTime()][last_run_time][highest_run_time][ticks]\n" - -/datum/controller/process/proc/getContextData() - return list( - "name" = name, - "averageRunTime" = getAverageRunTime(), - "lastRunTime" = last_run_time, - "highestRunTime" = highest_run_time, - "ticks" = ticks, - "schedule" = schedule_interval, - "status" = getStatusText(), - "disabled" = disabled - ) - -/datum/controller/process/proc/getStatus() - return status - -/datum/controller/process/proc/getStatusText(var/s = 0) - if(!s) - s = status - switch(s) - if(PROCESS_STATUS_IDLE) - return "idle" - if(PROCESS_STATUS_QUEUED) - return "queued" - if(PROCESS_STATUS_RUNNING) - return "running" - if(PROCESS_STATUS_MAYBE_HUNG) - return "maybe hung" - if(PROCESS_STATUS_PROBABLY_HUNG) - return "probably hung" - if(PROCESS_STATUS_HUNG) - return "HUNG" - else - return "UNKNOWN" - -/datum/controller/process/proc/getPreviousStatus() - return previousStatus - -/datum/controller/process/proc/getPreviousStatusText() - return getStatusText(previousStatus) - -/datum/controller/process/proc/setStatus(var/newStatus) - previousStatus = status - status = newStatus - -/datum/controller/process/proc/setLastTask(var/task, var/object) - last_task = task - last_object = object - -/datum/controller/process/proc/_copyStateFrom(var/datum/controller/process/target) - main = target.main - name = target.name - schedule_interval = target.schedule_interval - sleep_interval = target.sleep_interval - run_start = 0 - times_killed = target.times_killed - ticks = target.ticks - last_task = target.last_task - last_object = target.last_object - copyStateFrom(target) - -/datum/controller/process/proc/copyStateFrom(var/datum/controller/process/target) - -/datum/controller/process/proc/onKill() - -/datum/controller/process/proc/onStart() - -/datum/controller/process/proc/onFinish() - -/datum/controller/process/proc/disable() - disabled = 1 - -/datum/controller/process/proc/enable() - disabled = 0 - -/datum/controller/process/proc/getAverageRunTime() - var/t = 0 - var/c = 0 - for(var/time in last_twenty_run_times) - t += time - c++ - - if(c > 0) - return t / c - return c - -/datum/controller/process/proc/getLastRunTime() - return last_run_time - -/datum/controller/process/proc/getHighestRunTime() - return highest_run_time - -/datum/controller/process/proc/getTicks() - return ticks - -/datum/controller/process/proc/statProcess() - var/averageRunTime = round(getAverageRunTime(), 0.001) - var/lastRunTime = round(last_run_time, 0.001) - var/highestRunTime = round(highest_run_time, 0.001) - var/deferTime = round(cpu_defer_count / 10 * world.tick_lag, 0.01) - if(!statclick) - statclick = new /obj/effect/statclick/debug(src) - stat("[name]", statclick.update("T#[getTicks()] | AR [averageRunTime] | LR [lastRunTime] | HR [highestRunTime] | D [deferTime]")) - -/datum/controller/process/proc/catchException(var/exception/e, var/thrower) - if(istype(e)) // Real runtimes go to the real error handler - log_runtime(e, thrower, "Caught by process: [name]") - return - var/etext = "[e]" - var/eid = "[e]" // Exception ID, for tracking repeated exceptions - var/ptext = "" // "processing..." text, for what was being processed (if known) - if(istype(e)) - etext += " in [e.file], line [e.line]" - eid = "[e.file]:[e.line]" - if(eid in exceptions) - if(exceptions[eid]++ >= 10) - return - else - exceptions[eid] = 1 - if(istype(thrower, /datum)) - var/datum/D = thrower - ptext = " processing [D.type]" - if(istype(thrower, /atom)) - var/atom/A = thrower - ptext += " ([A]) ([A.x],[A.y],[A.z])" - log_world("\[[time_stamp()]\] Process [name] caught exception[ptext]: [etext]") - if(exceptions[eid] >= 10) - log_world("This exception will now be ignored for ten minutes.") - spawn(6000) - exceptions[eid] = 0 - -/datum/controller/process/proc/catchBadType(var/datum/caught) - if(isnull(caught) || !istype(caught) || QDELETED(caught)) - return // Only bother with types we can identify and that don't belong - catchException("Type [caught.type] does not belong in process' queue") - -// This is called to make a controller THE global authority on a global variable - like `air_master` -/datum/controller/process/proc/assertGlobality() - return - -// Called to let another instance of the controller have the fun -/datum/controller/process/proc/releaseGlobality() - return diff --git a/code/controllers/ProcessScheduler/core/processScheduler.dm b/code/controllers/ProcessScheduler/core/processScheduler.dm deleted file mode 100644 index 66d101d178e..00000000000 --- a/code/controllers/ProcessScheduler/core/processScheduler.dm +++ /dev/null @@ -1,238 +0,0 @@ -// Singleton instance of game_controller_new, setup in world.New() -var/global/datum/controller/processScheduler/processScheduler - -/datum/controller/processScheduler - // Processes known by the scheduler - var/tmp/datum/controller/process/list/processes = new - - // Processes that are currently running - var/tmp/datum/controller/process/list/running = new - - // Processes that are idle - var/tmp/datum/controller/process/list/idle = new - - // Processes that are queued to run - var/tmp/datum/controller/process/list/queued = new - - // Process name -> process object map - var/tmp/datum/controller/process/list/nameToProcessMap = new - - // Process last queued times (world time) - var/tmp/datum/controller/process/list/last_queued = new - - // How long to sleep between runs (set to tick_lag in New) - var/tmp/scheduler_sleep_interval - - // Controls whether the scheduler is running or not - var/tmp/isRunning = 0 - - // Setup for these processes will be deferred until all the other processes are set up. - var/tmp/list/deferredSetupList = new - -/datum/controller/processScheduler/New() - ..() - // When the process scheduler is first new'd, tick_lag may be wrong, so these - // get re-initialized when the process scheduler is started. - // (These are kept here for any processes that decide to process before round start) - scheduler_sleep_interval = world.tick_lag - -/datum/controller/processScheduler/Destroy() - ..() - return QDEL_HINT_HARDDEL_NOW - -/** - * deferSetupFor - * @param path processPath - * If a process needs to be initialized after everything else, add it to - * the deferred setup list. On goonstation, only the ticker needs to have - * this treatment. - */ -/datum/controller/processScheduler/proc/deferSetupFor(var/processPath) - if(!(processPath in deferredSetupList)) - deferredSetupList += processPath - -/datum/controller/processScheduler/proc/setup() - // There can be only one - if(processScheduler && (processScheduler != src)) - qdel(src) - return 0 - - var/process - // Add all the processes we can find, except for the ticker - for(process in subtypesof(/datum/controller/process)) - if(!(process in deferredSetupList)) - addProcess(new process(src)) - - for(process in deferredSetupList) - addProcess(new process(src)) - -/datum/controller/processScheduler/proc/start() - isRunning = 1 - // tick_lag will have been set by now, so re-initialize these - scheduler_sleep_interval = world.tick_lag - updateStartDelays() - spawn(0) - process_decrepit() - -/datum/controller/processScheduler/proc/process_decrepit() - while(isRunning) - checkRunningProcesses() - queueProcesses() - runQueuedProcesses() - sleep(scheduler_sleep_interval) - -/datum/controller/processScheduler/proc/stop() - isRunning = 0 - -/datum/controller/processScheduler/proc/checkRunningProcesses() - for(var/datum/controller/process/p in running) - p.update() - - if(isnull(p)) // Process was killed - continue - - var/status = p.getStatus() - var/previousStatus = p.getPreviousStatus() - - // Check status changes - if(status != previousStatus) - //Status changed. - switch(status) - if(PROCESS_STATUS_PROBABLY_HUNG) - message_admins("Process '[p.name]' may be hung.") - if(PROCESS_STATUS_HUNG) - message_admins("Process '[p.name]' is hung and will be restarted.") - -/datum/controller/processScheduler/proc/queueProcesses() - for(var/datum/controller/process/p in processes) - // Don't double-queue, don't queue running processes - if(p.disabled || p.running || p.queued || !p.idle) - continue - - // If the process should be running by now, go ahead and queue it - if(world.time >= last_queued[p] + p.schedule_interval) - setQueuedProcessState(p) - -/datum/controller/processScheduler/proc/runQueuedProcesses() - for(var/datum/controller/process/p in queued) - runProcess(p) - -/datum/controller/processScheduler/proc/addProcess(var/datum/controller/process/process) - processes.Add(process) - process.idle() - idle.Add(process) - - process.assertGlobality() - // Set up process - process.setup() - - // Save process in the name -> process map - nameToProcessMap[process.name] = process - -/datum/controller/processScheduler/proc/replaceProcess(var/datum/controller/process/oldProcess, var/datum/controller/process/newProcess) - processes.Remove(oldProcess) - processes.Add(newProcess) - - oldProcess.releaseGlobality() - newProcess.assertGlobality() - newProcess.idle() - idle.Remove(oldProcess) - running.Remove(oldProcess) - queued.Remove(oldProcess) - idle.Add(newProcess) - - newProcess.last_run_time = oldProcess.last_run_time - newProcess.last_twenty_run_times = oldProcess.last_twenty_run_times - newProcess.highest_run_time = oldProcess.highest_run_time - - nameToProcessMap[newProcess.name] = newProcess - -/datum/controller/processScheduler/proc/updateStartDelays() - for(var/datum/controller/process/p in processes) - if(p.start_delay) - last_queued[p] = world.time - p.start_delay - -/datum/controller/processScheduler/proc/runProcess(var/datum/controller/process/process) - spawn(0) - process.process_decrepit() - -/datum/controller/processScheduler/proc/processStarted(var/datum/controller/process/process) - setRunningProcessState(process) - last_queued[process] = world.time - -/datum/controller/processScheduler/proc/processFinished(var/datum/controller/process/process) - setIdleProcessState(process) - -/datum/controller/processScheduler/proc/setIdleProcessState(var/datum/controller/process/process) - if(process in running) - running -= process - if(process in queued) - queued -= process - if(!(process in idle)) - idle += process - -/datum/controller/processScheduler/proc/setQueuedProcessState(var/datum/controller/process/process) - if(process in running) - running -= process - if(process in idle) - idle -= process - if(!(process in queued)) - queued += process - - // The other state transitions are handled internally by the process. - process.queued() - -/datum/controller/processScheduler/proc/setRunningProcessState(var/datum/controller/process/process) - if(process in queued) - queued -= process - if(process in idle) - idle -= process - if(!(process in running)) - running += process - -/datum/controller/processScheduler/proc/getStatusData() - var/list/data = new - - for(var/datum/controller/process/p in processes) - data.len++ - data[data.len] = p.getContextData() - - return data - -/datum/controller/processScheduler/proc/getProcessCount() - return processes.len - -/datum/controller/processScheduler/proc/hasProcess(var/processName as text) - if(nameToProcessMap[processName]) - return 1 - -/datum/controller/processScheduler/proc/killProcess(var/processName as text) - restartProcess(processName) - -/datum/controller/processScheduler/proc/restartProcess(var/processName as text) - if(hasProcess(processName)) - var/datum/controller/process/oldInstance = nameToProcessMap[processName] - var/datum/controller/process/newInstance = new oldInstance.type(src) - newInstance._copyStateFrom(oldInstance) - replaceProcess(oldInstance, newInstance) - oldInstance.kill() - -/datum/controller/processScheduler/proc/enableProcess(var/processName as text) - if(hasProcess(processName)) - var/datum/controller/process/process = nameToProcessMap[processName] - process.enable() - -/datum/controller/processScheduler/proc/disableProcess(var/processName as text) - if(hasProcess(processName)) - var/datum/controller/process/process = nameToProcessMap[processName] - process.disable() - -/datum/controller/processScheduler/proc/statProcesses() - if(!isRunning) - stat("Processes", "Scheduler not running") - return - if(!statclick) - statclick = new /obj/effect/statclick/debug(src) - stat("Processes", statclick.update("[processes.len] (R [running.len] / Q [queued.len] / I [idle.len])")) - for(var/datum/controller/process/p in processes) - p.statProcess() diff --git a/code/controllers/ProcessScheduler/package.json b/code/controllers/ProcessScheduler/package.json deleted file mode 100644 index f699553fc61..00000000000 --- a/code/controllers/ProcessScheduler/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "ProcessScheduler", - "version": "1.0.0", - "description": "BYOND SS13 Process Scheduler", - "main": "processScheduler.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/goonstation/ProcessScheduler.git" - }, - "keywords": [ - "byond", - "ss13", - "process", - "scheduler" - ], - "author": "Volundr", - "license": "CC-BY-NC", - "bugs": { - "url": "https://github.com/goonstation/ProcessScheduler/issues" - }, - "homepage": "https://github.com/goonstation/ProcessScheduler", - "dependencies": { - "bower": "*" - } -} diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index b452e10adbd..5792aff1725 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -64,12 +64,19 @@ var/automute_on = 0 //enables automuting/spam prevention var/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access. var/round_abandon_penalty_period = 30 MINUTES // Time from round start during which ghosting out is penalized + var/medal_hub_address = null + var/medal_hub_password = null var/reactionary_explosions = 0 //If we use reactionary explosions, explosions that react to walls and doors var/assistantlimit = 0 //enables assistant limiting var/assistantratio = 2 //how many assistants to security members + // The AFK subsystem will not be activated if any of the below config values are equal or less than 0 + var/warn_afk_minimum = 0 // How long till you get a warning while being AFK + var/auto_cryo_afk = 0 // How long till you get put into cryo when you're AFK + var/auto_despawn_afk = 0 // How long till you actually despawn in cryo when you're AFK (Not ssd so not automatic) + var/auto_cryo_ssd_mins = 0 var/ssd_warning = 0 @@ -127,6 +134,18 @@ var/slime_delay = 0 var/animal_delay = 0 + //IP Intel vars + var/ipintel_email + var/ipintel_rating_bad = 1 + var/ipintel_save_good = 12 + var/ipintel_save_bad = 1 + var/ipintel_domain = "check.getipintel.net" + var/ipintel_maxplaytime = 0 + var/ipintel_whitelist = 0 + var/ipintel_detailsurl = "https://iphub.info/?ip=" + + var/forum_link_url + var/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt var/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt var/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database @@ -221,6 +240,9 @@ //Start now warning var/start_now_confirmation = 0 + // Lavaland + var/lavaland_budget = 60 + /datum/configuration/New() for(var/T in subtypesof(/datum/game_mode)) var/datum/game_mode/M = T @@ -297,12 +319,39 @@ if("shadowling_max_age") config.shadowling_max_age = text2num(value) + if("warn_afk_minimum") + config.warn_afk_minimum = text2num(value) + if("auto_cryo_afk") + config.auto_cryo_afk = text2num(value) + if("auto_despawn_afk") + config.auto_despawn_afk = text2num(value) + if("auto_cryo_ssd_mins") config.auto_cryo_ssd_mins = text2num(value) - if("ssd_warning") config.ssd_warning = 1 + if("ipintel_email") + if(value != "ch@nge.me") + config.ipintel_email = value + if("ipintel_rating_bad") + config.ipintel_rating_bad = text2num(value) + if("ipintel_domain") + config.ipintel_domain = value + if("ipintel_save_good") + config.ipintel_save_good = text2num(value) + if("ipintel_save_bad") + config.ipintel_save_bad = text2num(value) + if("ipintel_maxplaytime") + config.ipintel_maxplaytime = text2num(value) + if("ipintel_whitelist") + config.ipintel_whitelist = 1 + if("ipintel_detailsurl") + config.ipintel_detailsurl = value + + if("forum_link_url") + config.forum_link_url = value + if("log_ooc") config.log_ooc = 1 @@ -316,7 +365,7 @@ config.log_admin = 1 if("log_debug") - config.log_debug = text2num(value) + config.log_debug = 1 if("log_game") config.log_game = 1 @@ -641,10 +690,10 @@ config.round_abandon_penalty_period = MinutesToTicks(text2num(value)) if("medal_hub_address") - global.medal_hub = value + config.medal_hub_address = value if("medal_hub_password") - global.medal_pass = value + config.medal_hub_password = value if("disable_ooc_emoji") config.disable_ooc_emoji = 1 @@ -735,6 +784,8 @@ config.randomize_shift_time = TRUE if("enable_night_shifts") config.enable_night_shifts = TRUE + if("lavaland_budget") + config.lavaland_budget = text2num(value) else log_config("Unknown setting in configuration: '[name]'") diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 1d597f5e742..8b0f0b1987e 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -1,5 +1,10 @@ -GLOBAL_REAL(Failsafe, /datum/controller/failsafe) + /** + * Failsafe + * + * Pretty much pokes the MC to make sure it's still alive. + **/ +GLOBAL_REAL(Failsafe, /datum/controller/failsafe) /datum/controller/failsafe // This thing pretty much just keeps poking the master controller name = "Failsafe" @@ -92,6 +97,6 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) /datum/controller/failsafe/stat_entry() if(!statclick) - statclick = new/obj/effect/statclick/debug(src, "Initializing...") + statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) stat("Failsafe Controller:", statclick.update("Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])")) diff --git a/code/controllers/globals.dm b/code/controllers/globals.dm index 62b83100fb4..543f0aed4b2 100644 --- a/code/controllers/globals.dm +++ b/code/controllers/globals.dm @@ -22,19 +22,19 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars) stack_trace("Some fucker qdel'd the global holder!") if(!force) return QDEL_HINT_LETMELIVE - + QDEL_NULL(statclick) gvars_datum_protected_varlist.Cut() gvars_datum_in_built_vars.Cut() - + GLOB = null return ..() /datum/controller/global_vars/stat_entry() if(!statclick) - statclick = new/obj/effect/statclick/debug(src, "Initializing...") - + statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) + stat("Globals:", statclick.update("Edit")) /datum/controller/global_vars/can_vv_get(var_name) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index fa2465854f3..10c6b42a369 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -203,12 +203,14 @@ GLOBAL_REAL(Master, /datum/controller/master) = new // Sort subsystems by display setting for easy access. sortTim(subsystems, /proc/cmp_subsystem_display) // Set world options. - if(sleep_offline_after_initializations) - world.sleep_offline = TRUE // world.fps = CONFIG_GET(number/fps) // TIGER TODO world.tick_lag = config.Ticklag var/initialized_tod = REALTIMEOFDAY + + if(sleep_offline_after_initializations) + world.sleep_offline = TRUE sleep(1) + initializations_finished_with_no_players_logged_in = initialized_tod < REALTIMEOFDAY - 10 // Loop. Master.StartProcessing(0) @@ -249,7 +251,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //all this shit is here so that flag edits can be refreshed by restarting the MC. (and for speed) var/list/tickersubsystems = list() - var/list/runlevel_sorted_subsystems = list(list(), list(), list(), list(), list(), list(), list(), list()) //ensure we always have as many runlevels as we need to operate with no subsystems (8 currently) + var/list/runlevel_sorted_subsystems = list(list()) //ensure we always have at least one runlevel var/timer = world.time for(var/thing in subsystems) var/datum/controller/subsystem/SS = thing @@ -470,7 +472,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new else tick_precentage = tick_remaining - tick_precentage = max(tick_precentage*0.5, tick_precentage - queue_node.tick_overrun) + tick_precentage = max(tick_precentage * 0.5, tick_precentage - queue_node.tick_overrun) current_ticklimit = round(TICK_USAGE + tick_precentage) @@ -584,10 +586,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new /datum/controller/master/stat_entry() if(!statclick) - statclick = new/obj/effect/statclick/debug(src, "Initializing...") + statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - stat("Byond", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))") - stat("Master Controller", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")) + stat("Byond:", "(FPS:[world.fps]) (TickCount:[world.time / world.tick_lag]) (TickDrift:[round(Master.tickdrift, 1)]([round((Master.tickdrift / (world.time / world.tick_lag)) * 100, 0.1)]%))") + stat("Master Controller:", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")) // Currently unimplemented /datum/controller/master/StartLoadingMap() @@ -613,4 +615,4 @@ GLOBAL_REAL(Master, /datum/controller/master) = new if(client_count < config.disable_high_pop_mc_mode_amount) processing = config.base_mc_tick_rate else if(client_count > config.high_pop_mc_mode_amount) - processing = config.high_pop_mc_tick_rate + processing = config.high_pop_mc_tick_rate \ No newline at end of file diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index b2b0e63d99b..7ba1b68d4a6 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -63,7 +63,7 @@ //Sleeping in here prevents future fires until returned. /datum/controller/subsystem/proc/fire(resumed = 0) 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.") + CRASH("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() @@ -168,7 +168,9 @@ //hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc. /datum/controller/subsystem/stat_entry(msg) if(!statclick) - statclick = new/obj/effect/statclick/debug(src, "Initializing...") + statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) + + if(can_fire && !(SS_NO_FIRE & flags)) msg = "[round(cost, 1)]ms | [round(tick_usage, 1)]%([round(tick_overrun, 1)]%) | [round(ticks, 0.1)]\t[msg]" @@ -212,4 +214,4 @@ next_fire = world.time + wait if("queued_priority") //editing this breaks things. return 0 - . = ..() + . = ..() \ No newline at end of file diff --git a/code/controllers/subsystem/afk.dm b/code/controllers/subsystem/afk.dm new file mode 100644 index 00000000000..9f409fd35b4 --- /dev/null +++ b/code/controllers/subsystem/afk.dm @@ -0,0 +1,81 @@ +#define AFK_WARNED 1 +#define AFK_CRYOD 2 + +SUBSYSTEM_DEF(afk) + name = "AFK Watcher" + wait = 300 + flags = SS_BACKGROUND + var/list/afk_players = list() // Associative list. ckey as key and AFK state as value + + +/datum/controller/subsystem/afk/Initialize() + if(config.warn_afk_minimum <= 0 || config.auto_cryo_afk <= 0 || config.auto_despawn_afk <= 0) + flags |= SS_NO_FIRE + +/datum/controller/subsystem/afk/fire() + var/list/toRemove = list() + for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + if(!H.ckey) // Useless non ckey creatures + continue + + var/turf/T + // Only players and players with the AFK watch enabled + // No dead, unconcious, restrained, people without jobs, people on other Z levels than the station or antags + if(!H.client || !H.client.prefs.afk_watch || !H.mind || \ + H.stat || H.restrained() || !H.job || H.mind.special_role || \ + !is_station_level((T = get_turf(H)).z)) // Assign the turf as last. Small optimization + if(afk_players[H.ckey]) + toRemove += H.ckey + continue + + var/mins_afk = round(H.client.inactivity / 600) + if(mins_afk < config.warn_afk_minimum) + if(afk_players[H.ckey]) + toRemove += H.ckey + continue + + if(!afk_players[H.ckey]) + afk_players[H.ckey] = AFK_WARNED + warn(H, "You are AFK for [mins_afk] minutes. You will be cryod after [config.auto_cryo_afk] total minutes and fully despawned after [config.auto_despawn_afk] total minutes. Please move or click in game if you want to avoid being despawned.") + else + var/area/A = T.loc // Turfs loc is the area + if(afk_players[H.ckey] == AFK_WARNED) + if(mins_afk >= config.auto_cryo_afk && A.can_get_auto_cryod) + if(A.fast_despawn) + toRemove += H.ckey + warn(H, "You are have been despawned after being AFK for [mins_afk] minutes. You have been despawned instantly due to you being in a secure area.") + msg_admins(H, mins_afk, T, "forcefully despawned", "AFK in a fast despawn area") + force_cryo_human(H) + else if(cryo_ssd(H)) + afk_players[H.ckey] = AFK_CRYOD + msg_admins(H, mins_afk, T, "put into cryostorage") + warn(H, "You are AFK for [mins_afk] minutes and have been moved to cryostorage. After being AFK for [config.auto_despawn_afk] total minutes you will be fully despawned. Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned.") + + else if(mins_afk >= config.auto_despawn_afk) + var/obj/machinery/cryopod/P = H.loc + msg_admins(H, mins_afk, T, "forcefully despawned") + warn(H, "You are have been despawned after being AFK for [mins_afk] minutes.") + toRemove += H.ckey + P.despawn_occupant() + + removeFromWatchList(toRemove) + +/datum/controller/subsystem/afk/proc/warn(mob/living/carbon/human/H, text) + to_chat(H, text) + SEND_SOUND(H, 'sound/effects/adminhelp.ogg') + if(H.client) + window_flash(H.client) + +/datum/controller/subsystem/afk/proc/msg_admins(mob/living/carbon/human/H, mins_afk, turf/location, action, info) + log_admin("[key_name(H)] has been [action] by the AFK Watcher subsystem after being AFK for [mins_afk] minutes.[info ? " Extra info:" + info : ""]") + message_admins("[key_name_admin(H)] at ([get_area(location).name] [ADMIN_JMP(location)]) has been [action] by the AFK Watcher subsystem after being AFK for [mins_afk] minutes.[info ? " Extra info:" + info : ""]") + +/datum/controller/subsystem/afk/proc/removeFromWatchList(list/toRemove) + for(var/C in toRemove) + for(var/i in 1 to afk_players.len) + if(afk_players[i] == C) + afk_players.Cut(i, i + 1) + break + +#undef AFK_WARNED +#undef AFK_CRYOD \ No newline at end of file diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm new file mode 100644 index 00000000000..f379deec72b --- /dev/null +++ b/code/controllers/subsystem/input.dm @@ -0,0 +1,122 @@ +SUBSYSTEM_DEF(input) + name = "Input" + wait = 1 //SS_TICKER means this runs every tick + init_order = INIT_ORDER_INPUT + flags = SS_TICKER + priority = FIRE_PRIORITY_INPUT + runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY + + var/list/macro_sets + var/list/movement_keys + var/list/alt_movement_keys + +/datum/controller/subsystem/input/Initialize() + setup_default_macro_sets() + + setup_default_movement_keys() + + initialized = TRUE + + refresh_client_macro_sets() + + return ..() + +// This is for when macro sets are eventualy datumized +/datum/controller/subsystem/input/proc/setup_default_macro_sets() + var/list/static/default_macro_sets + + if(default_macro_sets) + macro_sets = default_macro_sets + return + + default_macro_sets = list( + "default" = list( + "Tab" = "\".winset \\\"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"", + "O" = "ooc", + "T" = ".say", + "M" = ".me", + "Back" = "\".winset \\\"input.focus=true input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs + "Any" = "\"KeyDown \[\[*\]\]\"", + "Any+UP" = "\"KeyUp \[\[*\]\]\"", + ), + "old_default" = list( + "Tab" = "\".winset \\\"mainwindow.macro=old_hotkeys map.focus=true input.background-color=[COLOR_INPUT_DISABLED]\\\"\"", + "Ctrl+T" = ".say", + "Ctrl+O" = "ooc", + ), + "old_hotkeys" = list( + "Tab" = "\".winset \\\"mainwindow.macro=old_default input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"", + "O" = "ooc", + "T" = ".say", + "M" = ".me", + "Back" = "\".winset \\\"input.focus=true input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs + "Any" = "\"KeyDown \[\[*\]\]\"", + "Any+UP" = "\"KeyUp \[\[*\]\]\"", + ), + ) + + // Because i'm lazy and don't want to type all these out twice + var/list/old_default = default_macro_sets["old_default"] + + var/list/static/oldmode_keys = list( + "North", "East", "South", "West", + "Northeast", "Southeast", "Northwest", "Southwest", + "Insert", "Delete", "Ctrl", "Alt", + "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", + ) + + for(var/i in 1 to oldmode_keys.len) + var/key = oldmode_keys[i] + old_default[key] = "\"KeyDown [key]\"" + old_default["[key]+UP"] = "\"KeyUp [key]\"" + + var/list/static/oldmode_ctrl_override_keys = list( + "W" = "W", "A" = "A", "S" = "S", "D" = "D", // movement + "1" = "1", "2" = "2", "3" = "3", "4" = "4", // intent + "B" = "B", // resist + "E" = "E", // quick equip + "F" = "F", // intent left + "G" = "G", // intent right + "H" = "H", // stop pulling + "Q" = "Q", // drop + "R" = "R", // throw + "X" = "X", // switch hands + "Y" = "Y", // activate item + "Z" = "Z", // activate item + ) + + for(var/i in 1 to oldmode_ctrl_override_keys.len) + var/key = oldmode_ctrl_override_keys[i] + var/override = oldmode_ctrl_override_keys[key] + old_default["Ctrl+[key]"] = "\"KeyDown [override]\"" + old_default["Ctrl+[key]+UP"] = "\"KeyUp [override]\"" + + macro_sets = default_macro_sets + +// For initially setting up or resetting to default the movement keys +/datum/controller/subsystem/input/proc/setup_default_movement_keys() + var/static/list/default_movement_keys = list( + "W" = NORTH, "A" = WEST, "S" = SOUTH, "D" = EAST, // WASD + "North" = NORTH, "West" = WEST, "South" = SOUTH, "East" = EAST, // Arrow keys & Numpad + ) + var/static/list/azerty_movement_keys = list( + "Z" = NORTH, "Q" = WEST, "S" = SOUTH, "D" = EAST, // WASD + "North" = NORTH, "West" = WEST, "South" = SOUTH, "East" = EAST, // Arrow keys & Numpad + ) + movement_keys = default_movement_keys.Copy() + alt_movement_keys = azerty_movement_keys.Copy() + +// Badmins just wanna have fun ♪ +/datum/controller/subsystem/input/proc/refresh_client_macro_sets() + var/list/clients = GLOB.clients + for(var/i in 1 to clients.len) + var/client/user = clients[i] + user.set_macros() + +/datum/controller/subsystem/input/fire() + var/list/clients = GLOB.clients // Let's sing the list cache song + if(listclearnulls(clients)) // clear nulls before we run keyloop + log_world("Found a null in clients list!") + for(var/i in 1 to clients.len) + var/client/C = clients[i] + C.keyLoop() diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm new file mode 100644 index 00000000000..92f02a404a1 --- /dev/null +++ b/code/controllers/subsystem/ipintel.dm @@ -0,0 +1,15 @@ +SUBSYSTEM_DEF(ipintel) + name = "XKeyScore" + wait = 1 + flags = SS_NO_FIRE + init_order = INIT_ORDER_XKEYSCORE // 10 + var/enabled = 0 //disable at round start to avoid checking reconnects + var/throttle = 0 + var/errors = 0 + + var/list/cache = list() + +/datum/controller/subsystem/ipintel/Initialize(timeofday, zlevel) + enabled = 1 + . = ..() + diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 6a603bd7235..166083b36ff 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -25,9 +25,9 @@ SUBSYSTEM_DEF(jobs) // Only fires every 5 minutes /datum/controller/subsystem/jobs/fire() if(!config.sql_enabled || !config.use_exp_tracking) - return + return update_exp(5,0) - + /datum/controller/subsystem/jobs/proc/SetupOccupations(var/list/faction = list("Station")) occupations = list() var/list/all_jobs = subtypesof(/datum/job) @@ -284,7 +284,7 @@ SUBSYSTEM_DEF(jobs) //Get the players who are ready for(var/mob/new_player/player in GLOB.player_list) - if(player.ready && player.mind && !player.mind.assigned_role) + if(player.ready && player.has_valid_preferences() && player.mind && !player.mind.assigned_role) unassigned += player if(player.client.prefs.randomslot) player.client.prefs.load_random_character_slot(player.client) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index d08fba5ff4f..b45ef833b9f 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -13,7 +13,7 @@ SUBSYSTEM_DEF(mapping) if(!config.disable_space_ruins) var/timer = start_watch() log_startup_progress("Creating random space levels...") - seedRuins(level_name_to_num(EMPTY_AREA), rand(0, 3), /area/space, space_ruins_templates) + seedRuins(list(level_name_to_num(EMPTY_AREA)), rand(0, 3), /area/space, space_ruins_templates) log_startup_progress("Loaded random space levels in [stop_watch(timer)]s.") // load in extra levels of space ruins @@ -21,13 +21,21 @@ SUBSYSTEM_DEF(mapping) var/num_extra_space = rand(config.extra_space_ruin_levels_min, config.extra_space_ruin_levels_max) for(var/i = 1, i <= num_extra_space, i++) var/zlev = space_manager.add_new_zlevel("[EMPTY_AREA] #[i]", linkage = CROSSLINKED) - seedRuins(zlev, rand(0, 3), /area/space, space_ruins_templates) + seedRuins(list(zlev), rand(0, 3), /area/space, space_ruins_templates) // Setup the Z-level linkage space_manager.do_transition_setup() - // Populate mining Z-level hidden rooms - for(var/i=0, i